Öneri sistemi
Öneri sistemi ya da tavsiye sistemi (bazı yerlerde 'sistem' yerine 'platform' ya da 'motor' kullanılır) bir kullanıcının bir öğeye vereceği 'değerlendirme' ya da 'tercih' miktarının öngörülmesini hedefleyen bir bilgi filtreleme sistemidir.[1][2]
Önerici sistemler son yıllarda fazlaca yaygınlaşmış ve birçok farklı uygulamada kullanılmıştır. En popüler uygulamaları filmler, müzikler, haberler, kitaplar, bilimsel makaleler, arama sorguları, sosyal medya etiketleri ve genel anlamda ürünler üzerine yapılmıştır.
Genel bakış
[değiştir | kaynağı değiştir]Önerici sistemler iki farklı yöntemden birini kullanarak bir öneriler listesi üretir – işbirlikçi filtreleme ya da içerik-bazlı filtreleme.[3] İşbirlikçi filtreleme yaklaşımları kullanıcının geçmiş davranışları (geçmişte satın alınan ya da seçilen ya da değerlendirme yapılan öğeler) ile birlikte diğer kullanıcıların yaptığı benzer kararları kullanarak bir model oluşturur. Bu model daha sonra kullanıcının ilgisini çekebilecek öğelerin öngörülmesi için kullanılır.[4] İçerik-bazlı filtreleme yaklaşımları ise öğelerin bir dizi karakteristiğinden yola çıkarak benzer karakteristiklere sahip diğer öğeleri önerir.[5] Bu iki yaklaşım sıklıkla bir arada kullanılır (bkz. Hibrit Önerici Sistemler).
İşbirlikçi ve içerik-bazlı filtreleme sistemleri arasındaki farklar iki popüler müzik önerme sisteminin karşılaştırmasıyla gösterilebilir – Last.fm ve Pandora Radyo.
- Last.fm, kullanıcının düzenli olarak dinlediği parçaları gözlemler ve bunları diğer kullanıcıların dinleme alışkanlıklarıyla karşılaştırarak bir önerilen şarkılar radyosu oluşturur. Kullanıcının kütüphanesinde yer almayan ama benzer zevklere sahip diğer kullanıcılar tarafından sıkça dinlenen şarkılar da Last.fm tarafından çalınabilir. Kullanıcıların davranışlarını kullanması sebebiyle bu yaklaşım bir işbirlikçi filtreleme örneğidir.
- Pandora bir şarkının ya da sanatçının özelliklerini (Music Genome Project tarafından sağlanan 400 özelliğin bir alt kümesi), benzer özelliklere sahip müziklerin çalındığı bir radyo başlatmak için kullanır. Kullanıcı geri bildirimi kullanılarak radyonun sonuçları iyileştirilir. Kullanıcının "beğenmediği" şarkıların özelliklerini zayıflatır ve "beğendiği" şarkıların özelliklerini güçlendirir. Bu bir içerik-bazlı yaklaşım örneğidir.
Bu sistem tiplerinin her birinin kendi güçlü ve zayıf yanları vardır. Yukarıdaki örnekte, Last.fm isabetli tahminler yapabilmek için bir kullanıcıdan büyük miktarda veri toplamalıdır. Bu durum soğuk başlangıç problemi olarak bilinir ve işbirlikçi filtreleme sistemlerinde sıkça rastlanır.[6] Pandora başlangıç için çok az bilgiye ihtiyaç duyar ama çok daha kısıtlı bir kapsama sahiptir (mesela, sadece başlangıç şarkısına benzer öneriler yapabilir).
Önerici sistemler, kullanıcıların kendilerinin bulamadıkları öğeleri keşfetmelerine yardımcı olarak arama algoritmalarına alternatif oluşturur. İlginç bir şekilde, öneri sistemleri yaygın olarak, alışılmamış tipte verileri indeksleyen arama motorları olarak gerçekleştirilir.
Önerici sistemler veri madenciliği ve makine öğrenmesi alanlarında etkin bir araştırma konusudur. Önerici sistem araştırmalarına ev sahipliği yapan konferanslardan bazıları RecSys, SIGIR ve KDD'dir.
Doğruluğun ötesinde
[değiştir | kaynağı değiştir]Önerici sistemler üzerindeki araştırmalar genellikle doğruluğu en yüksek önerme algoritmalarını bulmaya amaçlar. Ancak, önemli olan bir takım başka faktörler de vardır.
- Ayrışma – Kullanıcılar birbirine daha az benzeşen öğeleri tercih edebilir, örn. farklı sanatçılardan öğeler.[7]
- Önerme sürekliliği – Bazen yeni öğeler önermektense daha önce önerilmiş öğelerin tekrar gösterilmesi daha işlevseldir.[8][9]
- Gizlilik – Önerici sistemler sıklıkla kullanıcıların gizlilik kaygılarını dikkate almalıdır.[10]
- Kullanıcı demografisi – Kullanıcıların kimlikleri öneri memnuniyetlerini etkileyebilir.[11]
- Gürbüzlük – Kullanıcı katılımı olan öneri sistemleri sahtekârlığa bağışıklı olmalıdır.[12]
- Rastlantısallık – Rastlantısallık "önerilerin ne kadar şaşırtıcı olduğu"'dur.[13]
- Güven – Eğer güven vermiyorsa önerici sistemin kullanıcı nezdinde bir değeri olmaz.[14] Kullanıcılara öneri yöntemlerinin nasıl çalıştığı açıklanarak güven kazanılabilir.
- Etiketleme – Kullanıcı tatmini önerilerin nasıl etiketlendiğine göre değişiklik gösterebilir.[15]
Performans ölçütleri
[değiştir | kaynağı değiştir]Önerici algoritmaların etkililiğinin belirlenmesinde değerlendirmeler önemlidir. Yaygın olarak kullanılan metrikler mean squared error (MSE) ve root mean squared error (RMSE)'dir. Kesinlik ve duyarlık ya da DCG gibi bilgi erişim metrikleri önerici yöntemin kalitesini belirlemek için kullanışlıdır. Ancak, klasik değerlendirme ölçütlerinin çoğu fazlaca eleştirilmektedir.[16] Sıklıkla, çevrimdışı olarak adlandırılan bu değerlendirme yöntemlerinin sonuçları kullanıcı tatmini ile örtüşmez.[17]
Zorluklar
[değiştir | kaynağı değiştir]Öneri sistemlerinin geliştirilmesinde karşılaşılan çeşitli zorluklar:[18]
- Soğuk başlangıç sorunu: Sisteme yeni bir kullanıcı veya öğe eklendiğinde, sistemde bu kullanıcı veya öğe ile ilgili kayıtlı bilgi olmadığından öneriler hesaplanamaz. Bu sorun soğuk başlangıç sorunu olarak adlandırılır ve özellikle işbirlikçi filtreleme yönteminde ortaya çıkan bir sorundur. Bu sorunun üstesinden gelmek için sistem herhangi bir şekilde yeni eklenen kullanıcı veya öğe hakkında bilgi edinmeye çalışır ya da içerik bazlı filtreleme yönteminden faydalanılır.
- Seyrek veri sorunu: Öneri sistemleri çoğuklukla temelde matris işlemlerine dayanmaktadır. Sistemdeki kullanıcı ya da öğe sayısı az olduğunda veya sistemde yeterince kullanıcı verisi olmadığında matristeki veriler çok seyrek olur. Bu da seyrek matris işlemleri yapmayı gerektirir. Özellikle milyonlarca öğe ve kullanıcı barındıran sistemlerde seyrek veri sorunu daha da belirginleşir.
- Anındalık sorunu: Bazı öneri sistemleri dinamik veri ile çalışmaktadır. Örneğin haber öneri sistemlerinde, sistem her yeni haber geldiğinde güncellenmeli, kullanıcılara eski haberler sunulmaktan kaçınılmalıdır. Anındalık sorunu hem performans, hem de öneri kalitesi açıcından zorluk yaratmaktadır.
- Kullanıcı beğeni ve ilgi alanlarının değişmesi sorunu: Kullanıcıların beğenileri ve ilgi alanları zamanla değişebilmektedir. Özellikle uzun vadeli kullanıcılar göz önüne alındığında sistemin bu kişisel değişikliklere uyum sağlaması gerekmektedir.
- Ölçeklenebilirlik: Tüm çevrimiçi servisler gibi öneri sistemleri de kalabalık kitleleri hedef almaktadır. Öneri sisteminin çalıştığı alana göre (müzik, film, haber vs.) anındalık sorunu ile birleştiğinde ölçeklenebilirlik üstesinden gelinmesi önemli bir sorun haline gelmektedir.
- Düzensiz içerik: Özellikle metin tabanlı öğelerin tavsiye edilmesinde makine tarafından okunabilir ve yapısal olan içeriğin önemi büyüktür. Düzensiz ve yapısız olan içeriklerde (örneğin film özeti, haber metni vs) içeriğin sistem tarafından analiz edilip, içeriğin anlaşılması zorluk yaratmaktadır.
- Gri koyun sorunu: Bu sorun özellikle işbirlikçi filtreleme yönteminde ortaya çıkmaktadır. İşbirlikçi filtreleme kullanıcılar arasındaki benzerlikleri bularak benzer kullanıcılara benzer öğeler önerir. Ancak bazı kullanıcılar özeldir ve diğer kullanıcılarla tutarlı ortak beğenilere sahip değildir. Bu gibi durumlarda sadece işbirlikçi filtreleme kullanmak dezavantajlıdır.
- Rastlantısallık (aşırı uzmanlık) sorunu: Öneri sistemleri zaman içerisinde aşırı uzmanlaşabilir ve sürekli geçmişte önerilen öğelerle çok benzer öğeleri önermeye başlar. Sistem aynı öğelerden kaçınmalı ve yeni öneriler keşfedebilmelidir.
- Kullanıcı gizliliği sorunu: Öneri sistemleri kullanıcıların beğeni ve ilgi alanlarının sistem tarafından öğrenilmesi üzerine kurulmuştur. Ancak bu durum kullanıcılar hakkında hassas bilgilerin sistemde saklanması ve analiz edilmesi anlamına gelmektedir. Bu ise, hem kullanıcı gizliliği konusunda sorunlara yol açabilmekte hem de kullanıcıların öneri sistemlerine güveni konusunda soru işaretlerine sebep olabilmektedir. 2018 yılında Avrupa genelinde yürürlüğe giren kişisel verilerin korunması yönetmeliği (GDPR) sonrası, kişisel verilere dayanmayan öneri sistemlerinin geliştirilmesi konusunda çalışmalar başlatılmıştır.
- Komşu geçişkenliği sorunu: Önerilerin hesaplanmasında kullanılan matrisin seyrek olmasına (bkz. seyrek veri sorunu) ek olarak, var olan verinin birbirinden farklı öğelere yoğunlaşması sonucu oluşan bir sorundur. Bu durumda benzer tercih ve beğenilere sahip olan kullanıcılar, farklı öğeler hakkında verilere sahip oldukları için aralarındaki benzerliğin sistem tarafından bulunabilmesi mümkün değildir.
- Eşanlamlılık sorunu: Özellikle metin tabanlı öneri sistemlerinde (içeriğin anlaşılması için metin analizi yapılması gereken sistemlerde) eşanlamlı kelimeler zorluk çıkarmaktadır.
Ayrıca bakınız
[değiştir | kaynağı değiştir]Kaynakça
[değiştir | kaynağı değiştir]- ^ Francesco Ricci and Lior Rokach and Bracha Shapira, Introduction to Recommender Systems Handbook 2 Haziran 2016 tarihinde Wayback Machine sitesinde arşivlendi., Recommender Systems Handbook, Springer, 2011, pp. 1-35
- ^ "Facebook, Pandora Lead Rise of Recommendation Engines - TIME". TIME.com. 27 Mayıs 2010. 17 Ağustos 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Haziran 2015.
- ^ Hosein Jafarkarimi; A.T.H. Sim and R. Saadatdoost A Naïve Recommendation Model for Large Databases 27 Nisan 2016 tarihinde Wayback Machine sitesinde arşivlendi., International Journal of Information and Education Technology, June 2012
- ^ Prem Melville and Vikas Sindhwani, Recommender Systems 3 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi., Encyclopedia of Machine Learning, 2010.
- ^ R. J. Mooney and L. Roy (1999). Content-based book recommendation using learning for text categorization. In Workshop Recom. Sys.: Algo. and Evaluation.
- ^ Andrew I. Schein, Alexandrin Popescul, Lyle H. Ungar, David M. Pennock (2002). Methods and Metrics for Cold-Start Recommendations. Proceedings of the 25th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2002). New York, New York: ACM. ss. 253-260. ISBN 1-58113-561-0. 7 Şubat 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Şubat 2008.
- ^ Ziegler, C.N., McNee, S.M., Konstan, J.A. and Lausen, G. (2005). "Improving recommendation lists through topic diversification". Proceedings of the 14th international conference on World Wide Web. ss. 22-32.
- ^ Joeran Beel, Stefan Langer, Marcel Genzmehr, Andreas Nürnberger (Eylül 2013). "Persistence in Recommender Systems: Giving the Same Recommendations to the Same Users Multiple Times". Trond Aalberg and Milena Dobreva and Christos Papatheodorou and Giannis Tsakonas and Charles Farrugia (Ed.). Proceedings of the 17th International Conference on Theory and Practice of Digital Libraries (TPDL 2013) (PDF). Lecture Notes of Computer Science (LNCS). 8092. Springer. ss. 390-394. 20 Ekim 2013 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 1 Kasım 2013.
- ^ Cosley, D., Lam, S.K., Albert, I., Konstan, J.A., Riedl, {J}. (2003). "Is seeing believing?: how recommender system interfaces affect users' opinions". Proceedings of the SIGCHI conference on Human factors in computing systems. ss. 585-592.
- ^ {P}u, {P}., {C}hen, {L}., {H}u, {R}. (2012). "Evaluating recommender systems from the user's perspective: survey of the state of the art". User Modeling and User-Adapted Interaction. Springer. ss. 1-39.
- ^ Joeran Beel, Stefan Langer, Andreas Nürnberger, Marcel Genzmehr (Eylül 2013). "The Impact of Demographics (Age and Gender) and Other User Characteristics on Evaluating Recommender Systems". Trond Aalberg and Milena Dobreva and Christos Papatheodorou and Giannis Tsakonas and Charles Farrugia (Ed.). Proceedings of the 17th International Conference on Theory and Practice of Digital Libraries (TPDL 2013) (PDF). Springer. ss. 400-404. 20 Ekim 2013 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 1 Kasım 2013.
- ^ {K}onstan, {J}.{A}., {R}iedl, {J}. (2012). "Recommender systems: from algorithms to user experience". User Modeling and User-Adapted Interaction. Springer. ss. 1-23.
- ^ {R}icci, {F}., {R}okach, {L}., {S}hapira, {B}., {K}antor {B}. {P}. (2011). "Recommender systems handbook". Recommender Systems Handbook. Springer. ss. 1-35.
- ^ Montaner, Miquel, L{\'o}pez, Beatriz, de la Rosa, Josep Llu{\'\i}s (2002). "Developing trust in recommender agents". Proceedings of the first international joint conference on Autonomous agents and multiagent systems: part 1. ss. 304-305.
- ^ Beel, Joeran, Langer, Stefan, Genzmehr, Marcel (Eylül 2013). "Sponsored vs. Organic (Research Paper) Recommendations and the Impact of Labeling". Trond Aalberg and Milena Dobreva and Christos Papatheodorou and Giannis Tsakonas and Charles Farrugia (Ed.). Proceedings of the 17th International Conference on Theory and Practice of Digital Libraries (TPDL 2013) (PDF). ss. 395-399. 20 Ekim 2013 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 2 Aralık 2013.
- ^ Turpin, Andrew H, Hersh, William (2001). "Why batch and user evaluations do not give the same results". Proceedings of the 24th annual international ACM SIGIR conference on Research and development in information retrieval. ss. 225-231.
- ^ Beel, Joeran; Genzmehr, Marcel; Langer, Stefan; Nürnberger, Andreas; Gipp, Bela (1 Ocak 2013). "A Comparative Analysis of Offline and Online Evaluations and Discussion of Research Paper Recommender System Evaluation". Proceedings of the International Workshop on Reproducibility and Replication in Recommender Systems Evaluation. RepSys '13. New York, NY, USA: ACM. ss. 7-14. doi:10.1145/2532508.2532511. ISBN 9781450324656.
- ^ [1] 6 Mart 2019 tarihinde Wayback Machine sitesinde arşivlendi. Ontolojiler ve anlamsal çıkarsama kullanılarak bir öneri sistemi tasarlanması, Özlem Özgöbek, Doktora tezi, 2015