CORS: Müzik Öneri Sistemi

Yorumlar

Transkript

CORS: Müzik Öneri Sistemi
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/