CORS: Müzik Öneri Sistemi Gülfem Demir, Tuğba Kaya, Çağatay Öğüt, Ali Can Sağ Orta Doğu Teknik Üniversitesi, Ankara, Türkiye Neden öneri dizgelerine ihtiyaç duyuyoruz? • Yeni şeyler keşfetme ihtiyacını karşılamak için • İnternet üzerinden ücretsiz olarak ulaşılabilir durumda olan 15 milyon şarkının arasında kaybolmamak için • Rehberler ve öneriler müziğe farklı yollardan ulaşabilmek için eşsiz kaynaklar olduğu için Neden CORS? • Çünkü CORS’un kullandığı çizge veritabanı veriyi, klasik SQL sorgularından daha hızlı gezebilir. • Çünkü CORS iki ana öneri sistemi methodunu birleştirip melez bir sistem oluşturmaktadır. Ortak tercihlere dayalı filtreleme yöntemini, içeriğe dayalı filtreleme yöntemiyle birleştirmektedir. • Çünkü CORS büyük veriler kullanılarak geliştirilmiştir. (~300GB) Giris Digital olarak içerik paylaşımı yükseldikçe, müzik koleksiyonlarına erişim imkanları da bir anda yükselmiştir. 1 milyon şarkıyı dinlemek, hiç durmadan dinlenerek, yedi yıldan fazla sürecektir. Diğer bir yandan, ticari müzik kütüphanelerinin içeriği 15 milyonu geçmiş haldedir. Bu da bir insanın dinleyebileceği şarkı miktarının çok üstündedir. Dinlenebilir müziklerin çeşitliliğiyle başa çıkmak ve insanlara müzik içeriği aramak ve bulmak için, akademik olarak araştırmalar başlamıştır. Böylece hesaplamalara dayalı öneri sistemleri ortaya çıkmıştır. Bu sistemler, insanlara görüşlerini paylaşma ve birbirlerinin deneyimlerinden faydalanma imkanı sunmaktadır. 2. Methodlar Öneri sistemlerinin çoğu, kullanıcılar arasındaki ortak seçimlere ya da veritabanındaki elemanların içerik olarak ortak yönlerine dayalı methodlardan birini kullanır. Bu yöntemler Figür 2’de karşılaştırılmaktadır. Temel olarak, ortak tercihlere dayalı filtreleme sistemi önerilerini, kullanıcıların tercihlerinin ortaklığına göre yapmaktadır. İçeriğe dayalı filtreleme sistemi ise, kullanıcının geçmişte hoşlandığı parçalara benzer hoşlanabileceği parçaları bulmaya çalışır. Bizim projemizde, iki method verimi arttırmak için beraber kullanılarak melez bir öneri sistemi ortaya çıkarılmıştır. Figür 1. Öneri Akış Modeli 1. Veri seti The Million Song Dataset Challenge (1 Milyon Şarkı Yarışması), geniş ölçekli şarkı öneri sistemi yarışmasıdır ve kullanıcıların dinleme geçmisine dayanarak, dinleyeceği şarkıları tahmin etmeyi amaçlamaktadır. Yarışma, ücretsiz kullanılabilir “1 Milyon Şarkı Verisi” kullanılarak düzenlenmiştir. CORS projesinde de kullanılan bu veri bir milyon şarkı için; şarkı isimleri, şarkıcılar, yayınlanma tarihi, ses özellikleri gibi daha birçok bilgiden oluşmaktadır. Bu veri birçok grup tarafından desteklenmiştir. Örnek vermek gerekirse, MusiXmatch şarkı sözlerini ve Taste Profile Subset kullanıcı bilgilerini temin etmiştir. Figür 2. Öneri Sistemi Methodları Karşılaştırması CORS 1. Tasarım ve Uygulama CORS bir şarkı öneri sistemidir. Kullanıcılara, şarkıları dinleme geçmişlerine göre gerçek zamanlı şarkı önerisi yapmaktadır. Anlık öneride bulunabilmek için CORS sorgu zamanını önemli ölçüde azaltan çizge veritabanını kullanmaktadır. Ayrıca, daha iyi öneriler için, CORS ortak tercihlere dayalı ve içereiğe dayalı filtreleme sistemlerini melez bir şekilde kullanmaktadır. 3. Değerlendirme Veri seti: Değerlendirmeler için iki farklı veri kullanılmıştır. Bunlar eğitim verisi ve test verisidir. Eğitim verisi, öneri üretmek için kullanılmıştır. Sistemin doğruluğunu ölçmek için kullanılan test verisi ise MSDC tarafından sağlanmıştır. Bu iki veri hakkındaki istatistikler Figür 4’te yer almaktadır. Figür 4. Veri setleri Figür 3. Neo4j Çizge Veritabanı Yapısı[3] 2. Benzerlik Metrikleri Ortak tercihlere dayalı filtreleme sistemi kullanıcılarla parçaların arasındaki benzerliği kullanmaktadır. Kosinüs benzerliği alanda kullanılan birçok benzerlik ölçütünden birisidir. Aşağıdaki formullerde a değeri 0.5’e eşitken simetrik bir sonuç elde edilir. Fakat, biz daha çok bir kullacının bir parçadan hoşlandığını bildiğimiz zaman diğer bir parçadan da hoşlanma ihtimalini ölçmek istiyoruz ve bu değer simetrik değildir. Bu yüzden kullandığımız formülde a değeri 0.5’e eşit değildir. Değerlendirme metrikleri: Yarışmada her kullanıcı için 500 şarkı önerilmesi istenilmiştir. Yarışmada, öneri sonuçlarını değerlendirmek için Ortalama Hassasiyet Ölçütü (Mean Average Precision) kullanılmıştır. Aynı yöntem yarışmadaki finalistlerle de sonuçlarımızı karşılaştırmak için CORS’ta da değerlendirme amaçlı kullanılmıştır. MAP bütün kullanıcıların ortalama hassasiyetidir. Bu methoda göre, eğer biz 1000 kullanıcıya sahipsek, her kullanıcının ortalama hassasiyetini toplayıp, 1000’e bölmeliyiz. Sıralamanın da MAP’te önem taşıdığını belirtmeliyiz. Bu yüzden kesin olan önerileri öncelikli göstermek mantıklı olacaktır. Sonuçlar: Öneri üretmek için kullanılan üç kullanılmıştır. yöntem de değerlendirmede U(i): U kullanıcısı tarafından dinlenen şarkılar, I(u): U şarkısını dinleyen kullanıcılar kümesi, a: 0 ve 1 arasında değişen parametrizasyon katsayısı Alternatif bir yol olarak, yukarıdaki formüllere parametrik değer ekleme yöntemi kullanılmıştır. Denemelerden sonra, a değerinin, kullanıcı bazlı önerilerde 0.3, şarkı bazlı önerilerde 0.15 olarak kullanılmasına karar verilmiştir. Tesekkür Danışmanlarımız Dilek Onal, Prof. Dr. Ismail Hakki Toroslu ve Prof. Dr. Veysi Isler’e projeye desteklerinden ötürü teşekkürü borç biliriz. Figür 5. MAP Değerlendirme Sonuçları Referanslar 1. Aiolli F. A Preliminary Study on a Recommender System for the Million Songs Dataset Challenge 2. McFee B., Ellis D. P.W., Bertin-Mahieux T., Lanckriet Gert R.G., The Million Song Dataset Challenge 3. http://neo4j.com/blog/musicbrainz-in-neo4j-part-1/