Spotify, Pazartesilerin Mutluluk Kaynağı Haftalık Keşif Listelerini Nasıl Hazırlıyor? - Ekşi Şeyler
MÜZİK 25 Nisan 2017
57,1b OKUNMA 487 PAYLAŞIM
recommendation system (öneri sistemi) denilen ve yıllardır üzerinde türlü algoritmalar geliştirilerek çalışılan, sürekli iyileştirilmeye çabalanan bir alan var. öneri sistemlerindeki temel amaç, eldeki verileri kullanarak işe yarar çıkarımlar yapmak ve elde edilen bu çıkarımlar üzerinden tahminde bulunarak bu tahminleri "bunu da beğenebilirsiniz" diye kullanıcılara önermek.
spotify'ın haftalık keşif listesi de bir öneri sisteminin ürünü. sizin spotify'da ne tarz müzik dinlediğiniz gibi verileriniz bu öneri sisteminin sizi tanımasını sağlıyor. sizi tanıdıktan sonra aşağıda bahsettiğim bir takım algoritmalar sayesinde sizin beğenebileceğiniz şarkılar tahmin ediliyor. spotify'da 2008 - 2015 yılları arasında çalışmış olan erik bernhardsson, başarılı öneriler sağlamanın en iyi yolunun collaborative filtering metodu olduğunu düşünüyor. bunun üzerine koyarak önerileri mükemmelleştirmenin yolunun da deep learning'ten geçtiğini söylüyor. deep learning oldukça kapsamlı, ucu bucağı olmayan ve benim de kendimi uzman olarak görmem için kırk fırın ekmek yemem gereken bir konu ama collaborative filtering metodunu özetleyeyim.
collaborative filtering'de temel olarak 2 ana yöntem vardır.
ilkinde (user based cf) yapılan şudur; sizinle benzer zevklere sahip kişiler bulunur (kaydettiğiniz, dinlediğiniz veya çalma listenize eklediğiniz şarkıların aynılarını kayıt etmiş, dinlemiş veya çalma listesine eklemiş başka kişiler), o kişilerin dinleyip de beğendikleri fakat sizin spotify üzerinden daha önce dinlemediğiniz parçalar bulunur, bu kişilerle benzer zevklere sahip olduğunuz için bu parçaları sizin de beğenebileceğiniz çıkarımı yapılır, bir sonraki adımda da bu parçalar size haftalık keşif listesinde önerilir. aynı şekilde bir başkasının keşif listesi oluşturulurken de eğer siz o kişiyle benzer zevke sahipseniz spotify sizin dinlediğiniz ama o kişinin dinlemediği parçayı o kişiye önerir. bu tabi ki tek kişi üzerinden yapılmaz. binlerce kişilik benzerlik havuzları oluşturulur. bu havuza dahil olan kişilerin, elde edilecek sonuca olan etkilerini belirleyen ağırlıklandırmaları vardır.
sizinle benzer zevke sahip kişiler üzerinden öneri yapılması dışında bir de birbirine benzer şarkılar üzerinden öneriler yapılır.
yani collaborative filtering'deki ikinci yöntem (item based cf). şarkıların birbirine benzeyip benzemediğini bilgisayar yine kullanıcıların aksiyonları sayesinde öğrenir. örneğin a grubunun x isimli şarkısı yine a grubunun y isimli şarkısına benziyordur, bilgisayar bunu daha önceden öğrenmiştir. eğer siz a grubunu yeni öğrenen biriyseniz ve sadece x isimli şarkısını dinliyorsaniz bir sonraki hafta keşif listenizde muhtemelen a grubunun y isimli şarkısını da göreceksiniz. eminim bir çok kişinin karşılaştığı bir durumdur. veya çok sevdiğiniz ve sürekli dinlediğiniz bir şarkı vardır, size o şarkının başka bir grup tarafından yapılmış cover'ı da önerilir. bu da eminim sıkça karşılaştığınız bir durumdur.
çok detaylı olmadı ama genel olarak fikir vermesi için yazdım zaten. özetle benzer zevke sahip kişiler ve birbirine benzer şarkılar üzerinden dönüyor iş. o yüzden "ama ben hep tame impala dinlediğim halde bana sürekli alişan öneriliyor" şeklindeki şikayetlerin müsebbibi spotify değil, sizin gibi tame impala dinleyen ama aynı zamanda iflah olmaz bir alişan fanı olan kişi yüzünden geliyor o öneri :/