Kişiselleştirilmiş isabetli tavsiye sistemi

Kişiselleştirilmiş isabetli tavsiye sistemi


Son Star Wars filmi The Last Jedi’ın vizyona girmesinin ardından hayranları ikiye bölündü. Bir bölümü filmi çok beğenirken, kalan kısmı hiç beğenmemişti. Ben de son filmi beğenmeyenler arasında yer alıyorum. En büyük hayal kırıklığı ise filmin eleştirmenler tarafından çok yüksek bir puan almasına rağmen izleyiciler tarafında böyle bir karşılık bulamamasıydı. Bu da, bir süredir zaten üzerine kafa yorduğum ve mevcut hallerini verimsiz bulduğum tavsiye sistemlerini daha fazla sorgulamama yol açtı. Bu yazıda, filmler, diziler, kitaplar vs için çok kullanılan tavsiye sistemlerinin mantığını inceleyip, bunlar için daha iyi bir sistem önereceğim.

İçerik puanlama sistemi

Star Wars: The Last Jedi vakası ile devam edelim. Sinema eleştirmenlerinin puanlandırma yaptığı Rotten Tomatoes’da film, eleştirmenlerden 100 üzerinden 91 ortalama puan almıştı. İzleyici ortalaması ise 51’di. Yani eleştirmen puanları ile izleyici puanları arasında uçurum var. Sosyal medyadan anladığımız kadarıyla hayranların ikiye bölündüğünü de hesaba katarsak, eleştirmen puanlamasının bu noktada kabaca %50 oranda hatalı olduğunu söyleyebiliriz ki, bu da hakkında hiçbir şey bilmediğiniz bir filmi beğenip beğenmeme ihtimalinizin ortalamasına denk geliyor. Yani böyle bir hata payının kimseye bir faydası olmaz.

Brawl in Cell Block 99 (2017)

Brawl in Cell Block 99 (2017)

Brawl in Cell Block 99 (2017) için de izleme kararımı da yine yüksek puanlar sebebiyle vermiştim. Çok gerçekçi olmadığı zaten herkesçe kabul edilen IMDB puanlarının yanı sıra, Rotten Tomatoes ve Meta Critic gibi yerlerden yüksek puanlar alan bu film, bariz şekilde kötü bir filmdi ama bu puanlar sonucu yanıltmıştı.

Kullanıcı yorumları

Bir filmi izlemeden önce kullanıcı yorumlarına da mutlaka bakarım. Mesela turkcealtyazi.org’daki kullanıcı yorumları genel olarak bir fikir vermeye yardımcı olur. Bunun dışında sosyal medyadaki yorumları da kısmen dikkate aldığım oluyor. Ama her ikisi de tam anlamıyla yanıltıcı olabiliyor.

Brawl in Cell Block 99 (2017) kullanıcı yorumları

Birbirine bu kadar zıt şekilde yorumlar olduğu zaman karar vermekte de zorlanıyorsunuz. Hem puan sisteminde, hem de kullanıcı yorumlarındaki değerlerdirmelerin isabetli tavsiyeye dönüşmemesindeki asıl sebep, her insanın farklı zevklere ve tercihlere sahip olması gibi basit bir gerçekten ibaret. Ama bunlar zaten tavsiye sistemleri değil, değerlendirme sistemleri. Biz ise bunları birer tavsiye sistemi olarak görüyor ve tercihlerimizi belirlemeye çalışırken karar vermemizi kolaylaştırması için kullanıyoruz. Kısmen işe yarıyorlar.

Şimdi de, doğrudan kullanıcıya sunulan öneri sistemlerine bakalım. Önerici sistemlerde temel olarak üç farklı teknik kullanılıyor.

  • İçerik tabanlı filtreleme
  • İşbirlikçi filtreleme
  • Karma filtreleme

İçerik tabanlı filtreleme

En sık kullanılan filtreleme tekniğidir. Kullanıcının tercihlerine göre şekillenir. Az miktarda veri toplayarak da isabetli öneriler sunabilmektedir.

Örneğin, Netflix’te yeni bir profil oluştururken sizden beğendiğiniz içerikleri işaretlemeniz istenir. Ardından ilgili olabilecek içerikler getirilir. Zaman ieçrisinde Netflix sizin tercihleriniz hakkında daha fazla bilgi sahibi olur ve her içerik için bir eşleşme puanı sunar. Bu puan, o içeriğin size göre olup olmadığı konusunda fikir vermeye yardımcı olur.

Ancak Netflix, kullanıcı hakkında yüzlerce tercihi öğrense bile tam olarak isabetli eşleşmeler yapamıyor. Örneğin, Stranger Things’ten yola çıkarak Dark için %98 eşleşme sağlamış. Bu, diziyi merak edip izlemeye başlamam için yeterli. Fakat diziyi hiç beğenmedim. Oysa ki çok beğenerek izlediğim Geçmişin Gölgesinde %62 gibi düşük sayılabilecek bir eşleşme puanı ile sunuluyor. Netflix iyi niyetli bir yaklaşımla bir öneri sistemi kurgulamış ama içerik tabanlı olduğu en fazla bu kadar isabet sağlayabiliyor. Çünkü bir insanın gerçekten neyi sevip neyi sevmeyeceğini içerik tabanlı yaklaşımla tam olarak kestirmek pek mümkün değil. Ama yaklaşık bir sonuç elde edilebilir. Yani bu işe yaramaz bir sistem değil, ama çok isabetli bir sistem de değil.

İşbirlikçi filtreleme

İşbilikçi filtreleme, farklı kullanıcıların benzer tercihlerinden yola çıkarak öneriler sunan bir sistemdir. Bu sistemde yüksek isabet oranlarını yakalamak için kullanıcılardan yüksek miktarlarda veri toplamak gerekir. Bu yüzden kullanışlılık açısından daha zor bir sistemdir.

Karma filtreleme

Karma filtreleme sistemi, birden fazla öneri sistemini bir arada kullananan bir tekniktir. Bu teknikle daha isabetli öneri sistemlerinin oluşturulması amaçlanır. Ancak daha fazla veri işleme ve daha fazla karmaşıklık söz konusudur.

İsabetli tavsiye sistemi kurgusu

Tavsiye sistemlerinin yüksek isabetli önerilerde bulunamama sebebi insanın doğasında yatıyor. Herkesin zevkleri ve tercihleri farklı ve bunu da bir makinenin tam olarak anlayabilmesi mümkün değil. En azından şimdiki teknoloji ile. Yine de isabet oranını artırmanın yolu, yine bir başka insanı kullanmaktan geçiyor.

İşbirlikçi öneri sistemi bu mantığı kullanıyor gibi görünüyor ancak bu sistemin eksik tarafı, kullanıcıların her seferinde rastgele eşleşmesi. Bana göre en sağlıklı sistem, birbirine en yakın tercihlere sahip belli sayıda kullanıcıyı genel veya özel olarak eşleştirmek. Ve yeni içeriklerde bu veriyi de bir öneri seçeneği olarak kullanmak. Bu eşleştirme, algoritma tarafından otomatik olarak yapılabileceği gibi, kullanıcı tarafından da seçilebilir olursa, isabet oranı artacaktır. Örneğin kullanıcılar, sistemde yapılan yorumlara bakarak, belli kategorilerde (bilmkurgu, Star Wars vs) bakış açısı olarak benzeştiğini düşündüğünü diğer kullanıcıları “benzer kullanıcı” olarak ekleyebilir.

Bunu Star Wars: The Last Jedi üzerinden hayali bir senaryo ile canlandıralım. Örneğin A kullanıcısı, Star Wars filmlerinin tümüne verdiği puanlarla sistem tarafından kendine en yakın 10 kişi ile #StarWars kategorisinde eşleştirilmiş olsun. Kullanıcının orijinal üçlemeyi çok beğenirken, öncül üçlemeyi vasata yakın bulduğunu ve yeni üçlemenin ilk filmi olan The Force Awakens’ı da çok beğendiğini varsayalım. Bu kullanıcının The Last Jedi için karşısına çıkacak puan muhtemelen yüksek olacaktır.

Solda, örnek A kullanıcısı ve sağda örnek B kullanıcısı.

B kullanıcısının ise özgün üçlemenin yanı sıra öncül üçlemeyi de sevdiğini, The Force Awakens’ı sevmediğini ve Rogue One’ı beğendiğini varsayalım. Bu kullanıcı algoritma tarafından 10 kişi ile eşleşirken, aynı zamanda kendi belirlediği 4 kişi tarafından da #StarWars kategorisinde eşleşmiş olsun. Bu durumda karşısına çıkan puan muhtemelen vasat olacaktır.

Böylelikle bir kullanıcı, şu ana kadar elde edilmiş en yüksek isabet oranına sahip tavsiye sistemi tarafından yönlendirilmiş olacak. Bu sistemi tek başına kullanmak verimsiz olacaktır elbette. Çünkü böyle bir sistemin sağlıklı işleyebilmesi için işbirşilçi filtre sisteminin ihtiyacı olan yüksek miktardaki veriyi toplamak gerekiyor. Ama sistemin kolay yanı ise her seferinde rastgele eşleştirmeler yapmak yerine, belli bir trendi devam ettiren kullanıcıları belli sürelerde eşleştirmek. Aynı zamanda kullanıcının da kendi seçimlerini bu sürece dahil edebilmesi de algoritmada sabit değişken olacağı için tasarruf sağlayacaktır.

turkcealtyazi.org örneğindeki gibi, herhangi bir film hakkında yazılan bir yorum, eğer filmi izlediğimde o yorumla yüksek miktarda eşleşiyor o kullanıcıyı o kategoriye doğrudan ekleyebilir veya yorumuna bir isabet puanı ekleyebilirim (olumlu/olumsuz olarak iki seçenek). Zaman içerisinde toplanan verilerle, karşımıza daha önce hiç olmadığı kadar isabeli öneriler çıkacaktır.

Kişiselleştirilmiş isabetli tavsiyeler neden önemli?

Bundan bir 15 yıl kadar önce dert etmeyeceğimiz bir soruna sahibiz. Artık tüketebileceğimizin çok ötesinde bir içeriğe doğrudan erişebiliyoruz. Eğer bizim için doğru içeriklere ulaşamazsak, zaten giderek azalan kişisel zamanımızı daha da verimsiz şekilde tüketmiş oluruz. Bu yüzden, kitap veya oyun almadan, film, dizi, belgesel izlmeden önce kişiselleştirilmiş olarak bize en uygun içerikleri tavsiye edecek sistemlere ihtiyacımız var. Bugün kullanılan teknikler malesef bu ihtiyacı karşılamıyor.  Bana göre en iyi sistem ise, en azından belirli bir süre için bile olsa benzer kullanıcıları birbiri ile eşleştirmek. Yani Pinterest’in ifadesi ile “ruh eşleri” bulup önermek veya bunları doğrudan eşleştirmek.

+ Yorum bulunmuyor

Yorum Yaz