KULLANICI DAVRANIŞINA DAYALI TAVSİYE MOTORU Anıl UTKU YÜKSEK LİSANS TEZİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ŞUBAT 2015 Anıl UTKU tarafından hazırlanan “KULLANICI DAVRANIŞINA DAYALI TAVSİYE MOTORU” adlı tez çalışması aşağıdaki jüri tarafından OY BİRLİĞİ / OY ÇOKLUĞU ile Gazi Üniversitesi Bilgisayar Mühendisliği Anabilim Dalında YÜKSEK LİSANS TEZİ olarak kabul edilmiştir. Danışman: Prof. Dr. M. Ali AKCAYOL Bilgisayar Mühendisliği, Gazi Üniversitesi Bu tezin, kapsam ve kalite olarak Yüksek Lisans Tezi olduğunu onaylıyorum/onaylamıyorum ...………………… Başkan : Doç. Dr. Erdoğan DOĞDU Bilgisayar Mühendisliği, TOBB Ekonomi ve Teknoloji Üniversitesi Bu tezin, kapsam ve kalite olarak Yüksek Lisans Tezi olduğunu onaylıyorum/onaylamıyorum …………………... Üye : Yrd. Doç. Dr. Hacer KARACAN Bilgisayar Mühendisliği, Gazi Üniversitesi Bu tezin, kapsam ve kalite olarak Yüksek Lisans Tezi olduğunu onaylıyorum/onaylamıyorum Tez Savunma Tarihi: …………………... ......../….…/…… Jüri tarafından kabul edilen bu tezin Yüksek Lisans Tezi olması için gerekli şartları yerine getirdiğini onaylıyorum. …………………….……. Prof. Dr. Şeref SAĞIROĞLU Fen Bilimleri Enstitüsü Müdürü ETİK BEYAN Gazi Üniversitesi Fen Bilimleri Enstitüsü Tez Yazım Kurallarına uygun olarak hazırladığım bu tez çalışmasında; Tez içinde sunduğum verileri, bilgileri ve dokümanları akademik ve etik kurallar çerçevesinde elde ettiğimi, Tüm bilgi, belge, değerlendirme ve sonuçları bilimsel etik ve ahlak kurallarına uygun olarak sunduğumu, Tez çalışmasında yararlandığım eserlerin tümüne uygun atıfta bulunarak kaynak gösterdiğimi, Kullanılan verilerde herhangi bir değişiklik yapmadığımı, Bu tezde sunduğum çalışmanın özgün olduğunu, bildirir, aksi bir durumda aleyhime doğabilecek tüm hak kayıplarını kabullendiğimi beyan ederim. Anıl UTKU 02.02.2015 iv KULLANICI DAVRANIŞINA DAYALI TAVSİYE MOTORU (Yüksek Lisans Tezi) Anıl UTKU GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ Şubat 2015 ÖZET İnternet üzerinde bulunan bilgi miktarının artmasıyla birlikte kullanıcılara ilgili ve kaliteli tavsiyelerin sunulması fikri ön plâna çıkmıştır. Tavsiye sistemleri, kullanıcılara ilgilerini çekebilecek tavsiyeler sunarak kullanıcı tercihlerine etkin bir şekilde katkıda bulunmayı hedefler. Bu tez çalışması kapsamında Web madenciliği süreçleri, tavsiye sistemleri ve kullanıcı davranış analizleri incelenmiştir. Kullanıcılardan ürünler ile ilgili herhangi bir geribildirim almadan, kullanıcıların seçtikleri filmler ve filmlerin detay sayfalarında kaldıkları süreler kullanılarak yeni bir tavsiye algoritması geliştirilmiştir. Geliştirilen yöntem deneysel sonuçlar ile birlikte işbirlikçi filtreleme yöntemi ile karşılaştırılmıştır. Bilim Kodu : 902.1.014 Anahtar Kelimeler : Tavsiye sistemi, Web madenciliği, işbirlikçi filtreleme, kullanıcı davranış analizi Sayfa Adedi : 127 Danışman : Prof. Dr. M. Ali AKCAYOL v USER BEHAVIOUR BASED RECOMMENDATION ENGINE (M. Sc. Thesis) Anıl UTKU GAZİ UNIVERSITY GRADUATE SCHOOL OF NATURAL AND APPLIED SCIENCES February 2015 ABSTRACT The idea to present the user with relevant and quality advice came to the forefront with the increasing amount of information available on the internet. Recommendation systems, providing advice that might be of interest to users aims to contribute effectively to the user preferences. Web mining process, recommendation systems, and user behavior analysis were examined within the scope of this thesis. A new recommendation algorithm has been developed without any feedback from users using the duration of time in the film details page and the movies of their choice. The developed method was compared with collaborative filtering method with experimental results. Science Code Key Words Page Number Supervisor : 902.1.014 : Recommendation system, Web mining, collaborative filtering, user behavior analysis : 127 : Prof. Dr. M. Ali AKCAYOL vi TEŞEKKÜR Çalışmalarım süresince değerli yardım ve katkılarını esirgemeyen Hocam Prof. Dr. M. Ali AKCAYOL’ a, veri toplama aşamasında yardımlarını esirgemeyen Gazi Üniversitesi Mühendislik Fakültesi Araştırma Görevlileri ile Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü öğrencilerine ve oldukları destekle beni yalnız bırakmayan aileme teşekkürü bir borç bilirim. vii İÇİNDEKİLER Sayfa ÖZET .............................................................................................................................. iv ABSTRACT .................................................................................................................... v TEŞEKKÜR .................................................................................................................... vi İÇİNDEKİLER .............................................................................................................. vii ÇİZELGELERİN LİSTESİ............................................................................................. x ŞEKİLLERİN LİSTESİ .................................................................................................. xi 1. GİRİŞ....................................................................................................... 1 2. WEB MADENCİLİĞİ ............................................................................ 11 2.1. Web İçerik Madenciliği....................................................................................... 14 2.2. Web Yapısı Madenciliği ..................................................................................... 14 2.3. Web Kullanım Madenciliği ................................................................................. 14 2.3.1. Ön işleme .................................................................................................. 16 2.3.2. Örüntü keşfi ............................................................................................... 16 2.3.3. Örüntü analizi ............................................................................................ 22 3. KULLANICI DAVRANIŞ ANALİZİ .................................................... 23 3.1. Geribildirimlerin Kullanıcılardan Doğrudan Alınması ....................................... 24 3.2. Geribildirimlerin Kullanıcılardan Dolaylı Olarak Alınması ............................... 27 4. TAVSİYE SİSTEMLERİ........................................................................ 29 4.1. Tavsiye Sistemlerinin Hedefleri .......................................................................... 34 4.2. Tavsiye Sistemlerinde Kullanılan Yaklaşımlar ................................................... 37 4.2.1. İşbirlikçi filtreleme .................................................................................... 38 4.2.2. İçerik tabanlı filtreleme ............................................................................. 42 4.2.3. Hibrit sistemler .......................................................................................... 44 viii Sayfa 4.3. Tavsiye Sistemlerinin Zorlukları ve Sınırlamaları .............................................. 44 4.3.1. Seyreklik ................................................................................................... 44 4.3.2. Soğuk başlangıç sorunu............................................................................. 44 4.3.3. Sahtekârlık................................................................................................. 45 4.4. Tavsiye Sistemlerinin Sonuçlarının Değerlendirilmesi ...................................... 45 4.4.1. Kullanıcı tercihleri .................................................................................... 45 4.4.2. Tahminlerin doğruluğu ............................................................................. 46 4.4.3. Kapsam...................................................................................................... 48 4.4.4. Güvenilirlik ............................................................................................... 48 4.4.5. Güven ........................................................................................................ 48 4.4.6. Gizlilik ...................................................................................................... 49 4.4.7. Risk ........................................................................................................... 49 4.4.8. Yenilik ....................................................................................................... 49 4.4.9. Beklenmedik ürünler sunma ..................................................................... 49 4.4.10. Çeşitlilik .................................................................................................. 50 4.4.11. Yararlılık ................................................................................................. 50 4.4.12. Sağlamlık ................................................................................................ 50 4.4.13. Uyarlanabilirlik ....................................................................................... 50 4.4.14. Ölçeklenebilirlik ...................................................................................... 51 5. UBREC’ İN TASARIMI VE GELİŞTİRİLMESİ ................................. 53 5.1. Problemin Tanımı................................................................................................ 54 5.2. Geliştirilen Kullanıcı Davranışına Dayalı Yöntem ............................................. 54 5.2.1. Soğuk başlangıç sorunu............................................................................. 74 5.3. Uygulamanın Geliştirilmesi ................................................................................ 75 ix Sayfa 5.3.1. Veritabanı tasarımı .................................................................................... 75 5.3.2. Kullanıcı arayüzlerinin tasarımı ................................................................ 78 5. 4. Yönetici Ekranı Ve Raporlama Sayfalarının Tasarımı ...................................... 85 6. DENEYSEL SONUÇLAR ...................................................................... 91 7. SONUÇLAR ........................................................................................... 119 KAYNAKLAR ............................................................................................................... 121 ÖZGEÇMİŞ .................................................................................................................... 127 x ÇİZELGELERİN LİSTESİ Çizelge Sayfa Çizelge 4.1. Tavsiye sistemlerini kullanan popüler internet siteleri ............................... 30 Çizelge 4.2. Bir kullanıcıya tavsiye olarak sunulan herhangi bir ürün için olası sonuçlar ....................................................................................................... 47 Çizelge 5.1. Kullanılan parametrelere atanan değerler ................................................... 57 Çizelge 5.2. Sunulan önerilerin olası sonuçları............................................................... 59 Çizelge 6.1. Kullanıcıların sisteme giriş sayıları .............................................................. 91 Çizelge 6.2. Kullanılan parametrelere atanan değerler .................................................... 92 Çizelge 6.3. Filmlerin tıklanma sayıları ............................................................................ 100 Çizelge 6.4. Kullanıcıya sunulan 10 filmin tıklanma oranları ......................................... 104 Çizelge 6.5. Kullanıcıların öneri listesinden yaptıkları seçim sıralarının oranı .............. 105 Çizelge 6.6. Filmlerin sepete atılma sayıları ..................................................................... 109 Çizelge 6.7. Filmlerin izlenme süreleri ............................................................................. 113 Çizelge 6.8. Önerilen filmlerin izlenme süreleri............................................................... 114 xi ŞEKİLLERİN LİSTESİ Şekil Sayfa Şekil 2.1. Veri madenciliğinin alt alanları ...................................................................... 12 Şekil 2.2. Web madenciliğinin alt alanları ...................................................................... 13 Şekil 2.3. Web kullanım madenciliğinin aşamaları ........................................................ 15 Şekil 2.4. Apriori algoritmasının kaba kodu ................................................................... 18 Şekil 2.5. Gerçekleştirilen 9 adet işlem .......................................................................... 19 Şekil 2.6. İşlemler içerisinde geçen her bir öğenin frekansı ........................................... 19 Şekil 2.7. İkili nitelikler kümesi ...................................................................................... 20 Şekil 2.8. Üçlü nitelikler kümesi..................................................................................... 20 Şekil 3.1. Tavsiye sistemlerinde kullanılan yöntemler ................................................... 23 Şekil 3.2. amazon.com’ un kullanıcılardan geribildirimlerini aldığı 5 yıldızlı değerlendirme ölçeği ....................................................................................... 25 Şekil 3.3. imdb.com’ un kullanıcılardan geribildirimlerini aldığı 10 yıldızlı değerlendirme ölçeği ....................................................................................... 26 Şekil 3.4. youtube.com ikili geribildirim ölçeği ............................................................. 26 Şekil 3.5. amazon.com’ un kullanıcı etkileşimlerine göre sunduğu öneriler .................. 27 Şekil 3.6. amazon.com’ un tıklama analizleriyle sunduğu öneriler ................................ 28 Şekil 3.7. amazon.com birlikte satın alınan ürünlerin öneri ekranı ................................ 28 Şekil 4.1. En çok satılan ürünlerle ilgili sunulan öneriler ............................................... 31 Şekil 4.2. Kişiselleştirilmiş öneriler ................................................................................ 33 Şekil 4.3. Her bir hücredeki 𝑟𝑢𝑖 , u kullanıcısının, i ürününe karşılık gelen kullanıcı değerlendirme matrisi ..................................................................................... 38 Şekil 4.4. İşbirlikçi filtreleme için değerlendirmelerin tutulduğu veritabanı.................. 40 Şekil 5.1. UBREC tavsiye sisteminin akış diyagramı .................................................... 58 Şekil 5.2. Tıklanan öneri sayılarını elde etmek için kullanılan stored procedure ........... 60 xii Şekil Sayfa Şekil 5.3. İzleme süresine göre film puanının hesaplandığı stored procedure................ 62 Şekil 5.4. Seçilen önerilerin, listede kaçıncı sırada olduğunu belirleyen fonksiyon ...... 63 Şekil 5.5. Sepet değerinin güncellenmesi için kullanılan stored procedure ................... 64 Şekil 5.6. Birliktelik kurallarını oluşturmak için kullanılan stored procedure ............... 65 Şekil 5.7. Birliktelik kurallarından elde edilen öneriler .................................................. 66 Şekil 5.8. UBREC puanının hesaplanması için kullanılan stored procedure .................. 67 Şekil 5.9. Kategori puanlarını güncellenmesi için kullanılan stored procedure ............. 68 Şekil 5.10. Öneri listesinin ilk elemanının elitizm ile seçilmesi için kullanılan fonksiyon....................................................................................................... 69 Şekil 5.11. Rulet tekerleği seçimi ile önerilerin belirlenmesi için kullanılan fonksiyon 69 Şekil 5.12. Öneri tablosunun güncellenmesi için kullanılan stored procedure ............... 70 Şekil 5.13. İşbirlikçi filtreleme yöntemi ile öneri oluşturan stored procedure ............... 71 Şekil 5.14. Ana sayfada önerileri göstermek için kullanılan stored procedure .............. 72 Şekil 5.15. Kullanıcı girişi yapıldıktan sonra ana ekranın görüntüsü ............................. 72 Şekil 5.16. En yüksek puanlı 10 filmi öneri listesine ekleyen stored procedure…….... 73 Şekil 5.17. Kullanıcı girişi yapıldığında ana sayfada gösterilen kişiselleştirilmiş öneriler .......................................................................................................... 74 Şekil 5.18. Stored procedure ve fonksiyonlar ................................................................. 76 Şekil 5.19. UBREC veritabanı tabloları arasındaki ilişkiler ........................................... 77 Şekil 5.20. UBREC tavsiye sistemi için oluşturulan ASP.Net sayfaları ........................ 79 Şekil 5.21. Yıl sayfalarını oluşturan stored procedure .................................................... 79 Şekil 5.22. 2013 filmleri sayfası ..................................................................................... 80 Şekil 5.23. imdb.aspx sayfasını oluşturan stored procedure ........................................... 80 Şekil 5.24. IMDb 7+ filmler sayfası ............................................................................... 81 Şekil 5.25. Kategori sayfalarını oluşturan stored procedure ........................................... 82 xiii Şekil Sayfa Şekil 5.26. Kategori sayfası ............................................................................................ 82 Şekil 5.27. index.aspx sayfası ......................................................................................... 83 Şekil 5.28. Vizyondaki filmler alanını oluşturan stored procedure ................................ 84 Şekil 5.29. Editörün seçtikleri alanını oluşturan stored procedure…………………..... 84 Şekil 5.30. film_detay.aspx sayfalarını oluşturan stored procedure ............................... 84 Şekil 5.31. Filmlerin detay sayfası .................................................................................. 85 Şekil 5.32. admingiris.aspx sayfası……………………………………………….. ....... 86 Şekil 5.33. admin_analiz.aspx sayfası ............................................................................ 87 Şekil 5.34. UBREC parametrelerinin toplam etkileri ve kullanıcı oturumlarına göre etkileri ......................................................................................................... 88 Şekil 5.35. Kullanıcı ekleme işleminin yapıldığı kullaniciekle.aspx sayfası .................. 89 Şekil 5.36. Film ekleme işleminin yapıldığı filmekle.aspx sayfası ................................ 89 Şekil 6.1. Kullanıcıların kategori puanlarının değişimi .................................................. 92 Şekil 6.2. Kullanıcı türlerine göre sisteme giriş oranları ................................................ 99 Şekil 6.3. Kullanıcıların sisteme giriş sayıları ................................................................ 100 Şekil 6.4. Toplam tıklanan film sayıları.......................................................................... 101 Şekil 6.5. Tıklanan toplam film sayısı oranları ............................................................... 101 Şekil 6.6. Toplam tıklanan öneri sayıları ........................................................................ 102 Şekil 6.7. Toplam tıklanan öneri sayısına göre oranlar .................................................. 103 Şekil 6.8. Tıklanan öneri sayısının, tıklanan film sayısına göre dağılımı ....................... 103 Şekil 6.9. UBREC ile sisteme yeni giriş yapan kullanıcıya önerilen filmlerin tıklanma sayıları ............................................................................................................ 105 Şekil 6.10. UBREC ile sunulan önerilerin, öneri sırasına göre tıklanma değerleri ........ 106 Şekil 6.11. 1. sırada tıklanan öneriler için kategori puanlarına UBREC parametrelerinin etkisi ............................................................................................................. 107 xiv Şekil Sayfa Şekil 6.12. 2. sırada tıklanan öneriler için kategori puanlarına UBREC parametrelerinin etkisi ............................................................................................................. 107 Şekil 6.13. 3. sırada tıklanan öneriler için kategori puanlarına UBREC parametrelerinin etkisi ............................................................................................................. 108 Şekil 6.14. Tıklama sırasına göre UBREC parametrelerinin etkileri.............................. 109 Şekil 6.15. Sepete atılan film sayısı ................................................................................ 110 Şekil 6.16. Tıklanan toplam film sayısına göre sepete atılan filmlerin oranı ................. 110 Şekil 6.17. Önerilen filmlerin, sepete atılma sayısına göre yüzdelik oranı .................... 111 Şekil 6.18. Hassasiyet parametresine göre sonuçların karşılaştırılması ......................... 112 Şekil 6.19. Duyarlılık parametresine göre sonuçların karşılaştırılması .......................... 113 Şekil 6.20. Kalınan süreye göre sonuçların karşılaştırılması .......................................... 114 Şekil 6.21. Önerilen filmlerin izlenme süresinin, toplamda izlenen film süresine göre oranı .............................................................................................................. 115 Şekil 6.22. Birliktelik kurallarından gelen önerilere göre sonuçlar ................................ 116 Şekil 6.23. Kalınan süreye göre hesaplanan film değerlendirme puanlarının toplamı ... 117 1 1. GİRİŞ Bilgisayar ve bilgisayar ağlarının gelişimiyle birlikte, toplumun hemen her alanında hızlı bir dönüşüm gerçekleşmektedir. Kullanıcılar sosyal yaşamlarının önemli bir bölümünü, çevrimiçi satın alma işlemleri ile ya da arama motorları vasıtasıyla bilgi toplayarak geçirmektedirler. Bu iletişim faaliyetleri, araştırmacılara sosyoekonomik ve teknososyal sistemleri çok daha iyi düzeyde inceleme fırsatını sunmaktadır. Kullanıcıların eğilimleri ya da belirli ürünler üzerinde yapmış oldukları değerlendirmeler sonucunda tavsiye olarak yeni öğelerin sunulmasını sağlayan tavsiye sistemlerine yönelik çalışmalar da bu araştırmaların sonucunda ortaya çıkmıştır. Tavsiye sistemleri, 1990’ların ortalarında işbirlikçi filtreleme hakkında ilk araştırma çalışmasının ortaya çıkmasından bu yana önemli bir araştırma alanı haline gelmiştir [1]. Tavsiye sistemleri kitaplar, dijital ürünler, film, müzik, TV programları ve Web siteleri gibi çeşitli alanlardan gelen kullanıcı yorumlarını ya da değerlendirme sonuçlarını toplayıp analiz ederek uygun içeriğin veya ürünün bulunmasına yardımcı olmak için kullanılırlar [1]. Bu sistemler, kullanıcılara doğru ürünlerin sunulması için ürünlerin her birinin satın alınma olasılığının analitik olarak hesaplamasına dayanmaktadır [2]. Web teknolojilerindeki gelişmelerle birlikte gelişen tavsiye sistemleri temel olarak işbirlikçi filtreleme, içerik tabanlı filtreleme ve kişisel özelliklere dayalı filtreleme metotlarına dayanmaktadır ve sosyal alanlardan elde edilen bilgilerle de ilişkilidir. Gelecekte bu sistemlerin İnternet üzerinden elde edilen kişisel bilgileri daha çok kullanacağı tahmin edilmektedir [2]. Tavsiye sistemleri, filmler, müzikler, kitaplar, Web siteleri, uygulamalar ve seyahat noktaları gibi bir dizi veri setinden kullanıcıların tercih bilgilerini toplar. Bilgiler, kullanıcılardan puanlama değerleri alınarak doğrudan ya da dinlenen müziğin süresi, uygulamanın indirilme sayısı, Web sitelerinin ziyaret edilme sayısı ve kitapların okunma sayısı gibi verilerle dolaylı olarak elde edilebilir. Tavsiye sistemleri kullanıcıların yaş, uyruk, cinsiyet gibi kişisel bilgilerini de kullanabilmektedir. İnternet üzerinden elde edilen konum (Global Positioning System-GPS) ve gerçek zamanlı sinyaller (Radio Frequency IDentification-RFID) gibi bilgilere olan eğilim giderek artmaktadır. Tavsiye sistemleri, farklı bilgi kaynaklarını kullanarak kullanıcılara ürünlerle ilgili tahminler ve öneriler sunar. 2 Öneri sunmak için doğruluk, yenilik ve istikrar gibi metrikler kullanılmaktadır [1]. Tavsiye sistemlerinde önemli bir rol oynayan işbirlikçi filtreleme metotları, içerik tabanlı filtreleme, bilgi tabanlı filtreleme ve sosyal filtreleme gibi yöntemlerle birlikte yaygın bir şekilde kullanılmaktadır [2]. İşbirlikçi filtreleme temel olarak, kullanıcıların daha önce yapmış oldukları incelemeler ve değerlendirmelere dayalı bir bilgi süzme tekniği kullanır [3]. İşbirlikçi filtreleme herhangi bir kullanıcının kendi deneyimlerinin yanı sıra diğer kullanıcı gruplarından elde edilen bilgilere göre öneriler gerçekleştirmektedir. Tavsiye sistemleri, benzerlik kriterlerine göre birbirine en çok benzeyen kullanıcıları bulmak için, kullanıcılara atanan skor sonuçlarını birbirleriyle karşılaştırarak benzer kullanıcılara benzer ürünler tavsiye edebilir. Skor değerleri bilinmeyen nesnelerin değerleri ise yakın komşularından faydalanılarak tahmin edilebilmektedir [1]. İşbirlikçi filtrelemenin en büyük sorunu, yeni bir kullanıcı geldiğinde karşılaştırma yapılacak herhangi eski bir kullanıcının olmamasıdır [3]. Buna karşılık, içerik tabanlı filtreleme tekniği tavsiye amacıyla kullanılabilecek bir kullanıcı profili çıkartarak, tekil kullanıcılar tarafından yapılan değerlendirmeleri analiz eder [4]. İçerik tabanlı filtreleme yaklaşımları, belirli tek bir kullanıcının ürünlere verdiği puanlara göre benzer ürünleri tavsiye etmeye çalışır. Bu durum, içeriklerin kullanıcı profilleriyle karşılaştırılmasına dayanır. Ağırlıklandırma şemaları ile öğelere yüksek ve düşük ağırlıklar verilir ve geri bildirim olarak kullanılır. Nesnelere verilen ağırlıklar, kullanıcıların puanlama durumlarına göre profillerine eklenebilmektedir [5]. Ancak, içerik tabanlı filtreleme yöntemleri de, öğeler arasındaki benzerliklerin tespit edilmesine dayandığı için kullanıcıların daha önce inceleme yapmış oldukları öğeleri tekrar tavsiye olarak sunabilmektedir. Araştırmacılar son zamanlarda içerik tabanlı filtreleme ve işbirlikçi filtreleme tekniklerini kullanarak veri madenciliği yöntemleri ile kullanıcı tercihlerini analiz edip kişiselleştirilmiş bilgi sağlama sistemlerine yönelik çalışmalar yürütmektedirler [2]. Veri madenciliği yöntemlerinden olan kümeleme yaklaşımı tavsiye sistemlerinde yaygın bir şekilde kullanılmaktadır. Kümeleme algoritmaları, belirlenen değişkenlere göre benzer özellikteki nesnelerle kümelerin oluşturulması ve farklı özellikteki nesnelerin oluşturduğu kümelerin arasındaki farkın maksimum yapılmasını sağlamaktadır [1]. 3 Kullanımlarının kolaylaşmasıyla birlikte İnternet ortamında hızlı bir şekilde gelişmekte olan tavsiye sistemlerinin müzik, film, kitap, doküman ve görüntü tavsiye sistemleri ile eöğrenme ve e-ticaret gibi alanlarda yapılmış çalışmaları mevcuttur [4-14]. Choi ve Kim tarafından 2014 yılında yapılan çalışmada, tekrarlayan satın alma modeline göre uygun ürünleri kullanıcılara sunan bir tavsiye sistemi tasarlanmıştır. Sistemde öneri kıstası olarak kullanıcı başına her bir ürün için satın almadaki yineleme sayısı kullanılmıştır. Sistem, kullanıcı tabanlı filtreleme, ürün tabanlı filtreleme ve birliktelik kuralları ile aynı anda satın alınan ürünlerin analizleri kullanılarak gerçekleştirilmiştir. Bir buçuk yıl boyunca bir şirketin satış verileri kullanılarak, sunulan önerilerin performansı analiz edilmiştir. Kullanıcı tabanlı işbirlikçi filtreleme yöntemine göre ürün tabanlı işbirlikçi filtreleme yönteminden daha iyi sonuçlar elde edilmiştir [4]. Zhang ve Yang tarafından 2011 yılında yapılan çalışmada, müşterilerden gelen geri bildirimleri temel alarak kişiselleştirilmiş bir tavsiye sistemi modeli ve tavsiye algoritması geliştirilmiştir. Geliştirilen sistem, önerilerin doğruluğunu ve müşteri memnuniyeti arttırmak için dinamik olarak müşterilerden gelen geribildirim bilgilerine dayanarak sonuçları güncelleyebilmektedir. Geliştirilen sistem ile sunulan önerilerin kalitesi ve müşteri memnuniyeti arttırılmıştır [5]. Park ve arkadaşları tarafından 2012 yılında yapılan çalışmada, tavsiye sistemleri üzerine olan araştırma eğilimini anlamak ve tavsiye sistemlerinin geleceği ile ilgili araştırmacılara bakış açısı sunmak için, 2001 ve 2010 yılları arasında tavsiye sistemleri konusu üzerine yayınlanmış 210 adet araştırma yayını incelenmiştir [3]. İncelenen çalışmaların film, müzik ve televizyon programlarının tavsiyesi üzerine olduğu ve bu durumun sebebinin de MovieLens veritabanının kullanımının kolaylığı olduğu belirtilmiştir. İncelenen 210 çalışmanın 55 tanesinin k-NN yöntemini, 72 tanesinin sezgisel modelleri kullandığı belirlenmiştir. k-NN yöntemi ile öğelerin doğrudan kullanıcıların değerlendirmelerinden veya dolaylı olarak kullanıcıların satın alma ve kullanım bilgilerinden yapılan çıkarımlarla kullanıcı profili oluşturulmuştur. Kümeleme ve birliktelik kuralı yöntemlerini kullanan kNN yönteminin gerçek iş uygulamalarında diğer tekniklere göre daha yaygın olarak kullanılmakta olduğu belirtilmiştir [3]. Zaman ve iş gücü sınırlamaları sebebiyle bilgisayar bilimleri ve pazarlama odaklı dergilerin yayınları incelemeye dâhil edilmemiştir. Konferans yayınlarının dâhil olmadığı çalışma yalnızca makalelere dayanmaktadır. Yayın 4 taraması için tavsiye sistemleri, tavsiye motoru, kişiselleştirilmiş sistem, işbirlikçi filtreleme ve içerik tabanlı filtreleme anahtar kelimeleri kullanılmıştır [3]. Huang ve arkadaşları tarafından 2008 yılında yapılan çalışmada, içerik tabanlı filtreleme, işbirlikçi filtreleme ve Web madenciliği tabanlı yaklaşımların uyum sorunlarını ve sistemin ilk çalışmasındaki bilgi eksikliği gibi dezavantajların önüne geçebilmek için çoklu ajan yaklaşımına dayanan kişiselleştirilmiş bir tavsiye sistemi (A Personalized Recommender System-APRS) sunulmuştur. Bu tavsiye sistemi ile birden fazla tavsiye yöntemi kullanılarak kullanıcıya en iyi tavsiyelerin sunulması amaçlanmıştır. Çalışma, tavsiye sistemi arayüzü basit olan deneysel bir ortamda yürütülmüştür. Arama ve tavsiye sonuçlarına göre APRS’ nin, kullanıcıların kişiselleştirilmiş bilgi gereksinimlerini iyi düzeyde karşıladığı görülmüştür [6]. Chen tarafından 2010 yılında yapılan çalışmada, kişiselleştirilmiş ortak tavsiye algoritmalarının çeşitli e- ticaret sistemlerinde uygulanması üzerine bir çalışma yapılmıştır. Çalışmada, kavramlar ve e-ticaret tavsiye sistemlerinin fonksiyonları tanıtılmıştır. Tavsiye sistemlerinde kullanılan algoritmalar birbirleriyle karşılaştırılmış ve filtreleme algoritmaları açıklanmıştır. Tavsiye sistemlerinde kullanılan yöntemlerin avantaj ve dezavantajları incelenmiştir [7]. Mukhopadhyay ve arkadaşları tarafından 2008 yılında yapılan çalışmada, ürün pazarlama şirketi ile müşteriler arasında alternatif bir ürün tavsiye sistemi sunulmuştur. Sistem kullanıcıya, daha önceki kullanıcıların davranışlarından yola çıkarak ürünler önermektedir. Sistem, veritabanındaki tüm kullanıcıların profilleri arasında yakın kullanıcıların profillerini öğrenmek için vektör uzayı modeline dayanmaktadır. Sistemde Web günlüğü kullanılarak birden fazla ürünün tavsiye edilmesi sağlanmıştır. Çalışmada aynı zamanda bellek gereksinimini en aza indirmek için ilişkilerin uygulanmasında otomat yapısı (Single Cycle Multiple Attractor Cellular Automata-SMACA) kullanılmıştır [8]. Lian tarafından 2011 yılında yapılan çalışmada, e-ticaret ortamındaki kişiselleştirilmiş Web sayfası tavsiye sistemleri incelenmiştir. Geliştirilen sistem, kullanıcılarına kümeleme özelliklerine göre kişiselleştirilmiş tavsiyeler sunmaktadır. Çalışmada işbirlikçi filtreleme tekniği kullanılmıştır. Algoritma tasarımında, kullanıcıların tavsiye sisteminin çevrimiçi bölümü, arama motoru, Web sunucusu ve kullanıcı değerlendirmeleri esas alınmıştır [9]. 5 Yu ve Sun tarafından 2010 yılında yapılan çalışmada, Web madenciliğine dayalı kişiselleştirilmiş tavsiye sistemleri üzerine bir sistem tasarımı gerçekleştirilmiştir. Çalışmada sistem çerçevesi kurulmuş, kişiselleştirilmiş tavsiye teknolojileri tanıtılmış ve analiz edilmiştir. Çalışmada, örnek bir sistem olarak amazon.com üzerinde gerçekleştirilen sistemin testi yapılmıştır [10]. Cui ve Chen tarafından 2009 yılında yapılan çalışmada, mevcut kitap tavsiye sistemlerinin kullanıcılarına tavsiye sunabilecekleri mekanizmaların yetersiz oluşu ve tavsiye bilgilerini analiz edememesi sebebiyle yeni bir kitap tavsiye sistemi tasarlanmıştır. Geliştirilen sistem, kütüphane sistemindeki bibliyografik erişim sistemi aracılığıyla ihtiyaç duyduğu kitabı bulamayan okuyucuları tavsiye sayfalarına yönlendirmekte ve bu tavsiye sayfaları da okuyucular için gerekli tüm kitap bilgilerini geniş bir yelpazede sunmaktadır. Okuyucular bu sayfalar üzerinden kitap tavsiye edebilmekte ve bu tavsiyeler de veri tavsiye sistemi tarafından analiz edilerek satın alma kararı vermede kullanılabilmektedir. Tavsiye verilerine dayanarak kitap fiyatını ve kopya sayısını hesaplamak için iki eşitlik sunulmuştur. Tavsiye sisteminin uygulanması ile tavsiye edilen kitapların kullanımında ve okurların memnuniyetinde büyük bir artış olduğu gözlemlenmiştir [11]. Min-Jie ve Jin-Ge tarafından 2010 yılında yapılan çalışmada, e-ticaret tavsiye sistemlerinde kişiselleştirilmiş bir çözüm sağlamak için Web madenciliği kümeleme teknikleri uygulanmıştır. Sistemde, günlük bilgilerinden elde edilen (User ID-URL-User Identification-Uniform Resource Locator) ilişkili matris ve kullanıcı gruplarının küme uzaklık matrisi hesaplanmıştır. Geliştirilen sistem, bir küme içerisindeki kullanıcıları tarayarak kişiselleştirilmiş öneriler sunmaktadır. Sistem işletmelerin müşterilerine kişiselleştirilmiş bilgi hizmetleri ve e-ticaret faaliyetlerini sunacak şekilde etkinleştirilerek site üzerinden ürün satışlarının artırılmasını sağlamaktadır [12]. Abdullah ve arkadaşları tarafından 2010 yılında yapılan çalışmada, kullanıcı değerlendirme verilerine dayanan, seyrek satın alınan ürünler için bir tavsiye yaklaşımı sunulmuştur. Ürün incelemelerinden elde edilen kullanıcı değerlendirme verileri, kullanıcıların ihtiyaçlarını daha iyi oranda karşılamak üzere kullanıcı profillerini oluşturmak için kullanılmıştır. Gerçek e-ticaret verileri üzerinde yapılan testler, kullanıcı ve ürün profillerini kullanan, önerilen uyarlanabilir işbirlikçi filtrelemenin (Adaptive Collaborative Filtering-ACF), ürün tavsiyelerinde ürün profillerini kullanan Genişletilmiş 6 Sorgu (Query Expanded-QE) yaklaşımından daha iyi sonuçlar verdiğini göstermiştir. Ayrıca ACF yaklaşımının e- ticaret uygulamalarında yaygın olarak kullanılan Temel Arama (Breadth First-BS) yaklaşımından daha iyi bir performans sergilediği gözlemlenmiştir [13]. Sabic ve El- Zayat tarafından 2010 yılında yapılan çalışmada, e-öğrenme modellerinin uygulanması ile ilgili iş analizleri ve geliştirilen e-üniversite sisteminin olası kullanımı açıklanmıştır. Geliştirilen sistem, birden fazla veri kaynağını kullanarak birden çok alt sistem ile birlikte çalışmaktadır. Sistem mimarisi iş akış yöneticisi, sorgu ayrıştırıcı, tavsiye planı üreticisi ve tavsiye üreticisi olmak üzere dört ana bölümden oluşmaktadır. Tavsiye sonuçlarının sunumu için, sezgisel bir kullanıcı arayüzü tasarlanmıştır ve aynı zamanda mevcut iş akışını belirli parametrelerle tanımlama yeteneği sağlayan bir Tavsiye Tercih Modülü (Suggestion Preference Module-SPM) kullanılmıştır [14]. JingHui ve arkadaşları tarafından 2008 yılında yapılan çalışmada, e-ticaret tavsiye sistemlerinde kullanılan içerik tabanlı filtreleme ve işbirlikçi filtreleme teknolojilerinin analizleri yapılmıştır. İşbirlikçi filtreleme temeli üzerinde, hesaplama karmaşıklığını azaltmak, sistemin gerçek zamanlı tepki hızını arttırmak ve tavsiye sisteminin kalitesini artırmak için kümeleme yöntemleri kullanılmıştır. Kümeleme yöntemleri ile kullanıcının komşuları arasındaki arama hesaplamaları azaltılarak, benzer kullanıcılar aynı küme içine dâhil edilmiştir. Kullanıcı uzayında hedef kullanıcıya komşu bulmak yerine ilk olarak benzer kümelerin seçilmesi ile hesaplama karmaşıklığı azaltılmış, sistemin tepki hızı arttırılmıştır [15]. Haydar ve arkadaşları tarafından 2012 yılında yapılan çalışmada, kullanıcıların farklı davranış modellerinin tespit edilerek tavsiye sistemlerinin performansları üzerindeki etkisi incelenmiştir. Performans değişimleri ve kullanıcıların davranışsal özellikleri arasındaki ilişki gösterilmiştir [16]. Chen ve arkadaşları tarafından 2007 yılında yapılan çalışmada, geleneksel tavsiye sistemlerinin programlar, favori Web siteleri ve kişisel e-postalar gibi özel günlük verilerin olmaması gibi kritik sınırlamaların üstesinden gelmek için Dinamik Kullanıcı Profiline (Content Recommendation System based on private Dynamic User Profile-CRESDUP) dayalı ajan tabanlı bir kişiselleştirilmiş içerik tavsiye sistemi sunulmuştur. Geliştirilen 7 sistem istemci tarafındaki verileri keşfederek depolamakta ve Dinamik Kullanıcı Profilini (Dynamic User Profile-DUP) güncellemektedir. Sistem DUP' un durumuna göre içerik sunucusundan tercih mesajı getirmektedir [17]. Yan-Yan ve Qui-Cheng tarafından 2010 yılında yapılan çalışmada, çoklu ajan yapısı kişiselleştirilmiş e-ticaret sistemine uygulanmış ve MAPRS (Multi Agent e-commerce Personalized Recommendation System) adı verilen çoklu ajan yapısı ile kişiselleştirilmiş bir tavsiye sistemi tasarlanmıştır. Çevrimdışı tavsiye ve çevrimiçi hibrit tavsiye ile akıllı kontrol yapısı altında çekirdek tavsiye modelini oluşturmak için kullanılmıştır. Kullanıcıların geri bildirim değerlendirmelerindeki gizlilik sorunları, kullanıcı profillerinin çeşitli faktörlerden etkilenmesi, kullanılan algoritmanın geliştirilmesi ve veri madenciliği teknolojilerinin de uygulanmasıyla birlikte sistemin uygulanabilirliği arttırılmıştır [18]. Zhenghua tarafından 2012 yılında yapılan çalışmada, kullanıcılara ilgilenebilecekleri kitapları verimli bir şekilde önerebilmek için e-ticaret iş sistemlerine veri madenciliği tekniklerinin uygulanması gerçekleştirilmiştir. Kişiselleştirilmiş tavsiye sistemi ile veri giriş prosedürleri, veri düzenleme ve ilişkilendirme yapıları açıklanmıştır. Simülasyon sonuçları veri madenciliği algoritmasının başarılı sonuçlar verdiğini göstermiştir [19]. DuBois ve arkadaşları tarafından 2009 yılında yapılan çalışmada, güven ölçütlerinin kümeleme ile birlikte kullanılması ile geliştirilen yöntem, yapılan testlerin sonuçları ve geliştirilen tekniğin gelecekteki potansiyel uygulamaları açıklanmıştır. Yazarların kümeleme ile ilgili yaptıkları daha önceki bir çalışmanın göreceli olarak başarısız olması üzerine güven temelli küme yaklaşımı geliştirilmiştir. Güven kümelerinin bellek tabanlı işbirlikçi filtreleme algoritmalarına dâhil edildiklerinde doğruluklarının önemli ölçüde geliştiği gözlemlenmiştir [20]. Memari ve Amerian tarafından 2010 yılında yapılan çalışmada, tavsiye algoritmalarına ve kullanıcıların davranışlarına bağlı olarak tavsiye kalitesini ve mevcut tavsiye sistemlerinin performansını arttırmak için yeni bir hibrit tavsiye sistemi tasarlanmıştır. Geliştirilen sistemin, işbirlikçi filtreleme yöntemine göre %56,25 daha iyi sonuçlar verdiği açıklanmıştır [21]. 8 Desrosiers ve Karypis tarafından 2011 yılında yapılan çalışmada, sadelikleri, verimlilikleri ile doğru ve kişiselleştirilmiş tavsiyeler sunmaları nedeniyle popülerliklerini koruyan işbirlikçi filtreleme yaklaşımları arasında bulunan yakın komşuluklara dayalı yöntemlerin ürün tavsiyelerinde karşılaştıkları sorunlara çözüm üretmek için komşuluk tabanlı yöntemlerin kapsamlı bir araştırması sunulmuştur. Bu tür yöntemlerin başlıca özelliklerinin yanı sıra avantajları açıklanmıştır. Ayrıca, komşuluk tabanlı tavsiye sistemlerinin uygulanması sırasında gerekli olan temel kararlar ve bu kararlar konusunda pratik bilgiler verilmiştir. Son olarak, kullanıcılar hakkındaki bilgi eksikliği sorunları ve genellikle büyük ticari tavsiye sistemlerinde gözlemlenen sınırlı kapsama sorunları tartışılmış ve bu sorunların üstesinden gelmek için çözümler sunulmuştur. Boyut indirgeme yöntemlerinin tavsiye sistemlerinde yaşanan seyreklik ve kapsam sorunlarını ortadan kaldırdığı görülmüştür [22]. Esfahani ve Alhan tarafından 2013 yılında yapılan çalışmada, C-Means kümeleme yöntemi ile daha iyi ve hızlı bir tavsiye sistemi elde etmek için hibrit bir yaklaşım sunulmuştur. Çalışmada sunulan hibrit sistem işbirlikçi filtreleme, içerik tabanlı filtreleme ve bilgi tabanlı filtreleme yaklaşımlarını kapsamaktadır. Çalışmada ürünlerin ve kullanıcıların kümelenmesi için C-Means ile bulanık kümeleme yöntemi kullanılmıştır. Kümeleme işleminden sonra kümelerden kurallar elde etmek için kural üretme motoru kullanılmıştır [23]. Pathak ve arkadaşları tarafından 2013 yılında yapılan çalışmada, günümüzdeki tavsiye sistemlerinin ve algoritmalarının kullanıcılarına en iyi ve verimli tavsiyeler sunmada başarısız olmaları nedeniyle yeni özellikler ile birlikte geleneksel algoritmaların özelliklerini birleştiren yeni bir algoritma geliştirilmiştir. Geliştirilen sistem, hibrit bir tavsiye algoritması ile kullanıcılara en iyi ve verimli kitap tavsiyeleri sunmaktadır. Çalışmada, geliştirilen sistem ile geleneksel tavsiye algoritmalarının karşılaştırmaları yapılmıştır [24]. Xiaolin ve Guanglin tarafından 2012 yılında yapılan çalışmada, toplu zekâ (Collective Intelligence) teknolojilerinin akıllı Web uygulamalarında kullanıldığı günümüzde bu uygulamalardan biri olarak işbirlikçi filtreleme yaklaşımı ile bir tavsiye sistemi oluşturulmuştur. Tasarlanan sistem örnek olarak alınan bir alışveriş sitesinin tavsiye 9 listelerini daha makul bir hale getirmek için Jaccard benzerliği temelinde kullanıcı tabanlı benzerlik ve ürün tabanlı benzerlik yaklaşımlarını birleştirmiştir [25]. Lu ve Li tarafından 2007 yılında yapılan çalışmada, işbirlikçi filtrelemenin teknik olarak en başarılı yöntem olması ve çok çeşitli uygulamalarda kullanılmasına rağmen işbirlikçi filtrelemenin kullanıcılar hakkında bilgi sahibi olmadığı durumlardaki sorunların üstesinden gelmek için geliştirilen sistemde, işbirlikçi filtrelemedeki benzerlik derecesini artırmak için kullanıcıların kişisel özelliklerini dikkate alarak genel benzerlik derecesi belirlenmiştir. Genetik algoritma tabanlı yaklaşım kullanıcıların her özelliğinin ağırlık değerini belirlemek için kullanılmıştır. Yapılan test sonuçları geliştirilen yöntemin daha iyi performansa sahip olduğunu göstermiştir [26]. Tamura ve arkadaşları tarafından 2013 yılında yapılan çalışmada, uyumlu bir aile yaşam ortamı oluşturmak için akıllı bir ev sistemi tasarlanmıştır. Geliştirilen sistem bireysel faaliyetler ve çevreleri üzerindeki verilerin elde edilmesi, faaliyetlerin belirlenmesi için veri madenciliği ve kişiselleştirilmiş bir tavsiye motorundan oluşmaktadır. Çalışmada, simüle edilmiş sensörler ve ev ortamları ile matris tabanlı veri madenciliğinin kullanıldığı yeni yaklaşım ile meydana gelebilecek olumsuz olayları önlemeyi amaçlayan kişiselleştirilmiş tavsiye motoru geliştirilmiştir. Çocuk eğitimi ve yaşlı bakımı senaryoları ile geliştirilen sistemin performansı değerlendirilmiştir [27]. Kulkarni ve arkadaşları tarafından 2013 yılında yapılan çalışmada, insanların yaşam kalitelerini etkileyen sensörler, cep telefonları ve sosyal ağ uygulamalarının gerçek dünyadaki kullanım senaryolarının kavramsal analizleri gerçekleştirilmiştir. Yapılan çalışma cep telefonları, sensörler ve sosyal ağların entegrasyonu ile güçlendirilmiş mağazalarda, kişi ya da grupların alışveriş deneyimini artırmaya çalışmıştır. İyi bir alışveriş deneyimi için kişilerin veya grupların profillerle eşleştirilmesi gerçekleştirilmiştir [28]. Yang ve arkadaşları tarafından 2007 yılında yapılan çalışmada, otomatik özetlemeye dayalı, bilimsel ve teknolojik dergiler için kişiselleştirilmiş bir tavsiye sisteminin çerçeve modeli tasarlanmıştır. Bu sistem kullanıcılara tez dosyalarının indeksleri, özetler ve okurların değerlendirmeleri gibi önemli bilgilerin kümesini önermektedir. Sistem, değerli belgeleri hızlı ve etkin bir şekilde elde etmek için araştırmacılara yardımcı olmakta ve 10 kullanıcıların kişiselleştirilmiş taleplerini karşılamak amacıyla bilimsel ve teknolojik hizmetlerin daha kişisel hale getirilmesini amaçlamaktadır [29]. Zihao ve Hui tarafından 2010 yılında yapılan çalışmada, tavsiye sistemlerinde kullanılan Web madenciliği süreçleri analiz edilmiştir. Tavsiye sistemleri için bir çerçeve tasarlanmış ve e-ticaret için bir tavsiye motoru geliştirilmiştir. Bu model çerçevesinde, veri toplama modülü ile tavsiyelerin doğruluğu ve yanıtların verimliliği arasındaki denge sorununu çözmek için çevrimiçi ve çevrimdışı modülü oluşturulmuştur. Test sonuçları geliştirilen sistemin etkinliği arttırdığını, tepki süresini azalttığını ve tavsiye etkisinin güçlü olduğunu göstermiştir [30]. 11 2. WEB MADENCİLİĞİ Bilgilerin elde edilmesi ve paylaşılması için popüler ve etkileşimli bir ortam olan İnternet, çeşitliliği, dinamikliği ve sahip olduğu büyük miktardaki veri sebebiyle kullanıcıları aşırı bilgi yükleme ile karşı karşıya bırakmaktadır. Kullanıcıların Web ile olan etkileşimlerindeki artış hem aşırı bir bilgi yığınının oluşmasına sebep olmakta hem de veritabanlarında tutulan veri miktarlarında olağanüstü bir artışa sebep olmaktadır. Kullanıcılar Web üzerinde mevcut olan bilgilerden daha karmaşık bilgiler ve çıkarımlar yapmayı beklemektedirler. Örneğin, bir e-ticaret sisteminin pazarlama müdürü, müşteri listelerinin yanı sıra müşterilerin geçmişte satın aldıkları ürünler ve gelecekte satın alacakları ürünlere dair tahminler elde etmek istemektedir. Basit yapıdaki veritabanı sorguları ise bu gibi artan bilgi taleplerini desteklemek için yeterli değildir. Veri madenciliği yöntemleri bu tür analiz ihtiyaçlarını karşılamak için kullanılmaktadır. Veri madenciliği veri keşfi ve tümdengelim yöntemleriyle veritabanlarındaki gizli bilgileri elde etmeye yönelik kullanılmaktadır [32]. Veri madenciliği yöntemleri veri madenciliği, Web madenciliği ve metin madenciliği olmak üzere üç ayrı başlık altında sınıflandırılır. Veri madenciliği süreçlerinde veriler yapısal olarak değişikliğe uğrayabilirler. Veri madenciliği esas olarak bir veritabanındaki yapılandırılmış veriler ile ilgilenirken metin madenciliği yapılandırılmamış veri ya da metin ile ilgilenir. Web madenciliği ise yarı yapılandırılmış veriler ve yapılandırılmamış veriler ile ilgilenir. Web madenciliği, metin madenciliği teknikleri ve kendine özgü yaklaşımları ile veri madenciliği yöntemlerini birlikte kullanır. Web madenciliği, veri madenciliği yöntemleri arasındaki en karmaşık alandır çünkü Web üzerindeki heterojen ve yapılandırılmamış veri yığını üzerinde işlem yapmak oldukça zordur. Sing ve Singh tarafından 2010 yılında yapılan çalışmada, Web madenciliği Web üzerindeki verilerden, ilginç ve potansiyel olarak yararlı bilgileri bulmak için veri madenciliği tekniklerinin uygulanması olarak tanımlanmıştır [31]. 12 Veri madenciliği Denetimli öğrenme Kümeleme Sınıflandırma Tahmin K-en yakın komşu Denetimsiz öğrenme Karar ağacı K-en yakın komşu Lojistik regresyon Naive bayes Sinir ağları Analiz Birliktelik kuralları İşbirlikçi filtreleme Ayırma analizi Şekil 2.1. Veri madenciliğinin alt alanları Bilgi paylaşımının etkileşimli ve popüler bir şekilde yapıldığı Web ortamında kullanıcı etkileşimlerinde İnternetin büyüyen yapısı, çeşitliliği ve dinamik yapısı nedeniyle aşağıdaki sorunlar yaşanabilmektedir: - İlişkili bilgileri bulma: Kullanıcılar tarama yapmak istediklerinde ya da istedikleri bilgiyi bulmak istediklerinde arama motorlarını kullanmaktadırlar. Ancak günümüz arama motorları arama sonuçlarındaki ilgisizlik nedeniyle düşük hassasiyet sorunları yaşatmaktadır. Bu durum, kullanıcının istediği bilgiyi bulmasını zorlaştırmaktadır [33]. - Web üzerindeki mevcut bilgilerden yeni bilgi çıkarımı yapma: Bu sorun temelde ilişkili bilgileri bulmanın alt sorunudur. Bu durum arama süreci tarafından tetiklenir ve Web üzerinde sahip olunan bilgilerden ihtiyaç duyulan bilginin çıkarılmasındaki zorluğu açıklar [33]. - Kişiselleştirilmiş bilgiler: Web ile etkileşim halinde olan kullanıcıların tercih ettikleri içerikler ve sunumlar farklılık göstermektedir [33]. - Müşteriler veya bireysel kullanıcılar hakkında bilgi edinilmesi: Bu sorun kullanıcıların ne yaptıkları ve ne istedikleri ile ilgilidir. Kullanıcılara özel kişiselleştirilmiş bilgiler ile ilgili olan bu sorun Web sitesi tasarımı, yönetimi ve pazarlama ile ilişkilidir [33]. Yukarıda belirtilen sorunları çözmek için veritabanı, bilgiye erişim (Information RetrievalIR) ve doğal dil işleme (Natural Language Processing-NLP) gibi kullanılan farklı araçlar vardır. Web madenciliği teknikleri ise doğrudan veya dolaylı olarak aşırı bilgi yükleme sorununu çözmek için kullanılmaktadırlar [22]. 13 Zhang ve Segall, Web madenciliğini aşağıdaki alt görevlere bölmüşlerdir [34]: - Kaynak keşfi: Web üzerindeki yabancı belge ve hizmetlerin yerinin belirlenmesidir. - Bilgi seçimi ve ön işleme: Otomatik olarak, yeni keşfedilen Web kaynaklarındaki özel bilgileri çıkarma ve ön işlemedir. - Genelleme: Web siteleri ve çoklu siteler arasındaki genel kalıpların ortaya çıkarılmasıdır. - Analiz: Doğrulama ve çıkarılan modellerin yorumlanmasıdır. - Görselleştirme: Görsel ve kolay anlaşılır bir şekilde interaktif olarak analiz sonuçlarının sunulmasıdır. Web madenciliği, Şekil 2.2’ de görüldüğü gibi Web yapısı madenciliği, Web içerik madenciliği ve Web kullanım madenciliği başlıkları altında incelenmektedir. Web içerik madenciliği, Web üzerinde bulunan belgelerin içeriklerinden veya bu belgelerin açıklamalarından bilgi çıkarma işlemidir. Web yapısı madenciliği, faydalı bilgilerin Web üzerinde bulunan bağlantılar ile referanslardan çıkarılması sürecidir. Web kullanım madenciliği ise kullanıcıların Web sayfaları ile olan etkileşimlerinden bilgi çıkarımı yapmak için kullanılmaktadır [35]. Web madenciliği Web içerik madenciliği Metin madenciliği Multimedya madenciliği Web yapısı madenciliği Link madenciliği İç yapı madenciliği Web kullanım madenciliği URL madenciliği Kullanıcıların örüntülere erişimlerini izleme Kullanıcı davranışlarını izleme Şekil 2.2. Web madenciliğinin alt alanları Bu tez çalışması kapsamında, Şekil 2.2’ de görülen Web kullanım madenciliği, kullanıcıların geliştirilen sistem ile olan etkileşimleri, yaptıkları tıklamalar ve sayfalarda geçirdikleri süreleri değerlendirmek için kullanılmıştır. 14 2.1. Web İçerik Madenciliği Web içerik madenciliği, Web crawler adı verilen tarama robotları ya da içerik indeksleme yazılımlarının yardımıyla Web sayfalarının içeriğinin analiz edilerek kullanışlı ve faydalı bilgilerin çıkarılması temeline dayanmaktadır. Web içerik madenciliği kullanılarak, Web üzerinde bulunan sayfalar kapsamlarına göre sınıflandırılabilir [34]. 2.2. Web Yapısı Madenciliği Web yapısı madenciliği, Web sayfalarından ve Web sayfaları arasında köprü görevi gören bağlantı linklerinden bilgi çıkarımı yapmak için kullanılır. Web sayfaları üzerinde bulunan bağlantılar kullanılarak, Web sayfaları hakkında yapısal bir özet oluşturulur. Yapılan çıkarımlar ile hem benzer niteliklere sahip olan kullanıcılar belirlenebilir, hem de belirli bir konu başlığı ile ilgili faydalı ve geçerli bilgiler elde edilebilir [35]. 2.3. Web Kullanım Madenciliği Web günlüğü madenciliği olarak ta bilinen Web kullanım madenciliği, kullanıcıların Web sayfaları ile olan etkileşimlerinden, Web sayfaları üzerindeki gezinmelerinden ve tıkladıkları öğelerden, kullanıcı davranışları ile ilgili tahminlerde bulunulmasına olanak sağlar [37]. Web kullanım madenciliğinin amacı, Web sitelerinin yeniden düzenlenmesine yardımcı olmak ve kullanıcıların daha iyi adapte olmasını sağlayabilecek bilgileri elde etmektir. Web kullanım madenciliğinin veri kaynakları, otomatik olarak üretilen sunucuların erişim günlükleri, yönlendirme günlükleri, ajan günlükleri ve istemci tarafında saklanan çerez verilerinden oluşmaktadır [38]. Web kullanım madenciliği süreçlerinde yaygın olarak iki farklı yaklaşım kullanılmaktadır [39]. İlk yaklaşım, veri madenciliği teknikleri kullanılmadan önce ilişkisel tablolar ile Web sunucularının kullanım verilerinin eşlenmesidir. İkinci yaklaşım ise, günlük verileri üzerinde doğrudan özel ön işleme tekniklerinin kullanılmasıdır. Bütün veri madenciliği uygulamalarında olduğu gibi veri kalitesi ve ön işleme sorunları Web kullanım madenciliğinde de çok önemlidir. Yaşanabilecek genel sorunlar tekil kullanıcıların ayırt edilmesi, sunucu oturumları ve sisteme yapılan saldırılardır. 15 Web kullanım madenciliğinin aşamaları Şekil 2.3’ de görüldüğü gibi veri toplama, veri ön işleme, örüntülerin belirlenmesi ve son işlemedir. Site dosyaları Örüntülerin çıkarılması Ön işleme İşlenmemiş log dosyaları Ön işleme Örüntü analizi Kurallar, örüntüler, istatistikler Faydalı kurallar ve örüntüler Şekil 2.3. Web kullanım madenciliğinin aşamaları Veri toplama aşamasında, veriler Web sunucularından ya da kullanıcıların ziyaret ettikleri Web sayfalarından elde edilir. Veri ön işleme aşaması, verilerin ayrıştırılması, kullanıcıların tanımlaması ve kullanıcı oturumlarının belirlenmesini içermektedir. Örüntülerin belirlenmesi aşamasında, verilerden makine öğrenmesi teknikleri kullanılarak çıkarımlar yapılır. Son işlemede çıkarım yapılan bilgiler değerlendirilir ve raporlama ya da görselleştirme teknikleri ile insanların anlayabileceği bir yapıya dönüştürülür. Bu tekniklere ek olarak işlenen sonuçlar bir Web kişiselleştirme modülüne dâhil edilebilir [33]. 16 2.3.1. Ön işleme Ön işleme aşamasında, örüntülerin elde edilebilmesi için veriler kullanışlılıkları, içerikleri ve yapıları ile ilgili dönüşüm işlemlerine tabi tutulurlar. Ön işleme sürecinden çıkan veriler, örüntü keşfi ve örüntü analizi aşamalarında kullanılacak olmaları nedeniyle ön işleme süreci Web kullanım madenciliğinin en önemli aşamasıdır [40]. Kullanıcıların sistem ile gerçekleştirdiği etkileşimlerin tutulduğu log dosyaları ön işleme sürecinde önemli bir etkiye sahiptir. Veriler sunucu tarafında, istemci tarafında, proxy sunucularda ya da işlemsel veritabanlarında saklanabilir. Web sunucu kayıtları sayfa isteklerinin geçmişini tutar ve bu sunucularda hizmet isteği, istemcinin IP adresi, isteğin tarih ve zamanı, istenen sayfa, HTTP kodu ve kullanıcı bilgileri saklanır. Çıkarılan örüntülerin verimliliğini ve kalitesini artırmak için verilerde bulunan gürültü ve kirlilik, veri temizleme, veri entegrasyonu, veri dönüşümleri ve veri azaltma gibi çeşitli ön işleme teknikleri ile işleme tabi tutulur [31, 36]. 2.3.2. Örüntü keşfi Örüntü keşfi, istatistik, makine öğrenmesi, veri madenciliği ve örüntü tanıma gibi çeşitli alanlardaki metot ve algoritmalar ile gerçekleştirilen bir süreçtir. - İstatistiksel analiz: İstatistiksel teknikler Web sitelerinin ziyaretçileri hakkında bilgi almak için en yaygın yöntemdir. Oturum dosyaları analiz edilerek, görüntülenen sayfalar ve sayfaların görüntülenme süreleri gibi değişkenler ile farklı istatistiksel analizler gerçekleştirilebilir [36]. - Birliktelik kuralları: Veri madenciliğinin önemli bir çalışma alanı olan birliktelik kuralları, iki veya daha fazla öğe arasındaki ilişkileri belirlemek için kullanılır. Birliktelik kurallarının amacı olayların birlikte gerçekleşme durumlarını belirlemektir. Birliktelik kurallarının kullanışlılığı genellikle destek ve güven parametreleri kullanılarak değerlendirilir. Destek parametresi iki olayın birlikte meydana gelme olasılığını ifade eder. Birliktelik kurallarının yaygın kullanım alanı müşterilerin satın aldıkları ürünler arasındaki ilişkilerin belirlendiği market sepeti analizidir. A → B kuralında destek değerinin %20 olarak belirlenmesi, yapılan tüm seçimlerin %20’sinde A ve B öğelerinin birlikte seçildiğini ifade etmektedir. A → B kuralında güven değerinin %80 olarak belirlenmesi ise A öğesinin %80’inin B öğesi ile birlikte seçildiğini ifade etmektedir [41]. 17 Birliktelik kuralları, I öğelerin kümesi ve T tüm işlemlerin kümesi olmak üzere; I = {𝑖1 , 𝑖2 , 𝑖3 , …, 𝑖𝑚 } T= {𝑡1 , 𝑡2 , 𝑡3 , …, 𝑡𝑛 } X → Y, X ⊂ I, Y ⊂ I ve X ∩ Y = ∅ şeklinde ifade edilir. Burada X ve Y nitelikler kümesi olarak ifade edilir. U öğesi ile V öğesinin birlikte seçilme durumu V (U → V) ile ifade edilir. (U → V) birlikteliği için destek değeri, P (U ∩ V) = 𝑈 𝑣𝑒 𝑉 öğ𝑒𝑙𝑒𝑟𝑖𝑛𝑖𝑛 𝑏𝑖𝑟𝑙𝑖𝑘𝑡𝑒 𝑠𝑒ç𝑖𝑙𝑑𝑖ğ𝑖 𝑖ş𝑙𝑒𝑚 𝑠𝑎𝑦𝚤𝑠𝚤 𝑌𝑎𝑝𝚤𝑙𝑚𝚤ş 𝑜𝑙𝑎𝑛 𝑏ü𝑡ü𝑛 𝑖ş𝑙𝑒𝑚𝑙𝑒𝑟𝑖𝑛 𝑠𝑎𝑦𝚤𝑠𝚤 (2.1) eşitliği ile ifade edilir. Destek değeri simetriktir. Yani U → V için geçerli olan destek değeri V → U için de geçerlidir. (U → V) birlikteliği için güven değeri, P(V | U ) P(U V ) P(U ) (2.2) eşitliği ile ifade edilir. Güven değeri, U ve V öğelerinin birlikte seçildiği işlem sayısının U öğesinin seçildiği işlem sayısına oranı olarak hesaplanır. Destek değerinin aksine güven değeri simetrik değildir. Yani U → V için geçerli olan güven değeri V → U için geçerli olmayabilir [41, 42]. Birliktelik kurallarında kullanılan Apriori algoritması Agrawal ve Srikant tarafından 1994 yılında önerilmiştir [64]. Apriori algoritması ile birliktelik kurallarını oluşturmak için öncelikle veritabanındaki her bir öğenin tekrar etme sayısının belirlenmesi ve minimum destek değerinin üzerinde tekrar eden öğelerin seçilmesi gerekir. Şekil 2.4’ de Apriori algoritmasının kaba kodu verilmiştir. 18 Şekil 2.4. Apriori algoritmasının kaba kodu Apriori algoritması özellikle çok büyük ölçekli veritabanlarındaki veriler arasındaki ilişkileri çıkarmak için geliştirilmiştir. Apriori algoritması, aşağıdan yukarıya yaklaşımı kullanmakta olup, her seferinde veritabanındaki tek bir elemanı incelemekte ve bu elemanla diğer adaylar arasındaki ilişkileri ortaya çıkarmaktadır. Algoritma, adayları birer ağaç yapısı gibi düşünerek birliktelikleri bu ağaç üzerinde arıyor kabul edilebilir. Ağaç yapısında, k elemanlı bir aday listesinden k-1 eleman incelendikten sonra, alt frekans örüntüsü yetersiz olan elemanlar elenmekte ve kalan elemanlar üzerinden arama yapmaya devam edilmektedir. Apriori algoritmasında gerçekleştirilen her işlem bir veri seti olarak görülmektedir. Belirlenen bir destek değerinden daha fazla tekrarlanmış olan işlemler aday işlem olarak belirlenir. Her bir işlem için veritabanındaki tekrarlanma sayısı bulunur ve destek değeri ile karşılaştırılır. Apriori algoritması minimum destek değerine sahip birliktelik kurallarının oluşturulması ve minimum güven değerine sahip birliktelik kurallarının oluşturulması olmak üzere iki aşamadan oluşmaktadır. Şekil 2.4’ de görülen Apriori algoritmasının kaba kodunun 1.satırında T veritabanı ve minimum_destekdegeri minimum destek değeri olarak belirlenmiştir. 2. satırında boyutu 1 olan veri setleri üretilmekte ve 3. satırında yeni hiç bir tekrar eden veri seti bulunmayana kadar işlem tekrar edilir. 4. satırında k-1 boyutlu veri setlerinden k boyutlu aday veri setleri üretilir. 5. satırında yeteri kadar sık tekrar etmeyen 19 adaylar elenir. 6. satırında veritabanı taranarak her bir aday veri seti için destek değeri hesaplanır ve destek değerinden küçük adaylar elenir. Birliktelik kurallarına örnek olarak, Şekil 2.5’ deki gibi bir veritabanında gerçekleştirilmiş olan 9 adet işlemden destek değeri %22 ve güven değeri %70 olarak elde edilen kurallar aşağıda verilmiştir. İşlem ID Ürün listesi T100 I1, I2, I5 T101 I2, I4 T102 I2, I3 T103 I1, I2, I4 T104 I1, I3 T105 I2, I3 T106 I1, I3 T107 I1, I2, I3, I5 T108 I1, I2, I3 Şekil 2.5. Gerçekleştirilen 9 adet işlem İlk olarak Apriori algoritması kullanılarak öğelerin teker teker frekansları hesaplanır. Daha sonra destek ve güven değerlerine göre birliktelik kuralları elde edilir [43]. Nitelikler kümesi Destek değeri {I1} 6 {I2} 7 {I3} 6 {I4} 2 {I5} 2 Şekil 2.6. İşlemler içerisinde geçen her bir öğenin frekansı 20 Şekil 2.6’ daki gibi her bir elemanın seçilme sayıları hesaplanır ve belirlenen destek değeri ile karşılaştırılır. Daha sonra ise Şekil 2.7’ deki gibi ikili birliktelikler analiz edilir. Şekil 2.7. İkili nitelikler kümesi Belirlenen destek değeri %22’ den yüksek birlikteliğe sahip ikililer değerlendirmeye alınır. Şekil 2.8’ deki gibi ikiden fazla birliktelik mevcutsa belirlenen destek değerinden büyük olan öğeler değerlendirmeye alınır. Nitelikler kümesi Destek değeri {I1, I2, I3} 2 {I1, I2, I5} 2 Şekil 2.8. Üçlü nitelikler kümesi Maksimum birliktelik sayısına ulaşıldığında, belirlenen güven değeri %70’ e göre birliktelik kuralları oluşturulur. Kural 1: 𝐼1 ^ 𝐼2 → 𝐼5 kuralında güven = {𝐼1 , 𝐼2 , 𝐼5 }/ {𝐼1 , 𝐼2 }= 2/4 = %50 Güven değerinden küçük olduğu için kural 1 kabul edilmez. Kural 2: 𝐼1 ^ 𝐼5 → 𝐼2 kuralında güven = {𝐼1 , 𝐼2 , 𝐼5 }/ {𝐼1 , 𝐼5 }= 2/2 = %100 21 Güven değerinden büyük olduğu için kural 2 kabul edilir. Kural 3: 𝐼1 ^ 𝐼5 → 𝐼2 kuralında güven = {𝐼1 , 𝐼2 , 𝐼5 }/ {𝐼2 , 𝐼5 }= 2/2 = %100 Güven değerinden büyük olduğu için kural 3 kabul edilir. Kural 4: 𝐼1 → 𝐼2 ^ 𝐼5 kuralında güven = {𝐼1 , 𝐼2 , 𝐼5 }/ {𝐼1 }= 2/6 = %33 Güven değerinden küçük olduğu için kural 4 kabul edilmez. Kural 5: 𝐼2 → 𝐼1 ^ 𝐼5 kuralında güven = {𝐼1 , 𝐼2 , 𝐼5 }/ {𝐼2 }= 2/7 = %29 Güven değerinden küçük olduğu için kural 5 kabul edilmez. Kural 6: 𝐼5 → 𝐼1 ^ 𝐼2 kuralında güven = {𝐼1 , 𝐼2 , 𝐼5 }/ {𝐼5 }= 2/2 = %100 Güven değerinden büyük olduğu için kural 6 kabul edilir. Sonuç olarak, aşağıdaki üç adet birliktelik kuralı elde edilmiş olur: - Kümeleme - Sınıflandırma - Ardışık örüntülerin belirlenmesi - Kümeleme: Kümeleme, benzer özelliklere sahip bir dizi öğenin birlikte gruplanmasına dayalı bir tekniktir. Web kullanımı alanında, kümelerin belirlenebilmesi için kullanım kümeleri ve sayfa kümeleri olmak üzere iki yöntem kullanılır. Kullanıcıların kümelenmesinde amaç, benzer örüntüler sergileyen kullanıcıların belirli bir küme içerisine yerleştirilmesidir. Bu şekilde kullanıcıların demografik özelliklerinin çıkarılması e-ticaret uygulamalarında pazar araştırması yapmada ve kullanıcılara kişiselleştirilmiş Web içeriklerinin sağlanmasında yardımcı olabilir. Ayrıca Web sayfalarının içeriklerine göre gruplandırılması arama motorları ve Web servis sağlayıcıları için faydalı olmaktadır [36,40]. - Sınıflandırma: Sınıflandırma, önceden tanımlanmış çeşitli sınıflarla, veri öğelerini eşleştirme görevidir. Sınıflandırma ile belirli bir sınıf veya kategoriye ait kullanıcı profillerinin geliştirilmesi amaçlanmaktadır. Sınıflandırma işlemi, karar ağaçları, Naive Bayes, k-en yakın komşu ve destek vektör makineleri gibi denetimli öğrenme algoritmaları kullanılarak yapılabilmektedir [31,40]. - Ardışık örüntülerin belirlenmesi: Ardışık örüntülerin belirlenmesinde amaç seçilmiş bir dizi öğeden sonra yapılacak seçimlerdeki örüntülerin elde edilmesidir. Bu yaklaşım kullanılarak, e-ticaret uygulamalarında belirli kullanıcı gruplarına yönelik reklamlar vasıtasıyla kullanıcıların gelecekteki ziyaret örüntüleri tahmin edilebilmektedir [31,36]. 22 2.3.3. Örüntü analizi Web kullanım madenciliğinin son adımı olan örüntü analizinde amaç örüntü keşfi aşamasında elde edilen kural ya da örüntülerden kullanışlı olmayanların filtrelenmesidir. Örüntü analizleri SQL (Structured Query Language) gibi sorgu mekanizmaları ile gerçekleştirilir. Kullanılan diğer bir yöntem ise OLAP (Online Analytical Processing) işlemlerini gerçekleştirmek için verilerin bir veri küpü içine yerleştirilmesidir. Örüntülerin grafiklerle ifade edilmesi ya da farklı değerlere farklı renk atama gibi görselleştirme teknikleriyle örüntülerin önemli kısımları vurgulanabilmektedir [40]. 23 3. KULLANICI DAVRANIŞ ANALİZİ İnternet üzerindeki veri miktarındaki artış ve arama motorlarının sınırlamalarından dolayı daha gelişmiş araçlar ile kullanıcılara doğru bilgiyi sunmak, kullanıcıların ihtiyaç ve beklentilerini karşılayan sonuçlar elde etmek için gereklidir. Günümüzde gelişmekte olan tavsiye sistemleri sundukları öneriler ile kullanıcılara yardımcı olarak ön plana çıkmaktadırlar. Tavsiye sistemleri, kullanıcı modelleri, ürün modelleri, tavsiye algoritması ve bir etkileşim mekanizmasından oluşur. Kullanıcı modelleri, kullanıcı deneyimlerini kişiselleştirmek için gerekli tüm bilgileri içerir. Tavsiye sistemlerinde kişiselleştirilmiş öneri yaklaşımı kullanıcıların geçmişteki davranışlarına göre yapılır. Bu yaklaşımlar ile kullanıcılara en uygun öneriler sunulmaya çalışılır [44]. Tavsiye sistemleri kullanıcıların gezinme davranışlarına ve yaptıkları puanlamalara göre ikiye ayrılır [45]. Gezinme davranışı, kullanıcıların bir oturum içindeki sayfa ziyaretlerinden oluşur. Kullanıcı değerlendirmeleri ise genellikle e-ticaret sitelerinde kullanılan ürünlere kullanıcılar tarafından puan verilmesine dayanmaktadır [41]. Şekil 3.1’ de tavsiye sistemlerinde kullanılan yöntemler görülmektedir. Tavsiye sistemleri Kullanıcı puanlamasına dayalı Kullanıcı davranışına dayalı Tıklama analizi Geçirilen zaman ve kullanıcı ilgisine göre dolaylı değerlendirme Dolaylı değerlendirme Doğrudan değerlendirme Şekil 3.1. Tavsiye sistemlerinde kullanılan yöntemler Temel olarak kullanıcıların sistem ile olan etkileşimlerinin sonuçları gerek doğrudan gerek dolaylı olarak elde edilebilir. Kullanıcıların ürünler hakkındaki değerlendirmeleri puanlama ölçekleri yardımıyla doğrudan elde edilebilirken, kullanıcıların tıklama verileri ya da Web sayfalarındaki gezinme sürelerinden yapılan çıkarımlarla dolaylı olarak da elde edilebilir. Değerlendirmeler kullanıcılardan doğrudan alınırken kitap değerlendirmelerindeki gibi metin formu kullanılabildiği gibi restoranlar için yıldız ölçeği, 24 film değerlendirmesi için onlu ölçek gibi farklı bir takım ölçekler de kullanılabilir. Doğrudan değerlendirmenin temel unsuru kullanıcıların ürünleri incelemesi ve değerlendirme ölçeğine bir değer atamasıdır. Doğrudan değerlendirme sisteminin sosyal platformlarda kullanılması, kullanıcıların ürün incelemelerini ve verecekleri kararları etkileyebilir. Ayrıca bir kullanıcının yapmış olduğu değerlendirme diğer kullanıcıları etkileyebilmektedir [39]. Değerlendirmelerin dolaylı olarak elde edilmesinde ise sonuçlar kullanıcılara gösterilmez. Kullanıcıların sistem ile olan etkileşimlerinden elde edilen bu sonuçlar, doğrudan kullanıcıların yaptıkları değerlendirmelerden elde edilen sonuçlara göre analizler için daha faydalı olabilmektedir [45]. Bu tez çalışmasında kullanıcılardan filmlerle ilgili herhangi bir geribildirim almadan, kullanıcıların Web sayfaları ve filmlerle olan etkileşimlerinden çıkarımlar yapılarak kullanıcı davranış analizi gerçekleştirilmiştir. 3.1. Geribildirimlerin Kullanıcılardan Doğrudan Alınması Kullanıcılardan geribildirimlerin dolaylı olarak elde edilmesi sorunsuz ve kullanıcı tercihlerini daha doğru yansıtıyor gibi görünse de, tavsiye sistemi uygulamalarının büyük çoğunluğu geribildirimleri kullanıcılardan doğrudan almaya odaklanmıştır. Tavsiye sistemi uygulamalarında, değerlendirme ölçekleri yardımıyla geribildirimlerin alınması, kullanıcıların ürünlere olan ilgi düzeylerini ifade etmelerinin bir yolu olarak kullanılmaktadır. Kullanıcıların ürünler ile etkileşimleri ölçekli, ikili ve tek terimli olarak belirlenebilir. Puanlama olarak bilinen bu sistemde kullanıcılardan sayısal olarak öneriler hakkındaki değerlendirmeleri alınabilir (1-5 yıldız gibi) ya da ürünler hakkındaki yorumları sorgulanabilir (çok beğendim, hiç beğenmedim gibi). İkili değerlendirmeler ise kullanıcıların beğeni (beğendim, beğenmedim) durumlarının sorgulanması ile elde edilebilir. Tek terimli değerlendirme ise kullanıcıdan herhangi bir geri bildirim almaksızın kullanıcının satın alma ya da çevrimiçi erişim durumu gibi sistemle olan etkileşimlerine göre yapılır. Çoğu kullanıcı ilgili olduğu ürünleri bulmak için sistem ile etkileşim halinde olduklarından tek terimli değerlendirmeler kullanıcıların tercihleri hakkında yararlı bilgiler sağlayabilmektedir [22]. Genel olarak, kullanıcılardan doğrudan geribildirim alınan sistemlerde yanıt ölçekleri kullanılmaktadır. Ölçeklerde, puanların kullanıcı tercihlerini temsil eden sayısal değerlere dönüştürüldüğü farklı değerlendirme arayüzleri mevcuttur 25 [22]. Örneğin, amazon.com Web sitesi kullanıcı değerlendirmelerini Şekil 3.2’ de görüldüğü gibi 5 yıldız üzerinden almaktadır. Şekil 3.2. amazon.com’ un kullanıcılardan geribildirimlerini aldığı 5 yıldızlı değerlendirme ölçeği IMDb Web sitesi ise kullanıcılardan geribildirimlerini Şekil 3.3’ de görüldüğü gibi 1 ile 10 arası puandan oluşan bir değerlendirme ölçeği ile almaktadır. 26 Şekil 3.3. imdb.com’ un kullanıcılardan geribildirimlerini aldığı 10 yıldızlı değerlendirme ölçeği Değerlendirme verileri last.fm ya da youtube.com’ da ki gibi kullanıcılardan ikili değerler şeklinde de alınabilir. Şekil 3.4’ de görüldüğü gibi beğendim (pozitif geribildirim) ya da beğenmedim (negatif geribildirim) şeklindeki butonlarla kullanıcılardan ürünler hakkındaki geribildirimlerini paylaşmaları istenebilir. Şekil 3.4. youtube.com ikili geribildirim ölçeği Kullanıcıların ürünler ile yapmış oldukları geribildirimlerin mutlak olarak kullanıcı tercihlerini yansıtmadığı bilinmektedir. Kullanıcıların ürünler üzerine olan ilgisinin sayısal bir değere dönüştürülmesi veri kaybına neden olmaktadır. Tavsiye sistemleri üzerine yapılan araştırmalar tamamen yeni algoritmalar ile mevcut algoritmaların geliştirilmesi üzerine odaklanmıştır. Bu bağlamda, kullanıcılardan alınan değerlendirme sonuçları geliştirilen algoritmalara öneri sunma aşamasında yardımcı olacaktır. 27 3.2. Geribildirimlerin Kullanıcılardan Dolaylı Olarak Alınması Dolaylı olarak elde edilen geribildirimlerde kullanıcılara ürünler ile ilgili sorular sormak yerine, çevrimiçi kullanıcı davranışları gözlemlenir. Kullanıcıların tıkladığı öğeler, görüntüledikleri içerikler, sayfalarda kalma süreleri, ağ kullanım analizleri, açılış sayfaları, satın alma durumları, yaptıkları sorgular, kaydetme ve çıktı alma durumları, inceledikleri ürünleri tekrar incelemeleri, favorilerine eklemeleri gibi davranışları gözlemlenerek uygun bir kullanıcı profili oluşturulabilir. Örnek olarak bir kullanıcı profesyonel eğitmenlerden hızlı kilo verme önerileri başlıklı bir yazıya tıklarsa buradan bu kullanıcının kilo vermek istediği çıkarımı yapılabilir. Şekil 3.5’ de görüldüğü gibi kullanıcı etkileşimlerinden çıkarımlar yaparak kişiselleştirilmiş ürünlerin sunulması amazon.com tarafından gerçekleştirilmektedir [22]. Şekil 3.5. Amazon.com’ un kullanıcı etkileşimlerine göre sunduğu öneriler Tıklama analizleriyle, örnek olarak cep telefonu incelemesi gerçekleştiren bir kullanıcıya, incelemekte olduğu ürüne tıklamış olan diğer kullanıcıların yaptıkları seçimler, Şekil 3.6’ da görüldüğü gibi tavsiye olarak sunulabilir. 28 Şekil 3.6. amazon.com’ un tıklama analizleriyle sunduğu öneriler Bir diğer dolaylı değerlendirme analizi ise Şekil 3.7’ de görülen sık sık birlikte satın alınan ya da incelenen ürünlerin öneri olarak sunulmasıdır. Şekil 3.7. amazon.com birlikte satın alınan ürünlerin öneri ekranı 29 4. TAVSİYE SİSTEMLERİ İnsanların seçimler ve seçenekler arasında boğulmakta olduğu günümüzde ne giyeceğim, hangi filmi izleyeceğim, hangi blog yazılarını okuyacağım gibi sorular ön plana çıkmaktadır. Bu kararların etki boyutları çok büyük olabilmektedir [50]. Bu büyüklükteki alanlardan bilginin keşfi önemli bir sorundur. Hatta bu hafta sonu hangi filmi görmek gerekir gibi basit olarak verilebilecek kararlar bile, kullanıcıların ön bilgisine dayanmaktadır. İnsanlar kararlarını teyit ettirmek ya da yeni ürünler hakkında fikir edinmek için çevrelerindeki insanların veya uzmanların önerilerine ihtiyaç duymaktadırlar. Yeni öğeler öneren bu yöntemlerin özellikle bilgi keşfi için sınırlamaları vardır. Bir kişinin ilgilenebileceği bir film ya da bir kitap olabilir ama çevresinden hiç kimse bu film ya da kitabı duymamış olabilir. Bilgisayar tabanlı sistemler ise kullanıcılarına daha geniş bir kullanıcı kümesi ile daha farklı öneriler sunar. Otomatik olarak insanlara geniş bir yelpazede öneriler sunan tavsiye sistemleri, son 20 yılda giderek yaygınlaşan bir araştırma konusu haline gelmiştir [46]. Veri depolama ve işleme maliyetinin giderek azalması sayesinde, tavsiye sistemleri hayatımızın birçok alanına dâhil olmuştur. Son zamanlarda ön plana çıkan tavsiye sistemleri, aşırı bilgi yüklemesi sorunlarıyla önemli ölçüde başa çıkabilmektedir [50]. Tavsiye sistemleri, sisteme yeni dâhil olan ve ürünler üzerinde herhangi bir tecrübesi olmayan yeni kullanıcılara odaklanır. Tavsiye sistemlerinde kullanıcıların istekleri, mevcut içerikler, kullanıcılar hakkında çeşitli bilgiler ve geçmişteki kullanıcıların yapmış olduğu işlemler özelleştirilmiş veritabanlarında depolanır. Kullanıcılara öneriler sunulurken ya da daha sonraki aşamalarda gerek beğeni dereceleri sorularak gerekse de kullanıcıların davranışlarından çıkarılarak geribildirimler alınır. Kullanıcıların bütün bu davranışları ve geribildirimleri tavsiye sistemlerinin veritabanında depolanır ve yeni kullanıcıların sistemle olan etkileşimleri ile yeni öneriler oluşturmak için kullanılır [22]. 1990'ların ortalarında bağımsız bir araştırma alanı olarak ortaya çıkan ve diğer klasik bilgi sistemi araçları ve tekniklerine göre nispeten yeni bir araştırma alanı olan tavsiye 30 sistemlerine olan ilgi büyük ölçüde artmıştır. Çizelge 4.1’ de günlük hayatta kullanılan tavsiye sistemleri gösterilmektedir [50]. Çizelge 4.1. Tavsiye sistemlerini kullanan popüler internet siteleri Site Tavsiye edilen www.amazon.com Kitaplar/Diğer ürünler www.facebook.com Arkadaş www.wefollow.com Arkadaş www.movielens.org Filmler www.nanocrowd.com Filmler www.jinni.com Filmler www.findory.com Haberler www.digg.com Haberler www.zite.com Haberler www.meehive.com Haberler www.netflix.com DVD’ler www.cdnow.com CD/ DVD’ler www.eharmony.com Tarihler (randevular, önemli günler) www.chemistry.com Tarihler (randevular, önemli günler) www.true.com Tarihler (randevular, önemli günler) www.perfectmatch.com Tarihler (randevular, önemli günler) www.careerbuilder.com İş www.monster.com İş www.pandora.com Müzik www.mufin.com Müzik www.stumbleupon.com İnternet siteleri Kullanıcıların ve ürünlerin benzer olmadığı sistemlerde, kişiselleştirilmiş öneriler ile doğru kişilere doğru içerikleri sunmak etkili olmaktadır. Örneğin amazon.com’ un satışlarının % 20-40 arası en çok satılan 100.000 ürüne dayanmaktadır. Dolayısıyla bir tavsiye sistemi şirketlerin gelirleri üzerinde önemli etkiye sahip olabilmektedir. Örneğin Netflix şirketi kiraladığı filmlerin % 60’ını kişiselleştirilmiş önerilere göre seçmektedir. Tavsiye sistemleri sadece kullanıcıların seçecekleri ürünlere karar vermelerine yardımcı olmaz, 31 aynı zamanda ek öneriler sunarak kullanıcıların bağlılıklarını arttırır ve çapraz satışlarda önemli ölçüde büyüme sağlar. Tavsiye sistemleri tam olarak doğru sonuçlar üretemedikleri için büyük siteler genellikle basit popülariteye dayalı tavsiye sistemlerinden daha gelişmiş tekniklere kadar birçok farklı tavsiye tekniklerine sahiptirler. Tavsiye sistemlerinin yaygınlaşmasıyla kurulan bazı şirketler ise kullanıcı davranışlarını analiz ederek farklı ürün veya hizmetler için kişiselleştirilmiş öneriler sunmaktadır (örneğin string.com) [50]. Örnek bir senaryo düşünüldüğünde bir kullanıcının çarşamba günleri balık sipariş ettiği varsayılarak, kullanıcı hakkında elde edilen yüksek deneyim ile kullanıcıya çarşamba günü “Bugün ne sipariş etmek istersiniz?” sorusu yerine “Bugün balık sipariş etmek ister misiniz?” sorusunun yöneltilmesi kişiselleştirilmiş bir öneri olabilmektedir. Bu senaryo kapsamında tavsiye sistemi kullanıcının ağırlıklı olarak haftanın hangi günlerinde hangi ürünleri sipariş ettiğinin bilgisini elde etmiş ve kullanıcı ile Web sitesi arasında bir etkileşim gerçekleşmiştir. Bu senaryonun daha gelişmiş bir yapısı düşünüldüğünde ise sistemin kullanıcılar ile olan etkileşimi vasıtasıyla her bir kullanıcı için bilgiler elde edilir. Sipariş verecek bir kullanıcıya daha önce denemediği bir ürün, diğer kullanıcıların menü seçimlerine göre öneri olarak sunulabilir [50]. Bir kullanıcının diğer bir kullanıcıya beğendiği bir kitabı okumasını tavsiye etmesi ve tavsiye alan kullanıcının da çevrimiçi kitap satan bir Web sitesini ziyaret ederek kitabı incelemesi örnek olarak verilebilir. Kullanıcı kitabın adını yazdıktan sonra listelenen sonuçlar dışında “Bunu alan kullanıcılar, şunları da aldı” şeklinde kullanıcının ilgileniyor olabileceği sonuçlar gösterilir. Burada kullanıcılara öneri olarak farklı ürünleri sunan sistem bir tavsiye motorudur. Kişiselleştirilmiş öneriler sayesinde, her bir kullanıcı için farklı bir liste oluşturulur. Ayrıca, Şekil 4.1’ deki gibi diğer birçok çevrimiçi sistem veya haber portalı en çok satan ürünler ya da en çok okunan haberler hakkında kullanıcılarına bilgi verebilir. Şekil 4.1. En çok satılan ürünlerle ilgili sunulan öneriler 32 Kişisel olmayan satın alma ya da okuma önerileri yorumlandığında, popüler olan ürünlerin birçok kullanıcının ilgi ve tercihlerine uygun olacağı sonucuna varılmaktadır [2]. Ancak farklı bir açıdan bakılacak olursa, 2007 yılında Harry Potter romanı güçlü bir satış oranına sahip olsa da bu romanı sevmeyen pek çok insan var olacaktır. İnsanlar için en çok satan ürünün tavsiye edilmesinin yararlı olmayabileceği durumların üstesinden gelmek için bu tez çalışması kapsamında kişiselleştirilmiş tavsiye sistemleri üzerinde durulmuştur. Tavsiye sistemleri öncelikli olarak sunulacak öneriler hakkında deneyimi olmayan kullanıcılara yöneliktir. amazon.com gibi popüler çevrimiçi mağazalar, bu bağlamda kullanıcılarına kişiselleştirilmiş öneriler sunmaktadır. Öneriler kişiselleştirilmiş olduğundan, kullanıcılar veya kullanıcı grupları farklı öneriler almaktadır. Dergi veya gazeteler ise genellikle daha basit bir şekilde güncel olaylarla ilgili kişisel olmayan öneriler sunabilmektedirler. kişiselleştirilmiş Bazı olmayan durumlarda sistemler faydalı tavsiye ve etkili sistemleri olabilmelerine rağmen, araştırmalarında ele alınmamaktadırlar. En basit haliyle, kişiselleştirilmiş öneriler öğelerin sıralanmış listeleri olarak sunulmaktadır. Bu sıralama yapılırken, tavsiye sistemleri en uygun ürünleri kullanıcının tercihlerine ve kısıtlamalarına dayalı olarak tahmin etmeye çalışır. Bu tahminler, tavsiye sistemlerinin kullanıcılardan aldığı oylama değerlerinden ya da kullanıcıların davranışlarının yorumlanması yoluyla elde edilir [22, 50]. Kişiselleştirilmiş önerilerin sağlanması için sistemin Şekil 4.2’ deki gibi her bir kullanıcı hakkında bazı bilgileri biliyor olması gereklidir. Her tavsiye sisteminin, kullanıcı modellerini ya da kullanıcıların tercihlerini içeren profilleri koruması ve geliştirmesi gerekmektedir. Kullanıcı modelleri, tavsiye sistemlerinin temel taşı olmasına rağmen, bilginin elde edilmesi ve bilgiden yararlanılması belirli bir tavsiye metoduna bağlıdır. Kullanıcı tercihleri, kullanıcı davranışları izlenerek dolaylı olarak elde edilebilir ancak tavsiye sistemi de ziyaretçilerinden kendi tercihleri hakkında bilgi isteyebilir. Bu bağlamda öne çıkan diğer sorun ise, kişiselleştirilmiş önerilerin listesi oluşturulduğunda sistemin ne tür ek bilgileri göz ardı edeceğidir. Çevrimiçi yayınevlerinin de uygulamakta olduğu ve genellikle topluluk temelli veya ortak yaklaşımlar olarak da adlandırılan bu sistemler, kullanıcı topluluklarının görüş ve davranışlarına dayanmaktadır [50]. 33 Şekil 4.2. Kişiselleştirilmiş öneriler Belirli bir kullanıcı için öneriler hesaplanırken kullanılan temel yaklaşım hedef kullanıcının diğer kullanıcılara benzer olarak onlar tarafından tercih edilen nesneleri seçeceğidir. Burada ön plana çıkan sorunlar, kullanıcıların benzerliklerinin nasıl ölçüleceği ve belirsizliğin nasıl belirleneceği, çeşitli kullanıcıların değerlendirmelerinin nasıl bir araya getirileceği, değerlendirme sonuçları az olan kullanıcıların nasıl işleneceği, tüm verilerin güvenilir olması ile bilinçli olarak ya da dikkatsizce yapılmış olan gerçek dışı değerlendirmelerin algılanması olarak özetlenebilir [47]. Güvenilir kaynaklardan alınan öneriler, insanların karar verme süreçlerini doğrudan etkileyen kritik bir bileşendir. İnternet üzerinde faaliyet gösteren işletmelerin geniş çapta veri toplaması ve bu verileri analiz ederek kullanıcılarına eğilimlerine göre ürünler hakkında öneriler sunması yaygınlaşmaktadır. Tavsiye sistemleri veri analizine dayalı olarak önerilerin alıcı ve satıcı arasındaki doğal ihtiyacı karşılayacak şekilde otomatize edilmesi için geliştirilmiştir [22]. Tavsiye sistemleri, kullanıcıların günlük olarak verdikleri kararlarda çevrelerinden aldıkları önerileri değerlendirdikleri gerçeğine dayanmaktadır. Bir kişinin herhangi bir 34 ürünü seçerken çevresindekilerin önerilerine güvenmesi, işverenlerin işe alım sürecinde tavsiye mektuplarına güvenmesi ya da izlemek için film seçerken, bireylerin film eleştirmenleri ve kullanıcılar tarafından yazılmış yorumları okumaları bu gerçeğin temel noktasıdır [22]. Tavsiye sistemleri için geliştirilen ilk algoritmada yeni kullanıcılara öneriler sunmak için kullanıcı topluluklarından elde edilen verilerden yararlanılmıştır. Öneriler, benzer niteliklere sahip olan kullanıcıların beğendikleri ürünlerden sunulmuştur. İşbirlikçi filtreleme adı verilen bu yaklaşım, aktif bir kullanıcı diğer kullanıcılarla benzer özellikler sergiliyorsa, aktif kullanıcıya sunulacak önerilerin diğer kullanıcıların tercihleriyle benzer olacağı temeline dayanmaktadır [47]. İşbirlikçi filtreleme terimi, haber gruplarındaki kullanıcı topluluklarından elde edilen bilgilerle önerilerin sunulduğu Tapestry isimli sistem temel alınarak kullanılmıştır. İşbirlikçi filtreleme ile en iyi eşleşen kullanıcı çiftlerini bulmak için kullanıcıların kullanım verileri analiz edilmiştir. İçerik tabanlı filtrelemede, kullanıcı için yapılan öneriler tüm kullanıcıları temel alan bilgileri kullanmadığı için işbirlikçi öneriler sunmaz. Tavsiye sistemlerinin başlangıçta formülasyonları basit istatistiksel korelasyonlara ve tahmin modellemesine dayanmaktadır. İşbirlikçi filtrelemedeki sorunları gidermek ve çözümlerin kalitesini arttırmak için boyut indirgeme teknikleri kullanılmaktadır. Aynı zamanda, çeşitli çalışmalar vasıtasıyla işbirlikçi filtreleme ile içerik tabanlı filtreleme yöntemlerini birleştirerek tavsiye sistemlerinin mimarisine ek etki alanları dâhil edilmeye çalışılmaktadır [46]. 4.1. Tavsiye Sistemlerinin Hedefleri Kullanıcılara faydalı olabilecek öğelerin önerildiği yazılım araç ve teknikleri olan tavsiye sistemlerinin alabileceği rollerin, servis sağlayıcıları tarafından belirlenmesi gerekmektedir. Örneğin, bir seyahat tavsiye sistemi (örneğin, expedia.com) ya da ziyaret edilecek ülkelerle ilgili öneriler sunan sistemler (örneğin, visitfinland.com) daha fazla otel odası satmayı ya da tanıtılan ülke için turist sayısını artırmayı amaçlanmaktadır. Servis sağlayıcılarının tavsiye sistemlerini kullanmalarının arkasında çeşitli nedenler bulunmaktadır [51]: - Satılan ürün sayısını arttırma: Kullanıcılara en çok satılan ürünlerle ilgili öneriler sunarak satışlarda artış elde etmek amaçlanmaktadır. Ürünler önerilirken kullanıcı 35 ihtiyaçları ve beklentileri hedef alınmaktadır. Kullanıcı site üzerinde işlemler gerçekleştirdikçe sistem tarafından tanınacaktır. Ticari olmayan sistemlerde de maliyet önemli olmamasına rağmen benzer hedefler ön plana çıkar. Örneğin, haber içeriklerinin sunulduğu bir İnternet sitesi, okunan öğelerin sayısını artırmayı hedeflemektedir. Genel olarak servis sağlayıcıları açısından bakıldığında tavsiye sistemlerinin birinci hedefi kullanıcılara kullanışlı öneriler sunup seçme olasılıklarını arttırarak site üzerindeki ziyaretçi sayısını yükseltmektir [22]. - Farklı ürünler satmak: Tavsiye sistemlerinin diğer önemli fonksiyonu ise, kullanıcıların tavsiye edilmeden bulmakta zorlanabileceği öğeleri seçmesini sağlamaktır. Örneğin, çevrimiçi film kiralama hizmeti veren Netflix sisteminin servis sağlayıcıları, yalnızca popüler olan filmlerle değil kataloglarında bulunan bütün filmlerle ilgilenmektedir. Bu sebeple, tavsiye sistemleri doğru kullanıcıya ilgilenebilme şansı yüksek olan doğru filmi önermeye çalışmaktadır [46]. - Kullanıcı memnuniyetini arttırmak: İyi bir şekilde tasarlanmış tavsiye sistemleri, kullanıcıların site ya da uygulama ile olan etkileşimini arttırabilir. İnsan–bilgisayar etkileşiminin iyi tasarlandığı, etkili bir arayüze sahip bir sistemden kullanıcılar keyif alırlar ve daha öznel değerlendirmelerde bulunabilirler ayrıca bu sayede sunulan önerilerin daha alakalı ve ilgi çekici olması ile yüksek seçilme oranına sahip olması sağlanır [51]. - Kullanıcı bağlılığını arttırmak: Kullanıcı giriş yaptığında sistemin eski kullanıcıları tanıması ve değerli bir ziyaretçi şeklinde davranması kullanıcıların bağlılığını arttırır. Tavsiye sistemlerinin sahip olduğu bu özellik sayesinde sistem, kullanıcıların daha önceki etkileşimlerinden yararlanarak tavsiyeler geliştirir. Sonuç olarak kullanıcıların sistemle olan etkileşimindeki artış, kullanıcı profillerinin daha iyi bir şekilde elde edilmesini ve önerilerin kullanıcı tercihlerini daha etkin bir şekilde yansıtmasını sağlar [47]. - Kullanıcıların beklentilerini anlamak: Tavsiye sistemlerinin bir diğer önemli fonksiyonu ise kullanıcı tercihlerini, gerek oylama yoluyla gerekse de sistemin kullanıcı davranışlarına göre tahmin etmesi yoluyla belirlemesidir. Servis sağlayıcıları bu bilgileri ürün ve stok yönetimi gibi amaçlar doğrultusunda kullanarak yönetimsel iyileştirmeler gerçekleştirebilir. Örneğin, seyahat sektöründe faaliyet gösteren şirketler, kullanıcı etkileşimlerinden elde edilen verileri analiz ederek, kullanıcılarına çeşitli promosyon mesajları gönderebilirler ya da belirli kullanıcı gruplarına belirli bölgeleri ziyaret etmelerini öneri olarak sunabilirler [22]. 36 Herlocker ve arkadaşları 2004 yılında yaptıkları çalışmada, tavsiye sistemlerinin uygulanmasına yardım edebilecek popüler 11 görev tanımı yapmıştır. Bu görevler, tavsiye sistemlerinin kullanıcılar için yararlı olabilecek öğeler için öneriler sunulmasında kilit görev üstlenmektedir [52]. - Kullanışlı bazı öğelerin belirlenmesi: Kullanıcılara, tavsiye edilen ürünlerle ilgili beğeni derecelerini ölçmek için puanlama yapmaları istenir (Beş yıldız ölçeği gibi). - Kullanışlı bütün öğelerin belirlenmesi: Bazı durumlarda yalnızca kullanışlı olabilecek ürünlerin belirlenmesi yetmeyebilir. Ürün sayısının kısıtlı olduğu uygulamalarda ya da medikal ve finans uygulamalarında bu durum ön plana çıkmaktadır. Bu gibi durumlarda, tavsiye sisteminin ürünleri puanlaması ya da ek açıklamalar oluşturması kullanıcılara faydalı olabilir. - İçerikle ilgili açıklamalar: İçeriklerin listesi, uzun vadede kullanıcıların tercihlerine bağlı olarak oluşmaktadır. Örneğin bir televizyon tavsiye sisteminde, elektronik program rehberi hangi programların izlemeye değer olduğunu açıklayabilir. - Bir dizi ürün tavsiyesi: Tek bir öneriye odaklanmak yerine, kullanıcılar için kullanışlı olabilecek bir dizi ürünün sunulmasını ifade eder. - Tavsiye paketi: Birbirleriyle uyumlu öğelerin birlikte önerilmesini ifade eder. Örneğin, bir seyahat planı çeşitli turistik yerler ve konaklama hizmetlerinden oluşabilir. Kullanıcıların bakış açısından bu seyahat planı sunulan çeşitli alternatiflerle birlikte kabul edilebilir. - Göz atma: Bu görev, herhangi bir satın alma niyeti olmadan katalogları inceleyen kullanıcıları ifade eder. Bu şekildeki tarama oturumları kullanıcılara öneriler sunma aşamasında çıkarsama yapmak için kullanılabilir. - Profil geliştirme: Bu görev, tavsiye sisteminin kullanıcının neleri beğendiği ya da beğenmediği konusunda bilgi elde etmesi için gereklidir. Bu görev, kişiselleştirilmiş tavsiyeler sunmak için temel görevlerdendir. Sistemin aktif kullanıcı hakkında herhangi bir bilgisi yoksa bu durumda sistem herhangi bir ortalama kullanıcıya sunulacak öğeleri aktif kullanıcıya önerir. - Kişisel görüşler: Bazı kullanıcılar önerilerle ilgilenmek yerine yalnızca ürünlerle ilgili görüş ve yorum belirtmek ile ürünleri puanlamak isteyebilir. Bu bilgiler, kullanıcı memnuniyetini arttırmak ve kullanıcıları sistemde tutmak için servis sağlayıcıları tarafından kullanılabilir. 37 - Diğer kullanıcılara yardım etme: Bazı kullanıcılar, ürünler üzerindeki yorum ve değerlendirmelerinin kullanıcı topluluklarına fayda sağlayacağına inanmaktadırlar. Bu durum, rutin olarak kullanılmayan bir tavsiye sistemi için kullanışlı bilgiler sağlayabilir. Örnek olarak bir araç tavsiye sisteminde, daha önce araç almış kullanıcıların değerlendirmeleri, ileriki bir tarihte araç alacak kullanıcılar için yol gösterici olabilir. - Diğer kullanıcıları yanlış yönlendirme: Web tabanlı tavsiye sistemlerinde, diğer kullanıcıları, belirli ürünleri satın almaları için etkilemeye çalışan kullanıcılar mevcut olabilir. Sadece bazı ürünleri düşük puanla oylamak ve bazı ürünleri ise yüksek puanlamak için sistemi kullanan kötü niyetli kullanıcılar olabilir. 4.2. Tavsiye Sistemlerinde Kullanılan Yaklaşımlar Çevrimiçi mağazaların büyümesiyle birlikte kullanıcılara ürünlere daha kolay erişim ve ürünler hakkında daha fazla bilgi sahibi olma imkânı sunulmaktadır. Ayrıca bu gelişimin tüketici alışkanlıklarının belirlenmesinde de önemli bir etkisi olmaktadır. Günümüzde en etkin çözümlerden biri, tüketicilere ürün önerilerinin otomatik ve kişiselleştirilmiş olarak sunulduğu tavsiye sistemleridir [22]. Tavsiye sistemlerinde sorun, kullanıcıların geçmiş bilgilerine dayanarak yeni ve özgün önerilerin sunulabilmesidir. Tavsiye sistemlerinin kendi temel fonksiyonlarını uygulayabilmeleri ve kullanıcılar için yararlı öğelerin belirlenmesi için önerilecek öğelerin sistem tarafından tahmin edilmesi gerekmektedir. Bunu yapmak için sistemin bazı ürünlerin kullanışlılığını tahmin etmesi ya da en azından bazı ürünlerin kullanışlılığını karşılaştırıyor olması gereklidir. Daha sonra, bu karşılaştırmalara dayalı olarak hangi ürünlerin tavsiye edileceğine karar verilir [50]. Tavsiye sistemlerinin tahmin aşamasını göstermek için basit, kişisel olmayan ve sadece en popüler şarkıları tavsiye eden bir sistem örnek olarak verilirse, bu yaklaşımın kullanılabilmesi için temel gerçeklik, birçok kullanıcı tarafından beğenilen bir öğenin aynı zamanda diğer kullanıcılar tarafından da beğenilebileceğidir [22]. Tavsiye sistemleri çalışmalarında kullanılan en genel çerçeve Şekil 4.3’ de gösterilmiştir. Bilinen kullanıcı tercihleri, n kullanıcıları ve m öğeleri ifade edecek şekilde her bir hücredeki 𝑟𝑢,𝑖 değeri, u kullanıcısının i öğesi üzerindeki değerlendirme sonucunu göstermektedir. Bu kullanıcı değerlendirme matrisi, çoğu kullanıcı tüm öğeleri değerlendirmediği için seyrektir. Tavsiye sisteminin temel görevi, değerlendirilmemiş ürünlere kullanıcılar tarafından verilecek puanların tahmin edilmesidir. Genel olarak 38 kullanıcılar, diğer kullanıcıların yapmış oldukları değerlendirme sonuçlarını görmezler ve yüksek değerlendirme puanına sahip ürünleri öneri olarak alırlar. Ele alınan kullanıcı aktif kullanıcı olarak adlandırılır [46]. Şekil 4.3. Her bir hücredeki 𝑟𝑢𝑖 , u kullanıcısının, i ürününe karşılık gelen kullanıcı değerlendirme matrisini göstermektedir Tavsiye sistemlerinde kullanılan yaklaşımlar genel olarak aşağıdaki şekilde kategorize edilebilir: - İşbirlikçi filtreleme: Yeni bir kullanıcıya öneriler, diğer kullanıcıların yapmış oldukları değerlendirmelerin sonuçlarına göre yapılır. - İçerik tabanlı filtreleme: Öneriler, kullanıcıların daha önce beğenmiş oldukları öğelerin içeriklerine göre ya da kullanıcıların niteliklerinin eşleştirilmesine göre yapılır. - Hibrit sistemler: Bu sistemler yukarıda belirtilen tekniklerin birleşimine dayanmaktadır. 4.2.1. İşbirlikçi filtreleme Tavsiye sistemlerinde en popüler ve yaygın olarak uygulanan bir teknik olarak kabul edilen işbirlikçi filtreleme yaklaşımı, aktif kullanıcıya benzer niteliklere sahip diğer kullanıcıların geçmişte beğenmiş oldukları öğelerin önerilmesine dayanır. Kullanıcı beğenileri arasındaki benzerlik, geçmişte yapmış oldukları değerlendirmelere göre hesaplanır. Örnek olarak benzer satın alma geçmişine sahip olan A ve B kullanıcısından, A 39 kullanıcısının satın aldığı ancak B kullanıcısının ise henüz görmediği bir ürün B kullanıcısına öneri olarak sunulabilir [22, 46]. İşbirlikçi filtreleme yaklaşımı ürünler ile ilgili bilgilerle ilgilenmez. Yukarıda verilen kitap örneği için kitabın hangi türden olduğu, yazarının kim olduğu ya da içeriğinin ne olduğu önemli değildir. Bu stratejinin avantajı ise ürünler hakkındaki bilgilerin sisteme girilmesinin ya da muhafaza edilmesinin gerekli olmayışıdır. İşbirlikçi filtreleme yaklaşımı, içerik tabanlı filtreleme yaklaşımının yaşadığı otomatik bilgi işleme zorlukları neticesinde geliştirilmiştir. İşbirlikçi filtrelemenin diğer filtreleme yaklaşımlarından farkı, verilerin analiz edilmesi yerine değerlendirmeye alınmasıdır. Bilgiler bu sayede kullanıcıların görüşlerine dayalı olarak kategorize edilir. Buna ek olarak işbirlikçi filtreleme mevcut kullanıcıya benzer diğer kullanıcıların tercihlerinin tavsiye olarak sunulmasını sağlar. Sisteme dâhil olan bütün kullanıcılar, yapmış oldukları seçimlerle işbirlikçi filtreleme yaklaşımının tavsiye sunma sürecine katkıda bulunurlar. Sunulacak öneriler, diğer kullanıcılar tarafından ürünlere verilen puanların mevcut kullanıcının vermiş olduğu puanlarla eşleştirilmesiyle üretilmektedir [47]. Yapılan çalışmalarda, işbirlikçi filtreleme yaklaşımının avantajları, performansı ve sınırlamaları araştırılmakta, geliştirilen algoritmalar ve önerilen teknikler gerçek zamanlı test verileriyle değerlendirilmektedir [53]. İşbirlikçi filtreleme yaklaşımları kullanıcıların ürünler ile ilgili yapmış oldukları değerlendirmeleri içeren değerlendirme matrisini girdi olarak alır ve kullanıcıların incelemedikleri ürünlerin beğeni derecelerini tahmin eden çıktılar üretir ya da kullanıcıların incelemedikleri ürünlerden oluşan N boyutlu bir öneri listesi çıktısı üretir [46]. - Kullanıcı tabanlı filtreleme: Kullanıcı tabanlı filtreleme yaklaşımı, değerlendirme verilerinin bulunduğu bir veritabanı, öneri sunulacak bir kullanıcı ve geçmişte bu kullanıcıya benzer seçimler yapan komşu kullanıcılardan oluşur. Şekil 4.4’ de görüldüğü gibi, öneri sunulacak kullanıcının henüz incelemediği her bir ürün için, yakın olduğu kullanıcıların yapmış oldukları değerlendirmelere göre bir tahmin değeri hesaplanır. Kullanıcı tabanlı filtreleme yöntemleri, kullanıcıların gelecekte de geçmiştekine benzer tercihlere sahip olacağı ve kullanıcı tercihlerinin istikrarlı ve tutarlı olacağı varsayımlarına dayanmaktadır [46]. 40 Ürün 1 Ürün 2 Ürün 3 Ürün 4 Ürün 5 Aktif kullanıcı 5 3 4 4 ? Kullanıcı_1 3 1 2 3 3 Kullanıcı_2 4 3 4 3 5 Kullanıcı_3 3 3 1 5 4 Kullanıcı_4 1 5 5 2 1 Şekil 4.4. İşbirlikçi filtreleme için değerlendirmelerin tutulduğu veritabanı Şekil 4.4’ de görülen veritabanı, aktif kullanıcının ve sistemde bulunan diğer kullanıcıların 1-5 ölçeğine göre ürünler ile ilgili yapmış oldukları değerlendirmelerin puanlarını göstermektedir. Aktif kullanıcının Ürün 1 ile ilgili olarak vermiş olduğu 5 değerlendirme puanı, bu kullanıcının Ürün 1’i çok beğendiğini, Kullanıcı_1’in Ürün 2 ile ilgili olarak verdiği 1 değerlendirme puanı ise kullanıcının bu ürünü beğenmediğini göstermektedir. Aktif kullanıcının Ürün 5 ile ilgili herhangi bir değerlendirmesinin olmayışı, kullanıcının bu ürünü henüz incelemediğini göstermektedir. Sistem tarafından aktif kullanıcının Ürün 5’i çok fazla beğeneceği tahmin edilirse, bu ürün kullanıcıya sunulan öneri listesinde yer alacaktır. Bu amaçla öncelikle aktif kullanıcıya benzer özelliklere sahip kullanıcıların kümesi bulunur, daha sonra bu küme içerisindeki kullanıcıların Ürün 5 ile ilgili değerlendirme sonuçlarına göre aktif kullanıcının bu ürünü beğenip beğenmeyeceği çıkarımı yapılır. Yakın kullanıcıların kümesini belirlemek için kullanılan en yaygın yaklaşım Pearson’s Correlation Coefficient yöntemidir. U= {𝑢1 , . . , 𝑢𝑛 } kullanıcılar kümesi, P = {𝑝1 , . . , 𝑝𝑚 } ürünlerin kümesi, i ∈ 1,..., n ve j∈ 1,..., m iken 𝑟𝑖,𝑗 her bir i kullanıcısının j ürünü ile ilgili yapmış olduğu değerlendirmeyi ifade eden değerlendirme matrisi R’ nin elemanı, 𝑟̅𝑎 , a kullanıcısının ortalama değerlendirme puanı olmak üzere a ve b kullanıcılarının benzerlik oranı sim (a, b) Eş. 4.1’de verilen eşitlik ile hesaplanır [46]. sim( a, b) ( ( r r )( r r )) a pP a , p ( r r) pP a , p a b, p b (4.1) ( r r) pP b , p b Örnek olarak verilen veritabanı için kullanıcıların benzerlikleri Pearson’s Correlation Coefficient yöntemine göre hesaplanırsa aktif kullanıcının diğer kullanıcılara 41 yakınlıklarının sırasıyla 0.85, 0.7, 0 ve -0.79 olduğu görülür. Bu hesaplamaya göre Kullanıcı_1 ve Kullanıcı_2’nin aktif kullanıcının geçmişteki puanlama davranışına yakın olduğu görülür. Komşuluklar belirlendikten sonra, Ürün 5 için aktif kullanıcının beğeni derecesini hesaplamak için 𝑟̅𝑎 ortalama değerlendirme puanı olmak üzere, a kullanıcısının p ürünü üzerine yapmış olduğu değerlendirmeye dair tahmin değeri pred (a, p) Eş. 4.2’ de verilen eşitlik ile hesaplanır. pred (a, b) r ( bN sim(a, b) * ( rb, p rb ) a sim(a, b) (4.2) bN Yukarıdaki örnek için aktif kullanıcı ve Ürün 5 için tahmin değeri, 4 + 1/(0.85 + 0.7) ∗ (0.85 ∗ (3 − 2.4) + 0.70 ∗ (5 − 3.8)) = 4.87 olarak bulunur. Bu sonuç ile aktif kullanıcıya, henüz denemediği Ürün 5’in öneri olarak sunulduğunda yüksek bir puanla beğenileceği çıkarımına varılmıştır [53]. - Ürün tabanlı filtreleme: Kullanıcı tabanlı işbirlikçi filtreleme yaklaşımları çoğu alanda başarılı bir şekilde uygulanabilir olmasına rağmen, özellikle milyonlarca kullanıcı ve milyonlarca üründen oluşan e-ticaret uygulamalarında ciddi sorunlar yaşayabilmektedir. Özellikle kullanıcılara yakın olan kullanıcıları hesaplamak gerçek zamanlı uygulamalarda hız açısından problem olabilmektedir. Büyük ölçekli e-ticaret siteleri, yaşanabilecek bu sorunlar nedeniyle, önerilerini çevrimdışı olarak elde eden ve gerçek zamanlı uygulamalarda zamanlama maliyeti yaşatmayan ürün tabanlı filtreleme yaklaşımını kullanmaktadırlar [46]. Ürün tabanlı filtreleme yaklaşımında ana fikir, ürünler arasındaki benzerliklerden yararlanarak tahminler elde etmektir. Kullanıcı tabanlı filtreleme yaklaşımında verilen örnekte Ürün 5 için yapılan değerlendirmelerin puanları 3, 5, 4 ve 1’dir. Bu değerlendirme puanları Ürün 1 (3, 4, 3, 1) ve Ürün 4 (3, 3, 5, 2) ile benzerlik göstermektedir. Bundan sonraki aşama ise aktif kullanıcının Ürün 1 ve Ürün 4 ile ilgili vermiş olduğu değerlendirme puanlarına bakıp bir çıkarımda bulunmaktır. Aktif kullanıcı Ürün 1 için 5, Ürün 4 için ise 4 değerlendirme puanı vermiştir. Yapılacak çıkarım ise, aktif kullanıcının 42 ürün 5 için, 4 ile 5 arasında bir değerlendirme puanı vereceği olmaktadır. Ürün tabanlı filtreleme yaklaşımı, Eş 4.3’ te görüldüğü gibi i ve j ürünler olmak üzere çevrimdışı Pearson’s Correlation yöntemi ile hesaplar. U, i ve j ürünleri için değerlendirmede bulunan kullanıcıların kümesi, 𝑟𝑢,𝑖 , u kullanıcısının i ürünü ile ilgili yapmış olduğu değerlendirme puanı, 𝑟̅𝑖 ise i ürünü için kullanıcıların verdiği değerlendirme sonuçlarının ortalamasıdır. wi , j ( ( ru ,i ri )(ru ,i rj ) uU (ru,i ri ) 2 uU (ru, j rj ) 2 (4.3) uU a kullanıcısı için i ürünü için yapılacak tahmin değeri K, i ürününe benzer olarak a kullanıcısı tarafından değerlendirme puanı verilen k ürünlerinin komşuluk kümesi olmak üzere Eş 4.4’ de verilen eşitlik ile elde edilir. pa ,i (r w ) |w | jK jK a, j i, j (4.4) i, j Ürün tabanlı filtreleme yaklaşımı ön işleme aşamasında verilerin incelenmesini gerekli kılsa da, kullanıcı tabanlı filtreleme yaklaşımından ayrıldığı temel nokta, öğeler arasında yapılan karşılaştırma sonuçlarının, kullanıcılar arasında yapılan karşılaştırma sonuçları kadar sık değişmemesidir [48]. 4.2.2. İçerik tabanlı filtreleme İşbirlikçi filtreleme yaklaşımları, doğrudan kullanıcıların ürünler ile ilgili yapmış oldukları değerlendirme sonuçlarını kullanarak, kullanıcı ve ürün özellikleriyle ilgilenmezler. Ancak kullanıcılara, onların kişisel özelliklerini belirleyerek, ilgi alanlarına göre ürünler öneri olarak sunulabilir. İçerik tabanlı filtreleme yaklaşımları, ürünler ve kullanıcıların tercihleri hakkında ek bilgiler gerektiriyor olsa da, büyük bir kullanıcı topluluğu ya da değerlendirme puanlarının bulunduğu bir veritabanı gerektirmez [53]. Örnek olarak bir film tavsiye sisteminde kullanıcıların izlemiş oldukları filmlerden çıkarımlar yaparak, kullanıcının hangi film türleriyle ilgili olduğu bilgisi elde edilerek öneriler sunulabilir. 43 İçerik tabanlı filtreleme yaklaşımları, kullanıcılar tarafından değerlendirilen belgeleri veya öğelerin bir dizi analizini yaparak kullanıcılar ile ilgili bir profil elde eder. Elde edilen profil, kullanıcı ilgilerinin bir örneği olarak kabul edilir. Tavsiye sunma süreci temelde, içerik niteliklerinin kullanıcı profili ile eşleştirilmesinden oluşur. Kullanıcı profilleri, kullanıcı tercihlerini yansıtmasının yanı sıra bilgiye erişim işlemi için de büyük avantajlar sağlar. Örnek olarak kullanıcıların ilgilenmediği Web sayfalarının gösterilmemesi ya da arama sonuçlarında filtreleme kullanılması için yararlanılabilir [22]. Mevcut ürünleri tanımlamanın en kolay yolu, her bir ürünün özelliklerinin listesini tutmaktır. Örnek olarak bir film tavsiye sisteminde filmin türü, yönetmeni, oyuncuları ve vizyon tarihi gibi bilgiler ilişkisel veritabanlarında depolanır. Kullanıcı tercihleri bu nitelikler açısından belirlendikten sonra, kullanıcı özellikleriyle nitelikler eşleştirilerek tavsiye sunulur [22]. Kullanıcıların profilleri, ürünler ile tercih ettikleri niteliklere göre belirlenebilir. Kullanıcılara ürünlerle ilgili değerlendirmede bulunmalarını istemek ise kullanıcı profili oluşturmada diğer bir yöntemdir. Kullanıcıdan ilgilendiği film türlerini elle girmesi istenebilir ya da sistem tarafından kullanıcının ilgilendiği filmlerle ilgili bilgiler otomatik olarak elde edilir. Öneriler, kullanıcıların geçmişte beğenmiş oldukları ürünlere benzer olan ürünlerden henüz denememiş oldukları ürünlerin bir değerlendirme sürecinden geçirilmesiyle oluşturulur. Benzerlik durumları farklı şekillerde değerlendirilebilir. Örnek olarak aktif bir kullanıcının denemediği bir ürün göz önüne alındığında, o ürünün kullanıcının tercih ettiği film türleriyle uyuşup uyuşmadığı kontrol edilir. Diğer bir seçenek ise benzerlik durumlarını hesaplamak için anahtar kelimelerin kullanılmasıdır [53]. Çok nitelikli özellikler için metrik olarak Dice Coefficient yöntemi kullanılabilir. Her bir 𝐼𝑖 ürününün içerdiği anahtar kelimeler keywords (𝐼𝑖 ) olmak üzere 𝐼𝑖 ve 𝐼𝑗 ürünleri arasındaki benzerlik Eş. 4.5’ de verilen eşitlikteki gibi hesaplanır. 2 x | keywords ( I i ) keywords ( I i ) | | keywords ( I i ) keywords ( I i ) | (4.5) 44 4.2.3. Hibrit sistemler Hibrit sistemler, yukarıda belirtilen tekniklerin birleşimine dayanmaktadır. Hibrit sistemler kullanılan bir filtreleme tekniğinin eksik yönlerini tamamlamak için diğer bir filtreleme yöntemini kullanır. Örnek olarak işbirlikçi filtreleme tekniği, sisteme yeni eklenen bir ürünle ilgili herhangi bir değerlendirme puanına sahip olmadığı için öneride bulunamaz. Ancak bu kısıtlama ürünlerin özellikleriyle ilgilendiği için içerik tabanlı yöntemleri etkilemez. Hibrit sistemler ise iki veya daha fazla filtreleme yönteminin avantaj ve dezavantajları göz önüne alınarak oluşturulur. Farklı filtreleme yaklaşımlarının sağladığı içerikler aracılığıyla, kullanıcı profilleri daha iyi bir şekilde kişiselleştirilerek önerilerin kalitesi arttırılabilmektedir. 4.3. Tavsiye Sistemlerinin Zorlukları ve Sınırlamaları Tavsiye sistemleri, kullanıcıların ürünler hakkında değerlendirmede bulunmadıkları durumlarda, sisteme yeni bir kullanıcı dâhil olduğunda ve yeni bir ürün eklendiğinde yeni eklenen ürünler ya da kullanıcılar hakkında fikir sahibi olmadığı için çeşitli zorluklar yaşayabilmektedir. 4.3.1. Seyreklik Seyreklik en basit tanımıyla, kullanıcıların ürünlerin çoğunu değerlendirmemesi durumunda yaşanan kullanıcı değerlendirme matrisinde yeterli veri olmamasını ifade eder. Bu durum kullanıcıların benzerliklerine göre öneri sunan işbirlikçi filtreleme yaklaşımı için çok ciddi bir problemdir. Bu problem sistemin ilk kullanılmaya başlanması aşamasında ya da çok yüksek ürün ve kullanıcı oranına sahip olduğunda gerçekleşir. Seyreklik sorunu kullanıcılar hakkında ek bilgiler alınarak ya da veri üretme sürecinde varsayımlarda bulunarak aşılabilir [22]. 4.3.2. Soğuk başlangıç sorunu Tavsiye sistemlerine yeni bir kullanıcının eklenmesi ya da yeni bir ürünün eklenmesi soğuk başlangıç sorunun yaşanmasına neden olur. Soğuk başlangıç sorunu işbirlikçi filtreleme yöntemlerinde, yeni eklenen kullanıcının daha önce herhangi bir 45 değerlendirmenin olmayışı nedeniyle ya da yeni eklenen bir ürünün daha önce herhangi bir kullanıcı tarafından değerlendirilmemiş olması nedeniyle ortaya çıkar. İçerik tabanlı sistemler kullanıcıların yapmış oldukları değerlendirmeleri öneri sunma aşamasında kullanmayıp ürünlerin niteliklerini kullandıkları için bu sorunu yaşamaz [46]. 4.3.3. Sahtekârlık Tavsiye sistemlerinin e-ticaret platformlarında kullanımının yaygınlaşması, ticari kârlılıkta önemli bir rol oynamaya başlamıştır. Bu durum ise satıcıların önerilecek ürünlerde sahtekârlık yapabilmelerine yol açmıştır. Satıcılar daha çok kâr ettikleri ürünleri ön plâna çıkarıp daha az kâr ettikleri ürünleri ise geri plâna çıkarabilmektedirler. Shilling saldırıları ya da profil enjeksiyon saldırıları olarak adlandırılan bu durum sahte profiller oluşturmak yoluyla gerçekleştirilmektedir. Oluşturulan sahte profillerle ürünlere yüksek değerlendirme puanları verilerek istenilen ürünler ön plâna çıkarılmaktadır. Ürün tabanlı işbirlikçi filtreleme yöntemleri bu saldırılara karşı daha sağlam bir yapıya sahiptir [47]. 4.4. Tavsiye Sistemlerinin Sonuçlarının Değerlendirilmesi Tavsiye sistemlerinde kullanılan yöntemlerin ve algoritmaların değerlendirmelerinin yapılması, sunulan önerilerin ve yapılan tahminlerin kalitesini arttırmak açısından önemlidir. Değerlendirme metrikleri yardımıyla, geliştirilen sistemler test edilip geliştirilirler. Tavsiye sistemleri, değerlendirme metrikleri ve genel kullanıma açık veri setleri kullanılarak analiz edilir ve mevcut algoritma ve teknikler ile karşılaştırılabilir [50]. 4.4.1. Kullanıcı tercihleri Tavsiye sistemlerinin sonuçlarının değerlendirilmesinde kullanılabilecek yöntemlerden biri, geliştirilen sistemlerin seçilen bir grup katılımcı tarafından denenmesi ve en yüksek değerlendirme puanına sahip olan sistemin seçilmesidir. Ancak bu değerlendirme metriği, sistemi deneyen tüm kullanıcıların eşit miktarda inceleme yapmaması ya da ürün satın almaması nedeniyle ve sistem içerisinde kullanılan parametrelere ağırlık atamasında yaşanabilecek zorluklar sebebiyle uygulanabilirlik konusunda sorunlar yaşamaktadır [22]. Sistemlerin performanslarını değerlendirilmek için, kullanıcıların bir sistemde diğerine 46 göre önemli gördüğü özelliklerin belirlenmesi ve kullanıcı beklentilerini karşılayabilecek yapıların kullanılması gerekmektedir. 4.4.2. Tahminlerin doğruluğu Tavsiye sistemleri, kullanıcıların ürünler üzerine olan görüşlerini ve satın alma gibi kullanım durumlarını tahmin etme temeline dayanırlar. Tahminlerin doğruluğu, kullanıcı arayüzünden bağımsız çevrimdışı deneyler yapılarak ölçülebilir. Tahminlerin doğruluğu, puan tahminlerinin doğruluğu, kullanışlılık tahminlerinin doğruluğu ve öneri sıralamasının doğrulukları hesaplanarak belirlenebilir [47]. - Puan tahminlerinin doğruluğu: Bu metrikler, çevrimiçi DVD (Digital Video Disk) kiralama hizmeti sunan Netflix Web sitesi gibi kullanıcı değerlendirmelerini 1-5 yıldız ölçeği ile alan tavsiye sistemlerinde, kullanıcıların ürünler ile ilgili verecekleri değerlendirme puanlarının tahmininde kullanılabilir. Yaygın olarak kullanılan karekök ortalama (Root Mean Square Error-RMSE) metriği, u kullanıcısının i ürünü için verdiği değerlendirme puanı 𝑟𝑢𝑖 ve T test kümesi olmak üzere Eş. 4.6’daki eşitlik ile hesaplanır. RMSE 1 ru ,i ru ,i ) 2 | T | ( u ,i )T (4.6) - Kullanışlılık tahminlerinin doğruluğu: Film tavsiye sistemleri gibi birçok uygulama, kullanıcıların ürünlere verecekleri puanları tahmin etmeye dayanmayıp, kullanıcılara ilgilenebilecekleri ürünleri tavsiye olarak sunmaya dayanmaktadır. Örnek olarak Netflix sitesi, kullanıcıların izleme listelerine ekledikleri filmlere göre ilgilerini çekebilecek filmleri öneri olarak sunmaktadır. Kullanışlılık tahminlerinin doğruluğu için mevcut kullanıcılardan biri seçilir ve ürünlere vermiş olduğu puanlar gizlenerek kullanıcının ilgilenebileceği öğeler çevrimdışı olarak sistem tarafından tahmin edilmeye çalışılır. Tahmin sonucunda Çizelge 4.2’ de görüldüğü gibi bir çıktı elde edilir. 47 Çizelge 4.2. Bir kullanıcıya öneri olarak sunulan herhangi bir ürün için olası sonuçlar Tavsiye listesinde yer alan Kullanıcının ilgilendiği ürün Kullanıcının ilgilenmediği ürün Tavsiye listesinde yer almayan True-Positive (TP) False-Negative (FN) False-Positive (FP) True-Negative (TN) Çizelge 4.2 içerisinde sunulan parametreler kullanılarak Eş. 4.7’de görülen eşitlikler elde edilebilir. Hassasiyet = Duyarlılık = 𝑇𝑃 𝑇𝑃 +𝐹𝑃 𝑇𝑃 𝑇𝑃 +𝐹𝑁 (4.7) - Öneri sıralamasının doğruluğu: Çoğu tavsiye sistemi uygulamasında, kullanıcılara çeşitli şekillerde liste halinde öneriler sunulmaktadır. Sunulan listeler kullanıcıların başka sayfalara geçmesini gerektirecek kadar uzun olabilir. Kullanıcılara sunulan listenin büyüklüğü arttıkça, ilk sırada sunulan ürünlerin önem derecesi de artmaktadır. En çok kullanılan ölçütler ise öneri listesinin üst kısmına doğru kullanıcı yararına üstel azalmanın gerçekleştiği half-life ve azalmanın logaritmik olarak gerçekleştiği discounted cumulative gain metrikleridir [22]. (4.8) 𝑝1,.., 𝑝𝑛 öneri listesi, 𝑟𝑢,𝑝𝑖 u kullanıcısı ve 𝑝𝑖 ürünü için doğru puan değeri, k değerlendirilen ürünün puanı, d varsayılan puan, α kullanıcının inceleme ihtimalinin % 50 olduğu ürün sayısı olmak üzere half-life ve discounted cumulative gain Eş 4.8 de görülen eşitlikler ile hesaplanır. 48 4.4.3. Kapsam Özellikle işbirlikçi filtreleme kullanan çoğu tavsiye sistemi, veri miktarının büyümesiyle ancak önerilerin küçük bir bölümünde yüksek kalitede öneriler sunabilir. Tavsiye sistemlerinde kapsam kavramı farklı özellikler açısından değerlendirilebilir. - Ürün Uzayı Kapsamı: Kapsam, tavsiye sistemleri tarafından önerilerin oranını ifade eder. Ürünlere tercih edilme durumlarına ya da kullanışlılıklarına göre puan vererek, nadiren ya da sık kullanılan ürünlere göre öneri listesini şekillendirmek amaçlanmaktadır. - Kullanıcı Uzayı Kapsamı: Kapsam ayrıca kullanıcıların veya kullanıcı etkileşimlerinin oranı olabilir. Bazı uygulamalarda, tavsiye sistemleri kullanıcılara düşük tahmin doğrulukları sebebiyle tavsiye sunamazlar. Bu gibi durumlarda daha geniş bir kullanıcı grubu için sunulabilecek öneriler kullanılabilir. Bu gibi durumlarda tavsiye sistemleri kapsam ve doğruluk arasındaki dengeye göre oluşturulmaktadır [50]. 4.4.4. Güvenilirlik Tavsiye sistemlerinde güven kavramı, sunulan önerilerin ya da yapılan tahminlerin güvenilirliği olarak tanımlanabilir. Özellikçe işbirlikçi filtreleme yaklaşımlarını kullanan tavsiye sistemleri, büyüyen veri miktarı ile orantılı olarak doğruluk oranlarını geliştirmek durumundadır. Benzer şekilde güven değeri, artan veri miktarı ile doğru orantılı olarak artış göstermelidir. Sistemlerin önerilen ürünler için düşük güvenilirlik değeri sunması, kullanıcıların karar verme aşamalarında etkileyici olabilir [47]. 4.4.5. Güven Güvenilirlik kavramı sistemin kullanıcılara sunmuş olduğu öneriler ile ilgilenirken, güven kavramı ise kullanıcıların tavsiye sistemlerine olan itimatlarını açıklayan bir kavramdır. Örnek olarak kullanıcılara bildikleri ve beğendikleri ürünlerin önerilmesi güven kavramının sağlanması açısından faydalı olabilir. 49 4.4.6. Gizlilik İşbirlikçi filtreleme yöntemlerini kullanan tavsiye sistemlerinde kullanıcılar, faydalı öneriler almak umuduyla ürünlerle ilgili değerlendirmelerde bulunurlar. Ancak kullanıcılar ürünlerle ilgili yapmış oldukları değerlendirmelerin ve yaptıkları tercihlerin üçüncü kişilerin eline geçmeden korunmasını ve gizli kalmasını beklemektedirler. Örnek olarak bir kitap tavsiye sistemi üzerinde Bahama Orkideleri ve Boşanmalar kitaplarını alan bir kullanıcının eşine Bahama Orkideleri kitabını incelerken, bu kitabı alan kullanıcılar Boşanmalar kitabını da aldı şeklinde tavsiye sunulması kişisel bilgilerin ihlâli kapsamına girmektedir [47]. 4.4.7. Risk Kullanıcılara sunulacak öneriler bazı durumlarda potansiyel bir risk taşıyabilirler. Örnek olarak hisse senedi satışının yapıldığı bir tavsiye sisteminde, kullanıcılara sadece ilgili oldukları öğelerin değil aynı zamanda daha az risk oranına sahip öğelerin sunulması gerekmektedir. 4.4.8. Yenilik Tavsiye sistemlerinde yenilik kavramı, kullanıcıların daha önce görmemiş olduğu ürünlerin tavsiye olarak sunulmasını ifade eder. Yeni önerilerin sunulmasını gerektiren uygulamalarda, yenilik kavramı kullanıcıların daha önce gördüğü ve değerlendirdiği ürünlerin filtrelenmesiyle sağlanabilir [22]. 4.4.9. Beklenmedik ürünler sunma Başarılı ve şaşırtıcı ürünlerin öneri olarak sunulmasını açıklayan bu kavram, önerilen yeni ve ilgili bilgi miktarı olarak tanımlanabilir. Tavsiye sistemlerinde rastgele öneri sunmak şaşırtıcı sonuçlar elde edilmesini sağlayabilir ancak doğruluk parametresi ile olan dengenin iyi kurulması gerekmektedir [46]. 50 4.4.10. Çeşitlilik Çeşitlilik kavramı, kullanıcıya sunulan öneri listesinde farklı ürün gruplarından öğelerin bulunmasını ifade eder. Örnek olarak bir film tavsiye sistemi düşünülürse, kullanıcılara sadece ağırlıklı olarak ilgilendikleri kategorilerden öneri sunmak kullanıcının diğer filmleri ve kategorileri görmesini engeller [50]. 4.4.11. Yararlılık E- ticaret sitelerinin büyük bir bölümü, tavsiye sistemlerini kullanarak çapraz satışlarını artırmayı hedeflemektedir. Bu gibi durumlarda tavsiye sistemlerinin çeşitli fonksiyonları optimize edilerek sunulan önerilerin yararlılıkları arttırılabilir. Kullanıcı tercihleri ve satın alma geçmişleri analiz edilerek, yeni önerilerin kullanıcı ihtiyaçları ve sistem sahiplerinin maliyet hesaplarına uygun olarak düzenlenmesi sağlanabilir [22]. 4.4.12. Sağlamlık Sağlamlık kavramı, önerileri etkilemek amacıyla tavsiye sistemlerine yerleştirilen sahte bilgilere karşı olan dayanıklılığı ifade eder. Örnek olarak bir otel sahibinin kendi otelinin puanını yükseltmek için sahte kullanıcı hesapları oluşturarak diğer otellere düşük puan verip kendi oteline yüksek puan vererek diğer kullanıcıların davranışlarını etkilemek istemesi verilebilir [50]. 4.4.13. Uyarlanabilirlik Uyarlanabilirlik kavramı, ürün çeşitliliğinin ve kullanıcı eğilimlerinin hızla değiştiği ortamlarda, tavsiye sistemlerinin yeni ürün ve eğilimlere göre düzenlenebilmesini ifade eder. Bu tür ortamlara verilebilecek en uygun örneklerden biri haber hizmeti sunan Web siteleridir. Deprem felaketi meydana geldiğinde kullanıcıların geçmiş senelerde meydana gelen depremler ile ilgili haber ve yazıları tercih edebilecekleri düşünülüp ilgili haber ve yazıların öneri olarak sunulması örnek olarak verilebilir [46]. 51 4.4.14. Ölçeklenebilirlik Tavsiye sistemleri kullanıcılara faydalı olabilecek ürünleri öneri olarak sunmanın yanı sıra büyük veri setleri elde etmek için tasarlanmışlardır. Elde edilen kullanıcı verileri, sistemlerin performans iyileştirmeleri ve algoritmaların en kısa sürede en uygun sonuçları üretmesi için kullanılabilmektedir. Ölçeklenebilirlik kavramı, veri setlerinin büyümesi ile birlikte tavsiye sistemlerinin donanım yetersizliği ve performans düşüşü gibi durumlar yaşamasını engelleyecek şekilde düzenlenmesini ifade etmektedir [22]. 52 53 5. UBREC’ İN TASARIMI VE GELİŞTİRİLMESİ İnternet kullanımının yaygınlaşması ve e-ticaret uygulamalarının gelişmesiyle birlikte Web ticari bir ortam haline gelmeye başlamıştır. Bu durum Web üzerinde çok büyük bir veri yığınının oluşmasına ve kullanıcıların yapacakları seçimlerde zorlanmalarına neden olmaktadır. Tavsiye sistemleri, kullanıcı tercihleri ve beğenilerine göre kişiselleştirilmiş analizler yaparak aşırı bilgi yüklemesi sorunlarının üstesinden gelmeye çalışmaktadır. Tavsiye sistemlerinde en yaygın kullanılan işbirlikçi filtreleme teknikleri, kullanıcıların satın aldıkları ya da inceledikleri ürünlerden oluşan büyük miktarlardaki verilerin analiz edilerek anlamlı ve kullanışlı öneriler sunulmasını hedeflemektedir. İşbirlikçi filtreleme yaklaşımı, kullanıcıların geçmişte incelemiş oldukları ürünlere göre kullanıcı tercihlerini tahmin ederek benzer tercihlerde bulunan diğer kullanıcıların seçimlerine göre öneri sunma prensibine dayanmaktadır. Kullanıcı tercihleri ve seçimlerinden elde edilen verilerin düşük fiyatlı ve sık satın alınan ürünler üzerinden toplanması kolaydır, ancak ev ya da araba gibi daha az satılan ve yüksek fiyatlı ürünlerden kullanıcıların satın alma geçmişlerine ya da ürünler ile ilgili değerlendirme bilgilerine ulaşmak zordur. E-ticaret ortamlarında kullanıcı verileri daha büyük miktarda ve daha az maliyetli olarak ede edilebilir. Veriler, Web 2.0’ın gelişmesiyle birlikte sanal mağazalarda kullanıcıların görüntülemiş oldukları ürünler ya da gezindikleri sayfalar gibi kullanıcı ile sistem etkileşimlerinden daha kolay bir şekilde ve kullanıcıdan herhangi bir geribildirim almadan elde edilebilir [54]. Kullanıcılara kişiselleştirilmiş öneriler sunma süreci, Web sitelerinin ziyaretçileri hakkında bilgi toplaması, toplanan bilgilerin analiz edilmesi ve kullanıcılara doğru zamanda doğru bilgilerin sunulmasından oluşur. Kişiselleştirme bileşeni, kullanıcılara doğru bilgilerin kolay ve hızlı bir şekilde sunulmasını sağlayarak Web sitelerini daha kullanışlı bir hale getirmeyi amaçlamaktadır. Bu tez çalışması kapsamında, geliştirilen tavsiye sistemi ile kullanıcıların etkileşimlerinden elde edilen bilgilerle kullanıcı profil analizleri yapılarak faydalı ve kullanışlı öneriler sunmak amacıyla yeni bir film tavsiye sistemi geliştirilmiştir. Geliştirilen tavsiye sistemi kullanıcı davranışına dayalı tavsiye (User Behaviour based RECommendation-UBREC) 54 yaklaşımını kullanmaktadır. Geliştirilen yaklaşımda, Web kullanım madenciliği yöntemleri kullanılarak kullanıcıların tıklama durumları ve filmlerin detay sayfalarındaki kalma süreleri analiz edilmiştir. Elde edilen kullanıcı verileri, geliştirilen içerik tabanlı filtreleme ve işbirlikçi filtreleme yaklaşımlarını kullanan hibrit bir tavsiye sistemi algoritması yardımıyla öneri sunma aşamasında kullanılmıştır. UBREC, işbirlikçi filtreleme tekniği ile, tasarlanan arayüz üzerinde belirli sayıda lisans ve lisansüstü öğrenciye kullandırılarak sonuçlar karşılaştırılmış ve analizler gerçekleştirilmiştir. 5.1. Problemin Tanımı Tavsiye sistemlerinde kullanılan işbirlikçi filtreleme yaklaşımı, kullanıcıların geçmişte yapmış oldukları seçimleri depolayarak, aktif kullanıcıya benzer seçimler yapmış olan kullanıcıları belirler ve sunacağı önerileri bu kullanıcıların tercihlerine göre oluşturur. İçerik tabanlı yaklaşımlar ise kullanıcıların tercihlerinden bağımsız bir şekilde ürünlerin özelliklerine dayalı bir öneri yapısı kullanmaktadır. İşbirlikçi filtreleme yaklaşımı artan veri ve kullanıcı sayısı gibi durumlarda hız ve etkili sonuçlar sunma konusunda sorunlar yaşayabilmektedir. Ayrıca sisteme dâhil olan yeni kullanıcılar ve ürünler ile ilgili geçmişte yapılmış tercihler mevcut olmadığı için soğuk başlangıç adı verilen sorunla karşılaşmaktadır. İçerik tabanlı filtreleme yaklaşımları ise öneri olarak sunulan ürünler ve kullanıcı beğenileri arasında bağ kurmaması, yeni ürün sunma kaygısıyla kullanıcının incelediği benzer ürünlerin göz ardı edilerek öneri listesinin hazırlanması ve sisteme yeni dâhil olan kullanıcılar için geçmiş tercih bilgilerinin bulunmayışı sebebiyle soğuk başlangıç problemleri yaşarlar. Bu tez çalışması kapsamında, işbirlikçi filtreleme ve içerik tabanlı filtreleme yaklaşımlarının sınırlamalarını ortadan kaldıracak şekilde tavsiye sistemleri için yeni bir yöntem geliştirilmiştir. Geliştirilen yöntem, kullanıcıların sistem ile olan etkileşimlerinden elde edilen tüm bilgilerle kullanıcı profillerini oluşturarak kullanıcılar için faydalı ve kullanışlı ürünlerin öneri olarak sunulması temeline dayanmaktadır. 5.2. Geliştirilen Kullanıcı Davranışına Dayalı Yöntem Mevcut tavsiye sistemleri kullanıcı profillerini, kullanıcıların ürünlerle ilgili beğeni durumlarını sorgulayarak ya da kullanıcıların ürünleri satın alma, beğenme gibi 55 durumlarından çıkarım yaparak elde etmektedirler. Kullanıcıların ürünlerle ilgili değerlendirme yapma konusunda isteksiz davranmaları, zaman ayırmamaları ya da gerçekçi yanıtlar vermemeleri sistemlerin performansını önemli ölçüde etkilemektedir. Bu tez çalışması kapsamında geliştirilen yöntem ile kullanıcıdan herhangi bir geribildirim almadan kullanıcıların Web sayfaları üzerindeki tıklama ve gezinme davranışlarına göre elde edilen geribildirimler kullanılarak yeni bir tavsiye sistemi geliştirilmiştir. Geliştirilen sistem, temel olarak kullanıcıların tıkladıkları filmler ve filmlerin detay sayfalarında geçirdikleri süre gibi davranışlarının analiz edilerek profil çıkarımı yapılmasına dayanmaktadır. Tavsiye sistemleri ile ilgili olarak, geribildirimlerin kullanıcılardan dolaylı olarak, kullanım analizleriyle elde edildiği çalışmalar bulunmaktadır. Julashokri ve arkadaşları tarafından 2011 yılında yapılan çalışmada, işbirlikçi filtreleme yaklaşımı temel alınarak tavsiye sistemlerinin verimliliğini arttırmak ve müşteri profillerini geliştirmek için zaman faktörü ve grup tercihleri kullanılmıştır [55]. Xiang ve Yang tarafından 2009 yılında yapılan çalışmada, süre özelliklerinin işbirlikçi filtreleme yaklaşımının modelleme süreci üzerine olan etkileri incelenmiştir [56]. Palanivel ve Sivakumar tarafından 2010 yılında yapılan çalışmada, sunulan önerilerin doğruluk derecelerini arttırmak için kullanıcıların geliştirilen müzik tavsiye sistemindeki sayfalar üzerinde geçirdikleri sürelerin farklı veri miktarları, eğitim ve test oranları ile farklı komşuluk boyutları üzerindeki analizleri gerçekleştirilmiştir [57]. UBREC sisteminde, kullanıcıların sisteme giriş yaptıktan sonra filmlerin detay sayfalarında kaldıkları süreler ve filmlerin fragman sürelerine göre her bir film için o kullanıcıya ait değerlendirme puanı hesaplanmıştır. Kullanıcılardan filmlerle ilgili herhangi bir geribildirim almadan, kullanıcıların beğendiği ya da ilgilerini çeken filmlerde diğer filmlere göre daha uzun süre kalacağı gerçekliği temel alınmıştır. Kullanıcıların herhangi bir filme tıklaması ve o filmin detay sayfasının açılması ile kullanıcıların mevcut filmin detay sayfasından ayrılmasına kadar geçen süre, filmin fragman süresine bölünmüş ve elde edilen değer değerlendirme puanı olarak veritabanında güncellenmiştir. Değerlendirme puanının hesaplanması için Eş. 5.1’ deki eşitlik kullanılmıştır. 56 puan round ( * ( kalinan _ sure ) fragman _ suresi (5.1) Burada α katsayısı farklı denemelerin sonucunda 10 olarak alınmıştır. Kullanıcıların filmleri izleme sürelerine göre yukarıdaki eşitlik ile elde edilen değerlendirme puanları film_puan tablosuna kullanici_id ve film_id kullanılarak yazılmıştır. Film değerlendirme puanları, sisteme yeni kayıt olan kullanıcılara sunulacak 10 elemanlı öneri listesinin oluşturulmasında ve geliştirilen yöntemde kategorilere olan ilgililik durumlarına göre kullanıcının henüz görmediği en yüksek puanlı filmin belirlenmesinde kullanılmaktadır. Kullanıcılara seçtikleri filmlerin detay sayfalarında, birliktelik kurallarından elde edilen, diğer kullanıcıların ilgili olduğu filmler listelenmektedir. Kullanıcılar filmlerin detay sayfalarından herhangi bir başka filme tıklayarak ya da çıkış butonuna basarak çıkış yaptığı zaman filmin detay sayfasında kaldıkları süre hesaplanmaktadır. Çıkış butonuna basıldığı zaman kullanıcıların tıkladıkları öneri sayıları, filmlerde kaldıkları süreler, önerileri tıklama sıraları, izleme sepetine attıkları filmler ve birliktelik kurallarından gelen önerilere tıklama durumları hesaplanarak kategori puanları güncellenir. Aktif kullanıcıya yakın olan kullanıcılar hesaplanarak işbirlikçi filtreleme yöntemi ile ilk 5 öneri elde edilir. Rulet tekerleği seçimi yöntemi ile kullanıcıya bir sonraki girişinde sunulacak son 5 öneri elde edilir ve öneri tablosu güncellenir. UBREC tavsiye sistemi, kullanıcıların sistem ile etkileşimlerinden elde edilen Eş. 5.2’ deki eşitlikte görülen 7 adet parametre kullanılarak oluşturulmuştur. Bu parametreler, hassasiyet, duyarlılık, önerilerin tıklanma sayısı, filmlerin izlenme süreleri, seçilen önerilerin sunulan öneri listesinde kaçıncı sırada olduğu, filmlerin izleme sepetine atılması ve birliktelik kurallarından gelen önerilerin seçilme durumlarıdır. UBREC puanı =(α* Hassasiyet)+ (β* Duyarlılık)+ (γ* +(η* 𝐹𝑖𝑙𝑚𝑖𝑛 𝑖𝑧𝑙𝑒𝑛𝑑𝑖ğ𝑖 𝑠ü𝑟𝑒 𝐹𝑖𝑙𝑚𝑖𝑛 𝑡𝑜𝑝𝑙𝑎𝑚 𝑠ü𝑟𝑒𝑠𝑖 ) + (δ* sepet) + (λ* 𝑇𝑖𝑘𝑙𝑎𝑛𝑎𝑛 ö𝑛𝑒𝑟𝑖 𝑠𝑎𝑦𝑖𝑠𝑖 𝑆𝑢𝑛𝑢𝑙𝑎𝑛 ö𝑛𝑒𝑟𝑖 𝑠𝑎𝑦𝑖𝑠𝑖 )+ (θ* 1 Ö𝑛𝑒𝑟𝑖 𝑠𝑖𝑟𝑎𝑠𝑖 )+ 𝐵𝑖𝑟𝑙𝑖𝑘𝑡𝑒𝑙𝑖𝑘 𝑘𝑢𝑟𝑎𝑙𝑙𝑎𝑟𝑖𝑛𝑑𝑎𝑛 𝑔𝑒𝑙𝑒𝑛 ö𝑛𝑒𝑟𝑖𝑙𝑒𝑟𝑒 𝑡𝑖𝑘𝑙𝑎𝑛𝑚𝑎 𝑠𝑎𝑦𝑖𝑠𝑖 𝐵𝑖𝑟𝑙𝑖𝑘𝑡𝑒𝑙𝑖𝑘 𝑘𝑢𝑟𝑎𝑙𝑙𝑎𝑟𝑖𝑛𝑑𝑎𝑛 𝑔𝑒𝑙𝑒𝑛 ö𝑛𝑒𝑟𝑖 𝑠𝑎𝑦𝑖𝑠𝑖 ) (5.2) Kullanılan parametrelere farklı denemelerin sonucunda atanan değerler Çizelge 5.1’ de verilmiştir. 57 Çizelge 5.1. Kullanılan parametrelere atanan değerler Parametre Değer α 0,1 β 0,1 γ 0,2 η 0,2 θ 0,1 δ 0,2 λ 0,1 Şekil 5.1’ de UBREC tavsiye sisteminin akış diyagramı görülmektedir. 58 Kullanıcı girişi H E İlk giriş mi? En yüksek puanlı 10 film Kişiselleştirilmiş öneriler Seçilen filmin detay sayfasını aç Apriori ile diğer kullanıcıların ilgili olduğu filmleri listele E Başka bir filme tıklandı mı? E H Çıkış butonuna basıldı Sayfada kalma süresini hesapla Kategori puanını hesapla Yakın kullanıcıları hesapla ve işbirlikçi filtreleme ile ilk 5 öneriyi oluştur Rulet tekerleği seçimi ile son 5 öneriyi belirle Öneri tablosunu güncelle ve kullanıcıya bir sonraki girişinde sunulacak öneri listesini hazırla Şekil 5.1. UBREC tavsiye sisteminin akış diyagramı 59 Kullanıcı girişi yapıldıktan sonra, kullanıcının sisteme daha önce giriş yapıp yapmadığı kontrol edilir. Eğer ilk defa giriş yapılıyorsa sistem kullanıcı hakkında bilgi sahibi olmadığı için diğer kullanıcıların yapmış oldukları seçimlere dayalı olarak en yüksek puanlı 10 adet film öneri olarak sunulmaktadır. Eğer kullanıcının ilk girişi değilse kullanıcının yapmış olduğu seçimlere bağlı olarak kişiselleştirilmiş öneriler sunulmaktadır. Kullanıcı herhangi bir filme tıkladığı zaman filmin detay sayfası ile birlikte birliktelik kuralları kullanılarak elde edilen öneriler film detay sayfasında gösterilmektedir. Seçilen filmin detay sayfasından çıkılırken sayfada kalınan süre ve süreye bağlı olarak değerlendirme puanı hesaplanır. Kullanıcı çıkış butonuna bastıktan sonra filmlerin detay sayfalarında kaldığı süreler, tıkladığı öneriler, birliktelik kurallarından gelen önerilerden seçtiği filmler ve izleme sepetine attığı filmler kullanılarak UBREC puanı hesaplanır. Kullanıcıya bir sonraki girişinde sunulacak olan öneriler rulet tekerleği seçimi ve işbirlikçi filtreleme yaklaşımı kullanılarak oluşturulur ve öneri tablosu güncellenir. Geliştirilen yöntemde kullanılan parametreler aşağıda detaylı bir şekilde açıklanmıştır. - Hassasiyet ve duyarlılık: Tavsiye sistemlerinde sunulan önerilerin, kullanıcılar tarafından seçilme durumuna göre hassasiyet (precision) ve duyarlılık (recall) metrikleri hesaplanabilmektedir. Bu metrikler bölüm 4.3.2’ de gösterildiği gibi tavsiye sistemlerinin sonuçlarının değerlendirilmesinde kullanılmaktadır. Çizelge 5.2. Sunulan önerilerin olası sonuçları Tavsiye edilen Tavsiye edilmeyen Kullanıcı tarafından seçilen TP FN Kullanıcı tarafından seçilmeyen FP TN Çizelge 5.2 içerisinde sunulan parametreler kullanılarak Eş 5.3’ deki eşitlikler elde edilebilir. 60 Hassasiyet = Duyarlılık = 𝑇𝑃 𝑇𝑃 +𝐹𝑃 𝑇𝑃 𝑇𝑃 +𝐹𝑁 (5.3) TP değeri, kullanıcılara sunulan öneri listesinden kullanıcıların seçmiş olduğu filmlerin sayısını ifade etmektedir. FP değeri, kullanıcılara sunulan öneri listesinden kullanıcıların seçmediği filmlerin sayısını ifade etmektedir. FN değeri, kullanıcılara sunulan öneri listesinde olmayan ancak kullanıcıların seçtiği filmlerin sayısını ifade etmektedir. TN değeri ise kullanıcılara öneri olarak sunulmayan ve kullanıcıların da seçmediği filmlerin sayısını ifade etmektedir. Diğer bir deyişle 1-(TP+FP+FN) şeklinde ifade edilmiştir. Hassasiyet parametresi, önerilen filmlerden, kullanıcının tıkladığı filmlerin sayısı ve önerilen filmlerden kullanıcının tıklamadığı filmlerin sayısı kullanılarak elde edilir. Duyarlılık parametresi ise önerilen filmlerden kullanıcının tıkladığı filmlerin sayısı ile kullanıcı tarafından seçilen ancak öneri listesinde olmayan filmlerin sayısı belirlenerek hesaplanır. - Tıklanan öneri sayısı: Kullanıcıların tıkladıkları filmlerin belirlenmesi, ilgi alanlarının belirlenerek profil çıkarımının yapılması ve kişiselleştirilmiş öneriler sunulması için gereklidir. Sunulan öneri listesinden kullanıcının tıkladığı önerilerin sayısının, önerilen toplamdaki film sayısına oranı ile elde edilir. Kullanıcıların tıkladıkları öneri sayıları Şekil 5.2’ de görülen stored procedure ile belirlenmiştir. Şekil 5.2. Tıklanan öneri sayılarını elde etmek için kullanılan stored procedure 61 - Filmlerin izlenme süreleri: Genel olarak, insanların beğendiği ya da ilgilerini çeken öğeleri, beğenmedikleri ya da ilgi çekici bulmadıkları öğelerden daha uzun süre incelemeleri beklenir. Bilgi arama senaryolarında ilgili dokümanların ilgisiz olanlara göre daha uzun süre incelendiği, alışveriş senaryolarında ise kullanıcıların beğendikleri ürünler üzerinde diğer ürünlere göre daha fazla zaman geçirmesi gerekmektedir. Bu gibi sebeplerden zaman faktörü kullanıcı tercihlerini belirlemek için bir araç olarak kullanılabilir. Kullanıcıların satın alma zamanları kullanılarak Lee ve Park tarafından 2008 yılında yapılan çalışmada, e –ticaret platformları için kullanıcılardan herhangi bir geribildirim almadan geliştirilen bir tavsiye sistemi önerilmiştir [58]. Önerilen yöntem, sunulan önerilerin doğruluğunu arttırmak için kullanıcıların satın alma zamanları ve ürünlerin piyasaya çıkış zamanları kullanılarak değerlendirme puanlarının dolaylı olarak hesaplanmasına dayanmaktadır. Bu yönteme dayanarak, mobil e-ticaret ortamları için bir tavsiye sistemi geliştirilmiş ve çeşitli deneyler ile geliştirilen sistemin performansı test edilmiştir. Deneysel sonuçlar, geliştirilen yöntemin işbirlikçi filtrelemeden daha iyi sonuçlar verdiğini göstermiştir [58]. Adibi ve Ladani tarafından 2013 yılında yapılan çalışmada, her bir kullanıcının ürünlere olan ilgi durumları işbirlikçi filtreleme temelli bir tavsiye sistemi ile belirlenmeye çalışılmıştır. Kullanıcı değerlendirmelerinin zaman bilgisini kullanarak önceden tanımlanmış gruplar ile kullanıcılar arasında benzerlikler belirlenmiştir. Benzerlikler ise her bir kullanıcı için zaman bilgilerinin büyüklükleri kullanılarak yapılan ağırlıklandırma ile hesaplanmıştır [59]. Geliştirilen UBREC tavsiye sisteminde, kullanıcıların beğendikleri ya da ilgi çekici buldukları filmlerde, diğer filmlere göre daha fazla zaman geçirecekleri gerçekliğinden yola çıkarak filmlerin izlenme süreleri belirleyici bir geribildirim olarak alınmıştır. Süre parametresi, kullanıcıların seçtikleri filmlerin detay sayfalarına giriş yaptıkları andan itibaren detay sayfasından çıkış yapana kadar kaldıkları sürelerin Şekil 5.3’ de görülen stored procedure ile hesaplanıp filmin toplam süresine bölünmesiyle elde edilmiştir. 62 Şekil 5.3. İzleme süresine göre film puanının hesaplandığı stored procedure - Seçilen önerilerin sunulan öneri listesinde kaçıncı sırada olduğu: Örnek bir alışveriş senaryosu düşünüldüğünde, müşterilerin öncelikle ilgi duydukları ya da ihtiyaçlarının olduğu ürünlere yönelmeleri beklenmektedir. Geliştirilen sistemde, bu gerçeklikten yola çıkarak seçilen filmlerin öneri listesindeki sırası, kullanıcı profili oluşturulmasında bir geribildirim parametresi olarak kullanılmıştır. Bu parametre, seçilen filmlerin sunulan öneri listesindeki sırasının 1’ e olan oranından elde edilmiştir. Şekil 5.4’ de seçilen önerilerin, öneri listesinde kaçıncı sırada olduğunu belirlemek için kullanılan fonksiyon görülmektedir. 63 Şekil 5.4. Seçilen önerilerin, listede kaçıncı sırada olduğunu belirleyen fonksiyon - Filmlerin izleme sepetine atılması: Alışveriş sepeti, çevrimiçi alışveriş imkânı sunan eticaret sitelerinde kullanıcı beğenilerinin belirlenmesinde önemli rol oynamaktadır. Pradel ve arkadaşları tarafından 2011 yılında yapılan çalışmada, Fransız ev dekorasyonu mağazasının Web sitesine ait müşterilerin satın alma verileri, işbirlikçi filtreleme algoritmaları kullanılarak analiz edilmiştir. Yapılan çalışmada, satın alma eyleminin, kullanıcı profillerinin oluşturulmasında kullanıcılardan ürünlerle ilgili geribildirim almaktan daha etkili olduğu belirlenmiştir [60]. Choi ve Kim tarafından 2014 yılında yapılan çalışmada, tekrarlı satın alınma örüntüsü gösteren ürünlere uygun bir tavsiye sistemi geliştirilmiştir. Kullanıcı tabanlı ve ürün tabanlı işbirlikçi filtreleme yaklaşımları ile aynı zamanda satın alınan ürünlerin belirlenmesi için birliktelik kuralları kullanılmıştır. Faaliyet gösteren bir e-ticaret şirketinin 1,5 yıllık verileri kullanılarak benzer satın alma davranışı gösteren kullanıcıların alışveriş sepetleri analiz edilmiştir [61]. Geliştirilen UBREC tavsiye sisteminde, bu durum kullanılarak kullanıcıların izleme sepetine attıkları filmler profil çıkarma sürecinde kullanılmıştır. Film sepete atılırsa mevcut film için sepet değeri 1, atılmazsa 0 olmaktadır. Filmlerin sepet değerinin güncellenmesi için kullanılan stored procedure Şekil 5.5’ de görülmektedir. 64 Şekil 5.5. Sepet değerinin güncellenmesi için kullanılan stored procedure - Birliktelik kurallarından gelen önerilerin seçilme durumları: Birliktelik kuralları kullanıcıların geçmişteki satın alma verilerinin analiz edilmesi ve elde edilen birliktelik durumları ile ileriye dönük kararlar vermede faydalanılan bir yaklaşımdır. Birliktelik kuralları birçok e-ticaret platformunun çapraz satışlarını arttırmak için kullandığı etkili yöntemlerden biridir. Tavsiye sistemleri alanında birliktelik kuralları ile ilgili yapılan çalışmalar öneri doğruluğunun arttırılmasında birliktelik kurallarının önemini ortaya koymaktadır. Kazienko tarafından 2009 yılında yapılan çalışmada, birlikte açılan Web sayfalarından kullanıcıların açtığı üçüncü sayfaları belirlemek için bir çalışma yapılmıştır [62]. Sunulan IDARM (Indirect Association Rules Miner) algoritması ile doğrudan gerçekleşen birliktelik kuralları çıkarılarak öneri sürecinde kullanılmıştır. Yapılan testler ile öneri listelerinin geliştirilmesinde birliktelik kurallarının etkisi ortaya çıkarılmıştır [62]. Kim ve Yum tarafından 2011 yılında yapılan çalışmada, sırasıyla kullanıcıların tıkladığı ürünlerin, sepete konulan ürünlerin ve satın alınan ürünlerin güven seviyeleri belirlenmiş ve tercih değeri bu üç güven seviyesinin doğrusal kombinasyonu ile tahmin edilmiştir. Önerilen yaklaşımın etkinliğini belirlemek için CD (Compact Disk) albümleri için bir eticaret sitesi oluşturarak değerlendirmeler yapılmıştır [41]. Tyagi ve Bharadwaj tarafından 2012 yılında yapılan çalışmada, önerilen QARF (Quantitative Association Rules based Filtering scheme) metodu ile kullanıcılar ile ürünler arasındaki ilişkiler çıkarılmıştır. Çıkarılan kurallar daha sonra yeni bir kullanıcı için öneriler üretmek amacıyla çevrimiçi işlemler sırasında kullanılmıştır. Önerilen metot, 65 önerilerin doğruluğunu artırmak amacıyla işbirlikçi filtreleme yöntemleriyle birleştirilmiş ve QARF/CF (Quantitative Association Rules based Filtering scheme/Collaborative Filtering) yapısı oluşturulmuştur. Test sonuçları, önerilen yöntemin yeni kullanıcılara öneriler sunmada işbirlikçi filtrelemeden daha iyi performans gösterdiğini ortaya çıkarmıştır [63]. Birliktelik kuralları analizleri kullanılarak oluşturulan bu parametre, film detay sayfalarında aktif kullanıcının izlemekte olduğu filmi izleyen kullanıcıların bu filmle beraber izlemiş olduğu filmler Şekil 5.7’ de görüldüğü gibi Bu Filmi İnceleyen Kullanıcılar Aşağıdaki Filmleri de İnceledi alanında gösterilmektedir. Birliktelik kurallarından elde edilen öneriler, kullanıcı oturumlarında tıklanan filmlerin birlikte seçilme durumları analiz edilerek, belirlenen destek ve güven değerlerinin üzerinde olan birliktelikler film detay sayfalarına yerleştirilmektedir. Bu parametre, birliktelik kurallarından elde edilen önerilerden tıklananların sayısının, birliktelik kurallarından gelen bütün önerilerin sayısına oranı ile hesaplanmıştır. Birliktelik kurallarından gelen önerilerin film detay sayfasında gösterilmesi için kullanılan stored procedure Şekil 5.6’ da görülmektedir. Şekil 5.6. Birliktelik kurallarını oluşturmak için kullanılan stored procedure Apriori algoritması kullanılarak oluşturulan, filmlerin birlikte seçilme durumlarına göre sunulan öneriler Şekil 5.7’ de görülmektedir. 66 Şekil 5.7. Birliktelik kurallarından elde edilen öneriler Kullanıcılara kişiselleştirilmiş öneriler sunmak için, kullanıcıların UBREC tavsiye sistemi ile olan etkileşimleri yukarıda açıklanan parametreler ile elde edilmiştir. Kullanıcıların 67 kategori puanları, Şekil 5.8’ de görülen stored procedure ile UBREC eşitliğine göre hesaplanmıştır. Şekil 5.8. UBREC puanının hesaplanması için kullanılan stored procedure Kullanıcı davranış analizleriyle elde edilen parametreler ile UBREC puanı hesaplanarak kullanıcıların seçmiş olduğu filmlerin kategori puanlarına eklenerek seçilen filmlerin 68 kategori puanları güncellenmiştir. Kullanıcıların kategori puanlarının güncellenmesi için kullanılan stored procedure Şekil 5.9’ da görülmektedir. Şekil 5.9. Kategori puanlarını güncellenmesi için kullanılan stored procedure Kullanıcıların sistemle olan etkileşimlerine göre değişen kategori puanları, kullanıcıların o kategoriye olan ilgililik durumlarını yansıtmaktadır. Bu ilgililik durumu öneri sunma aşamasında kullanıcıya sunulacak filmlerin hangi kategoriden geleceğini belirlemek için kullanılmıştır. Kullanıcılara sunulacak öneri listesinin ilk elemanı genetik algoritmada kullanılan elitizm yaklaşımı ile diğer 4 öneri ise rastgeleliği sağlamak için genetik algoritmada kullanılan rulet tekerleği yaklaşımı ile elde edilmiştir. Elitizm yöntemi genetik algoritmada belirli sayıdaki en iyi bireyin hiçbir işleme tabi tutulmadan doğrudan seçilmesini ifade etmektedir. Geliştirilen yöntemde öneri sunulacak kullanıcının en yüksek puana sahip olduğu kategorideki, tıklamadığı en yüksek puanlı film Şekil 5.10’ da görüldüğü gibi elit birey olarak seçilmiştir. Rulet tekerleği seçimi yöntemi ise genetik algoritmada kromozomların uygunluk değerlerine göre seçilme şanslarının değiştiği rastgeleliği sağlayan bir yöntemdir. 69 Şekil 5.10. Öneri listesinin ilk elemanının elitizm ile seçilmesi için kullanılan fonksiyon Geliştirilen yöntemde kullanıcıların kategori puanları rulet tekerleği seçimi kullanılarak Şekil 5.11’ de görüldüğü gibi işleme tabi tutulmuş ve öneri listesi rulet tekerleğinden elde edilen sonuçlar eklenmiştir. Şekil 5.11. Rulet tekerleği seçimi ile önerilerin belirlenmesi için kullanılan fonksiyon 70 UBREC tavsiye sisteminde öneri listelerinin ilk 5 elemanı ise işbirlikçi filtreleme yaklaşımları kullanılarak en yakın kullanıcılar kümesindeki kullanıcıların yapmış oldukları seçimlere göre belirlenmekte, son 5 elemanı ise geliştirilen yöntemdeki kullanıcıların kategori puanlarına göre belirlenmektedir. Kullanıcılara sunulacak öneri listeleri, kullanışı girişi yapıldıktan kullanıcı çıkışı yapılıncaya kadar geçen zaman içerisindeki etkileşimlerin analiz edilmesi ile belirlenmekte ve çıkış butonuna basılınca oneri tablosu kullanıcıya bir sonraki girişinde sunulacak filmlerle Şekil 5.12’ de görülen stored procedure tarafından güncellenmektedir. Şekil 5.12. Öneri tablosunun güncellenmesi için kullanılan stored procedure Kullanıcılara sunulacak 10 elemanlı öneri listesinin ilk 5 elemanı işbirlikçi filtreleme yaklaşımları kullanılarak en yakın kullanıcılar kümesindeki kullanıcıların seçimlerine göre belirlenmektedir. İşbirlikçi filtreleme yaklaşımı, aktif kullanıcıya benzer özellikteki kullanıcıların seçtiği, ancak aktif kullanıcının henüz görmediği bir ürünün öneri olarak sunulmasını temel almaktadır. İşbirlikçi filtreleme yöntemi kullanılarak öneriler üretmek için aktif kullanıcıya benzer seçimler yapmış yakın kullanıcılar kümesi oluşturulmuştur. Kendisine yakın kullanıcıların incelediği ancak aktif kullanıcının incelemediği filmler 71 öneri olarak sunulmuştur. İşbirlikçi filtreleme yaklaşımında, yakın kullanıcıların kümesini belirlemek için Pearson’s Correlation Coefficient yöntemi kullanılmıştır. İşbirlikçi filtreleme yöntemi kullanılarak öneriler Şekil 5.13’ de görülen stored procedure ile elde edilmiştir. Şekil 5.13. İşbirlikçi filtreleme yöntemi ile öneri oluşturan stored procedure Kullanıcı girişi yapıldıktan sonra ana sayfada editörün seçtikleri bölümü otomatik olarak aşağı inmekte ve önerilen filmler alanı ortaya çıkmaktadır. Kullanıcıların sistem tarafından tanınabilmesi ve verilerin sağlıklı bir şekilde elde edilebilmesi için kullanıcı girişinin ve kullanıcı çıkışının yapılması gerekmektedir. Önerilen filmlerin ana sayfada gösterilmesi için kullanılan stored procedure Şekil 5.14’ de gösterilmiştir. 72 Şekil 5.14. Ana sayfada önerileri göstermek için kullanılan stored procedure Kullanıcı girişi yapıldıktan sonra ana sayfanın görüntüsü Şekil 5.15’ de görülmektedir. Şekil 5.15. Kullanıcı girişi yapıldıktan sonra ana ekranın görüntüsü 73 Kullanıcılar çıkış butonuna bastığı zaman, seçtikleri filmler için UBREC puanları hesaplanmakta ve bir sonraki girişlerinde sunulacak öneriler belirlenerek öneri tablosu güncellenmektedir. Bu nedenle, kullanıcı verilerinin sağlıklı bir şekilde alınabilmesi için kullanıcı girişinin ve kullanıcı çıkışının yapılması gerekli bir koşul olarak sunulmuştur. UBREC tavsiye sistemi, ilk defa giriş yapan kullanıcı ve en az ikinci kez giriş yapan kullanıcılar için iki farklı senaryo halinde incelebilir. İlk defa giriş yapan kullanıcı senaryosunda, UBREC tavsiye sistemi kullanıcı hakkında bilgi sahibi olmadığı için aktif kullanıcıya, diğer kullanıcıların filmleri izleme sürelerine göre Eş. 5.1’ de verilen film puanı hesaplama eşitliği ile elde edilen film puanlarına göre en yüksek puanlı 10 adet film öneri olarak sunulmaktadır. En yüksek puanlı 10 adet filmin öneri olarak sunulması için kullanılan stored procedure Şekil 5.16’ da görülmektedir. Şekil 5.16. En yüksek puanlı 10 filmi öneri listesine ekleyen stored procedure Kullanıcılara en yüksek puanlı filmlerden oluşan öneri listesi sunulduktan sonra sistem ile yapacakları etkileşimlere göre kategori puanları ile film puanları güncellenmekte, yakın kullanıcılar belirlenmekte ve çıkış butonuna bastıklarında sonraki girişlerinde sunulacak kişiselleştirilmiş öneri listesi hazırlanmaktadır. En az ikinci kez giriş yapan kullanıcı senaryosunda UBREC tavsiye sistemi artık aktif kullanıcının ilgilendiği kategoriler ve yapabileceği seçimlerle ilgili bilgi sahibidir. Kullanıcıya sunulan öneri listesi kişiselleştirilmiş önerilerden oluşmaktadır. Kullanıcının sistem ile yapacağı etkileşim sonuçlarına göre çıkış butonuna basılarak çıkış yapıldığında, belirlenen yakın kullanıcılar ve hesaplanan kategori puanları ile öneri listesi kişiselleştirilmiş önerilerle güncellenmektedir. Kullanıcı girişi yapıldığında sunulan kişiselleştirilmiş öneriler Şekil 5.17’ de görülmektedir. 74 Şekil 5.17. Kullanıcı girişi yapıldığında ana sayfada gösterilen kişiselleştirilmiş öneriler 5.2.1. Soğuk başlangıç sorunu Tavsiye sistemlerine yeni bir kullanıcının eklenmesi ya da yeni bir ürünün eklenmesi soğuk başlangıç sorunun yaşanmasına neden olur. Soğuk başlangıç sorunu işbirlikçi filtreleme yöntemlerinde, yeni eklenen kullanıcının daha önce herhangi bir değerlendirmesinin olmayışı nedeniyle ya da yeni eklenen bir ürünün daha önce herhangi bir kullanıcı tarafından değerlendirilmemiş olması nedeniyle ortaya çıkar. Geliştirilen yöntemde, sisteme yeni bir kullanıcı eklendiği zaman, soğuk başlangıç sorununu çözmek için diğer kullanıcılar tarafından yapılan değerlendirme sonuçlarına göre en yüksek değerlendirme puanına sahip 10 adet film öneri olarak sunulmuştur. Yeni bir film eklendiği 75 zaman ortaya çıkabilecek olan soğuk başlangıç sorunu ise filmlerin IMDb puanları kullanılarak aşılmıştır. 5.3. Uygulamanın Geliştirilmesi Kullanıcıların, geliştirilen UBREC sistemi üzerinde bulunan filmleri seçme durumları ve seçtikleri filmlerde geçirdikleri süreler kullanıcılar ile ilgili analizlerin yapılmasına olanak sağlayan geribildirimler olarak alınmışlardır. Bu geribildirimler, geliştirilen hibrit tavsiye sistemi algoritmasında ağırlıklandırılmış parametreler olarak kullanılarak kullanıcılara kişiselleştirilmiş öneriler sunulmuştur. UBREC tavsiye sistemi, veritabanı tasarımı, öneri algoritmasının uygulanması ve arayüzlerin tasarlanması aşamalarından oluşmaktadır. 5.3.1. Veritabanı tasarımı Microsoft SQL Server 2012 kullanılarak oluşturulan UBREC sisteminin veritabanı, birbirleriyle ilişkili kullanici, film_detay, kategori, denklem, kategori_puan, film_puan ve oneri olmak üzere toplam 7 adet tablodan, 29 adet stored procedure’ den ve 10 adet fonksiyondan oluşmaktadır. Veritabanı tasarımında ağ trafiğini hafifletmesi ve sorguların veritabanında bulunmasının güvenlik açısından önemi nedeniyle stored procedure’ ler kullanılmıştır. Fonksiyonlar ise stored procedure’ lerin sağladığı avantajlara sahip geriye değer döndüren yapılardır. Kullanılan stored procedure ve fonksiyonlar Şekil 5.18’ de görülmektedir. 76 Şekil 5.18. Stored procedure ve fonksiyonlar Kullanılan tablolar ve tablolar arasındaki ilişkiler ise Şekil 5.19’ da görülmektedir. 77 Şekil 5.19. UBREC veritabanı tabloları arasındaki ilişkiler UBREC tavsiye sistemi dâhilinde oluşturulan kullanici tablosu kullanici_id, kullanici_adi, sifre ve tur alanlarından oluşmaktadır. tur alanı geliştirilen yöntem ve işbirlikçi filtreleme yönteminin karşılaştırılması aşamasında kullanıcıların hangi yöntemden öneri alacaklarını belirlemek için kullanılan alandır. film_detay tablosu filmlerle ilgili bilgilerin tutulduğu tablodur. Filmlerin vizyon tarihi, yönetmeni, oyuncuları, kategorisi, IMDb puanı, çekildiği ülke, özeti, afişi, fragmanı ve fragman süresi bu tabloda tutulmaktadır. film_detay tablosunda bulunan editor alanı, ana sayfada editörün seçtikleri alanında bulunması istenilen filmlerin belirlendiği alandır. film_detay tablosu her bir kategoride 35 tane olmak üzere toplam 350 adet filmden oluşmaktadır. kategori tablosu kategori_id ve kategori_adi alanlarından oluşmaktadır. UBREC tavsiye sistemi için aksiyon, animasyon, bilimkurgu, dram, gerilim, komedi, korku, macera, polisiye ve romantik olmak üzere toplamda 10 adet kategori belirlenmiştir. 78 denklem tablosu geliştirilen hibrit tavsiye algoritmasında kullanılan, kullanıcılardan elde edilen geribildirimlere göre değer alan precision, recall, sepet, kalinansure, tiklananoneri, apriori, kacincisira parametreleri ile kullanıcı ve kategori bazlı işlemler yapılacağı için kullanici_id ve kategori_id alanlarından oluşmaktadır. kategori_puan tablosu her bir kullanıcıya ve o kullanıcıya ait kategorilere ait puanların tutulduğu tablodur. kategori_puan tablosu kullanici_id, kategori_id ve kategori_puan alanlarından oluşmaktadır. Önerilen yönteme göre hesaplanan kullanıcıların kategori puanları bu tabloya yazılmaktadır. film_puan tablosu, kullanıcıların seçtikleri filmlerle ilgili bilgilerin tutulduğu tablodur. kullanici_id, film_id, film_puan, sure, sepet ve onerimi alanlarından oluşmaktadır. kullanici_id ve film_id alanları kullanici ve film_detay tablolarıyla ilişki kurmak için kullanılan alanlardır. sure alanı kullanıcının seçtiği filmde ne kadar zaman geçirdiğini, sepet alanı seçilen filmin sepete atılıp atılmadığını, onerimi alanı ise seçilen filmin öneri tablosundan seçilip seçilmediğini ifade eder. oneri tablosu ise kullanıcılara sunulacak öneri listesinin bulunduğu kullanici_id, film_id, oneri_sirasi ve tikladimi alanlarından oluşmaktadır. kullanici_id ve film_id alanları oneri tablosunu film_detay ve kullanici tablolarıyla ilişkilendirmek için kullanılan alanlardır. oneri_sirasi alanı kullanıcıya sunulan filmlerin öneri listesindeki sırasını, tikladimi alanı ise sunulan listedeki filmlerin kullanıcı tarafından tıklanıp tıklanmadığını saklayan alandır. 5.3.2. Kullanıcı arayüzlerinin tasarımı Geliştirilen UBREC sistemi ile kullanıcılardan filmlerle ilgili herhangi bir değerlendirme ya da geribildirim almadan, kullanıcıların sistemle olan etkileşimlerinden faydalanarak profil çıkarımı yapılmaktadır. Bu amaçla verilerinin elde edileceği kullanıcı arayüzleri ASP.Net, HTML, Javascript, Ajax ve css teknolojileri kullanılarak tasarlanmıştır. UBREC tavsiye sistemi Şekil 5.20’ de görüldüğü gibi yönetici ekranındaki kullanıcı ekleme işleminin yapıldığı kullaniciekle.aspx, film ekleme işleminin yapıldığı filmekle.aspx, admingiris.aspx ve admin_analiz.aspx sayfaları ile kullanıcı arayüzlerinin oluşturulduğu index.aspx, kategori.aspx, yil.aspx, imdb.aspx ve cikis.aspx sayfalarından oluşmaktadır. 79 Şekil 5.20. UBREC tavsiye sistemi için oluşturulan ASP.Net sayfaları 2012 Filmleri, 2013 Filmleri ve 2014 Filmleri sayfaları, Şekil 5.21’ deki gibi veritabanından filmlerin vizyon tarihlerine göre alınmasıyla oluşturulan sayfadır. Şekil 5.21. Yıl sayfalarını oluşturan stored procedure 80 Veritabanında yazılan stored procedure’ ler ASP.Net tarafından oluşturulan yil.aspx sayfasına Şekil 5.22’ deki gibi parametre olarak gönderilmiş ve 2012, 2013 ve 2014 yıllarına ait filmler listelenmiştir. Şekil 5.22. 2013 filmleri sayfası IMDb 7+ filmler sayfası, Şekil 5.23’ deki gibi veritabanından filmlerin IMDb puanlarına göre alınmasıyla oluşturulan sayfadır. Şekil 5.23. imdb.aspx sayfasını oluşturan stored procedure 81 Veritabanında yazılan stored procedure’ ler ASP.Net tarafında oluşturulan imdb.aspx sayfasına Şekil 5.24’ deki gibi parametre olarak gönderilmiş ve IMDb puanı 7 ve üzerinde olan filmler listelenmiştir. Şekil 5.24. IMDb 7+ filmler sayfası UBREC sistemindeki film kategori sayfaları, Şekil 5.25’ deki gibi veritabanından filmlerin kategori isimlerine göre çekilmesiyle oluşturulan sayfalardır. 82 Şekil 5.25. kategori sayfalarını oluşturan stored procedure Aksiyon, animasyon, bilimkurgu, dram, gerilim, komedi, korku, macera, polisiye ve romantik olmak üzere toplam 10 adet kategorinin sayfası, veritabanında yazılan stored procedure ile ASP.Net tarafında oluşturulan kategori.aspx sayfasına Şekil 5.26’ daki gibi parametre olarak gönderilmiş ve aynı kategoride bulunan filmler listelenmiştir. Şekil 5.26. Kategori sayfası 83 Sistemin ana sayfası Şekil 5.27’ de görüldüğü gibi vizyon tarihine göre en yeni 10 adet filmin gösterildiği vizyondaki filmler ve editörün seçtikleri alanlarından oluşmaktadır. Vizyondaki filmler alanı Javascript teknolojileri kullanılarak her bir saniyede sola doğru kayan 10 adet filmin bulunduğu bir yapıda tasarlanmıştır. Şekil 5.27. index.aspx sayfası Editörün seçtikleri alanı, veritabanında bulunan film_detay tablosundaki editör alanında yapılan seçimlere göre değiştirilebilmektedir. Vizyondaki filmler alanı index.aspx sayfasına Şekil 5.28’ de görüldüğü gibi veritabanında yazılan stored procedure’ den parametre gönderilmesiyle oluşturulmuştur. 84 Şekil 5.28. Vizyondaki filmler alanını oluşturan stored procedure Editörün seçtikleri alanı, index.aspx sayfasına Şekil 5.29’ da görüldüğü gibi veritabanında yazılan stored procedure’ den parametre gönderilmesiyle oluşturulmuştur. Şekil 5.29. Editörün seçtikleri alanını oluşturan stored procedure Filmlerin detay sayfaları her bir için veritabanından film_detay.aspx sayfasına Şekil 5.30’ da görülen stored procedure ile gönderilen parametreler ile oluşturulmaktadır. Şekil 5.30. film_detay.aspx sayfalarını oluşturan stored procedure Filmin ismi, vizyon tarihi, yönetmeni, oyuncuları, kategorisi, yapıldığı ülke, IMDb, puanı, özeti, fragman videosu ve afişi birer parametre olarak film_detay.aspx sayfasına gönderilmektedir. Filmlerin detay sayfası Şekil 5.31’ de görülmektedir. 85 Şekil 5.31. Filmlerin detay sayfası 5. 4. Yönetici Ekranı ve Raporlama Sayfalarının Tasarımı UBREC sisteminin yönetici ekranında, yeni kullanıcı ekleme ve yeni film ekleme işlemlerinin yapıldığı menüler ve kullanıcı analizlerinin yapıldığı sayfalar bulunmaktadır. Yönetici ekranında bulunan admingiris.aspx sayfası Şekil 5.32’ de görüldüğü gibi yönetici adı ve şifresi ile giriş yapılan sayfadır. 86 Şekil 5.32. admingiris.aspx sayfası admin_analiz.aspx sayfası ise admingiris.aspx sayfasından yönetici adı ve şifresi doğru girildikten sonra yönlendirilen yönetici sayfasıdır. Şekil 5.33’ de görüldüğü gibi admin_analiz.aspx sayfası, kullanıcı analizlerinin ve yönetimsel işlemlerin yapılabildiği sayfadır. 87 Şekil 5.33. admin_analiz.aspx sayfası Şekil 5.34’ de UBREC puanlarının hesaplanmasında kullanılan parametrelerin toplamda yaptıkları etkilerin ve kullanıcı oturumlarına göre yaptıkları etkilerin bulunduğu alan görülmektedir. 88 Şekil 5.34. UBREC parametrelerinin toplam etkileri ve kullanıcı oturumlarına göre etkileri admin_analiz.aspx sayfasında seçilen kullanıcıya ait kategori puanlarının değişimini gösteren grafik, seçilen kullanıcıya benzer davranış sergilemiş yakın kullanıcıların gösterildiği alan, seçilen kullanıcının tıkladığı toplam film sayısı ve tıkladığı toplam öneri sayısı, seçilen kullanıcı giriş yaptığında gösterilecek olan öneriler bulunmaktadır. Kullanıcı ekleme işleminin yapıldığı kullaniciekle.aspx sayfası ve film ekleme işleminin yapıldığı filmekle.aspx sayfası admin_analiz.aspx sayfasında bulunan menülere tıklanarak yönlendirilen sayfalardır. Kullanıcılarla ilgili bilgilerin girilerek kullanıcı kaydının oluşturulduğu kullaniciekle.aspx sayfası Şekil 5.35’ de görülmektedir. 89 Şekil 5.35. Kullanıcı ekleme işleminin yapıldığı kullaniciekle.aspx sayfası Film adı, vizyon tarihi, yönetmen, oyuncular, filmin kategorisi, filmin çekildiği ülke, IMDb puanı, özeti, filmin afişi, filmin fragmanı ve fragman süresi gibi bilgilerin girilerek film ekleme işleminin yapıldığı filmekle.aspx sayfası Şekil 5.36’ da görülmektedir. Şekil 5.36. Film ekleme işleminin yapıldığı filmekle.aspx sayfası 90 91 6. DENEYSEL SONUÇLAR Önerilen sistem, oluşturulan farklı kullanıcı türleri üzerinde günümüzde tavsiye motorlarında yaygın kullanılan işbirlikçi filtreleme yaklaşımı ile karşılaştırılmıştır. Kullanıcılar kayıt aşamasında, işbirlikçi filtrelemeden öneri alacak kullanıcı ve önerilen yöntemden öneri alacak kullanıcı olarak belirlenmiştir. Kullanıcı girişi yapıldıktan sonra kullanıcıların sistem ile olan etkileşimleri sonucunda elde edilen tıklama bilgileri ve filmlerin detay sayfalarında kalma süreleri analiz edilerek kullanıcı profilleri oluşturulmuştur. UBREC tavsiye sistemi puanının oluşturulmasında kullanılan parametrelerin değerleri, çeşitli kullanıcı gruplarının sistemi kullanması sonucunda belirlenmiştir. Yapılan analizler sonucunda, kullanıcı davranışlarını etkin bir şekilde modelleyebilmek için Çizelge 6.1’ de görüldüğü gibi bazı parametrelere daha yüksek değerler verilmiştir. Çizelge 6.1. Kullanılan parametrelere atanan değerler Parametre Değer α 0,1 β 0,1 γ 0,2 η 0,2 θ 0,1 δ 0,2 λ 0,1 Geliştirilen sistem 100 adet işbirlikçi filtreleme yaklaşımından öneri alan kullanıcı ve 100 adet geliştirilen yöntemden öneri alan kullanıcı tarafından denenmiştir. Geliştirilen sistem, Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü’nde lisans, yüksek lisans ve doktora eğitimi almakta olan, yaşları 18 ile 30 arasında değişen toplamda 200 adet kullanıcı tarafından kullanılmıştır. Geliştirilen UBREC tavsiye sistemi, toplamda 10 adet kategoriden ve her bir kategoride 35 adet olmak üzere toplam 350 adet filmden oluşmaktadır. Geliştirilen yöntemde, kullanıcıların sistemle yapmış oldukları etkileşimlere göre değişen kategori puan grafiği Şekil 6.1’ de görülmektedir. 92 Şekil 6.1. Kullanıcıların kategori puanlarının değişimi (Kişisel bilgilerin korunması amacıyla kullanıcı isimleri gizlenmiştir) Çizelge 6.2’ de Kullanıcı_id’ lerine göre kullanıcıların öneri aldıkları yöntem, sisteme giriş sayıları ve sisteme giriş oranları görülmektedir. Çizelge 6.2. Kullanıcıların sisteme giriş sayıları Kullanıcı_id Öneri aldığı yöntem Sisteme giriş sayısı Sisteme giriş oranı (%) 14 UBREC 8 2,17 11 UBREC 6 1,63 30 UBREC 6 1,63 21 UBREC 5 1,35 28 UBREC 5 1,35 54 İşbirlikçi filtreleme 5 1,35 84 İşbirlikçi filtreleme 5 1,35 19 UBREC 4 1,08 24 UBREC 4 1,08 1 UBREC 3 0,81 8 UBREC 3 0,81 16 UBREC 3 0,81 22 UBREC 3 0,81 23 UBREC 3 0,81 49 İşbirlikçi filtreleme 3 0,81 93 Çizelge 6.2. (devam) Kullanıcıların sisteme giriş sayıları 52 İşbirlikçi filtreleme 3 0,81 53 İşbirlikçi filtreleme 3 0,81 57 İşbirlikçi filtreleme 3 0,81 59 İşbirlikçi filtreleme 3 0,81 62 İşbirlikçi filtreleme 3 0,81 68 UBREC 3 0,81 72 İşbirlikçi filtreleme 3 0,81 74 UBREC 3 0,81 106 İşbirlikçi filtreleme 3 0,81 123 UBREC 3 0,81 146 UBREC 3 0,81 148 UBREC 3 0,81 154 UBREC 3 0,81 241 UBREC 3 0,81 242 İşbirlikçi filtreleme 3 0,81 312 İşbirlikçi filtreleme 3 0,81 313 UBREC 3 0,81 322 İşbirlikçi filtreleme 3 0,81 339 UBREC 3 0,81 357 UBREC 3 0,81 361 UBREC 3 0,81 377 UBREC 3 0,81 382 İşbirlikçi filtreleme 3 0,81 383 UBREC 3 0,81 3 UBREC 2 0,54 7 UBREC 2 0,54 15 UBREC 2 0,54 20 UBREC 2 0,54 26 UBREC 2 0,54 38 UBREC 2 0,54 43 İşbirlikçi filtreleme 2 0,54 94 Çizelge 6.2. (devam) Kullanıcıların sisteme giriş sayıları 45 İşbirlikçi filtreleme 2 0,54 47 İşbirlikçi filtreleme 2 0,54 50 İşbirlikçi filtreleme 2 0,54 51 İşbirlikçi filtreleme 2 0,54 55 İşbirlikçi filtreleme 2 0,54 58 İşbirlikçi filtreleme 2 0,54 60 İşbirlikçi filtreleme 2 0,54 64 UBREC 2 0,54 67 İşbirlikçi filtreleme 2 0,54 69 İşbirlikçi filtreleme 2 0,54 71 İşbirlikçi filtreleme 2 0,54 77 İşbirlikçi filtreleme 2 0,54 82 İşbirlikçi filtreleme 2 0,54 88 İşbirlikçi filtreleme 2 0,54 90 İşbirlikçi filtreleme 2 0,54 93 İşbirlikçi filtreleme 2 0,54 96 İşbirlikçi filtreleme 2 0,54 97 İşbirlikçi filtreleme 2 0,54 100 İşbirlikçi filtreleme 2 0,54 105 İşbirlikçi filtreleme 2 0,54 109 İşbirlikçi filtreleme 2 0,54 118 UBREC 2 0,54 126 UBREC 2 0,54 132 İşbirlikçi filtreleme 2 0,54 134 İşbirlikçi filtreleme 2 0,54 138 UBREC 2 0,54 145 İşbirlikçi filtreleme 2 0,54 149 İşbirlikçi filtreleme 2 0,54 153 UBREC 2 0,54 157 UBREC 2 0,54 166 İşbirlikçi filtreleme 2 0,54 95 Çizelge 6.2. (devam) Kullanıcıların sisteme giriş sayıları 176 İşbirlikçi filtreleme 2 0,54 181 UBREC 2 0,54 211 İşbirlikçi filtreleme 2 0,54 229 UBREC 2 0,54 279 UBREC 2 0,54 298 İşbirlikçi filtreleme 2 0,54 311 UBREC 2 0,54 315 İşbirlikçi filtreleme 2 0,54 317 İşbirlikçi filtreleme 2 0,54 319 UBREC 2 0,54 321 UBREC 2 0,54 325 İşbirlikçi filtreleme 2 0,54 333 UBREC 2 0,54 341 UBREC 2 0,54 349 İşbirlikçi filtreleme 2 0,54 355 İşbirlikçi filtreleme 2 0,54 359 UBREC 2 0,54 363 UBREC 2 0,54 364 İşbirlikçi filtreleme 2 0,54 367 UBREC 2 0,54 369 UBREC 2 0,54 371 İşbirlikçi filtreleme 2 0,54 373 İşbirlikçi filtreleme 2 0,54 379 UBREC 2 0,54 381 İşbirlikçi filtreleme 2 0,54 385 UBREC 2 0,54 387 UBREC 2 0,54 389 UBREC 2 0,54 393 UBREC 2 0,54 397 İşbirlikçi filtreleme 2 0,54 399 İşbirlikçi filtreleme 2 0,54 96 Çizelge 6.2. (devam) Kullanıcıların sisteme giriş sayıları 2 UBREC 1 0,27 4 UBREC 1 0,27 5 UBREC 1 0,27 6 UBREC 1 0,27 9 UBREC 1 0,27 10 UBREC 1 0,27 12 İşbirlikçi filtreleme 1 0,27 13 İşbirlikçi filtreleme 1 0,27 17 İşbirlikçi filtreleme 1 0,27 18 UBREC 1 0,27 25 UBREC 1 0,27 27 UBREC 1 0,27 31 İşbirlikçi filtreleme 1 0,27 32 UBREC 1 0,27 33 UBREC 1 0,27 34 UBREC 1 0,27 35 İşbirlikçi filtreleme 1 0,27 36 UBREC 1 0,27 37 UBREC 1 0,27 39 İşbirlikçi filtreleme 1 0,27 40 İşbirlikçi filtreleme 1 0,27 41 İşbirlikçi filtreleme 1 0,27 42 İşbirlikçi filtreleme 1 0,27 46 UBREC 1 0,27 48 İşbirlikçi filtreleme 1 0,27 56 İşbirlikçi filtreleme 1 0,27 61 İşbirlikçi filtreleme 1 0,27 63 İşbirlikçi filtreleme 1 0,27 70 İşbirlikçi filtreleme 1 0,27 73 UBREC 1 0,27 75 İşbirlikçi filtreleme 1 0,27 97 Çizelge 6.2. (devam) Kullanıcıların sisteme giriş sayıları 76 İşbirlikçi filtreleme 1 0,27 78 UBREC 1 0,27 83 İşbirlikçi filtreleme 1 0,27 86 İşbirlikçi filtreleme 1 0,27 95 İşbirlikçi filtreleme 1 0,27 113 İşbirlikçi filtreleme 1 0,27 117 İşbirlikçi filtreleme 1 0,27 130 UBREC 1 0,27 137 UBREC 1 0,27 140 İşbirlikçi filtreleme 1 0,27 159 UBREC 1 0,27 162 İşbirlikçi filtreleme 1 0,27 170 İşbirlikçi filtreleme 1 0,27 173 UBREC 1 0,27 174 İşbirlikçi filtreleme 1 0,27 175 UBREC 1 0,27 180 İşbirlikçi filtreleme 1 0,27 185 UBREC 1 0,27 186 İşbirlikçi filtreleme 1 0,27 203 UBREC 1 0,27 209 UBREC 1 0,27 214 İşbirlikçi filtreleme 1 0,27 225 UBREC 1 0,27 251 UBREC 1 0,27 252 İşbirlikçi filtreleme 1 0,27 257 UBREC 1 0,27 258 UBREC 1 0,27 262 İşbirlikçi filtreleme 1 0,27 268 İşbirlikçi filtreleme 1 0,27 271 UBREC 1 0,27 300 İşbirlikçi filtreleme 1 0,27 98 Çizelge 6.2. (devam) Kullanıcıların sisteme giriş sayıları 301 UBREC 1 0,27 302 İşbirlikçi filtreleme 1 0,27 305 UBREC 1 0,27 306 İşbirlikçi filtreleme 1 0,27 310 İşbirlikçi filtreleme 1 0,27 314 İşbirlikçi filtreleme 1 0,27 323 UBREC 1 0,27 327 UBREC 1 0,27 328 İşbirlikçi filtreleme 1 0,27 329 UBREC 1 0,27 331 UBREC 1 0,27 332 İşbirlikçi filtreleme 1 0,27 335 UBREC 1 0,27 336 İşbirlikçi filtreleme 1 0,27 340 İşbirlikçi filtreleme 1 0,27 342 İşbirlikçi filtreleme 1 0,27 343 UBREC 1 0,27 345 UBREC 1 0,27 346 İşbirlikçi filtreleme 1 0,27 347 UBREC 1 0,27 351 UBREC 1 0,27 352 İşbirlikçi filtreleme 1 0,27 353 UBREC 1 0,27 365 UBREC 1 0,27 366 İşbirlikçi filtreleme 1 0,27 375 UBREC 1 0,27 391 UBREC 1 0,27 395 UBREC 1 0,27 396 İşbirlikçi filtreleme 1 0,27 398 İşbirlikçi filtreleme 1 0,27 368 100 99 Kullanıcıların öneri alacakları yöntemler sisteme kayıt aşamasında rastgele belirlenmiştir. İşbirlikçi filtreleme yönteminden öneri alan kullanıcılar sisteme toplamda 172 defa giriş yapmışken, geliştirilen UBREC yönteminden öneri alan kullanıcılar sisteme 196 defa giriş yapmıştır. UBREC sistemi ile sunulan öneriler, işbirlikçi filtreleme yöntemi tarafından sunulan önerilere göre daha etkili ve ilgili olduğu için UBREC sisteminden öneri alan kullanıcılar geliştirilen film tavsiye sistemine daha fazla sayıda giriş yapmışlardır. Kullanıcıların giriş sayılarında sonuçları etkileyecek bir dağılım gözlemlenmemiştir. Şekil 6.2’ de kullanıcı türlerine göre sisteme giriş oranları görülmektedir. İşbirlikçi filtreleme UBREC %46,73 %53,26 Şekil 6.2. Kullanıcı türlerine göre sisteme giriş oranları Şekil 6.2’ de görüldüğü gibi işbirlikçi filtreleme yönteminden öneri alan kullanıcıların sisteme giriş oranları %46,73, UBREC sisteminden öneri alan kullanıcıların oranı ise %53,26’dır. UBREC sisteminden öneri alan kullanıcıların sisteme daha yüksek bir oranla giriş yaptığı görülmektedir. Bu sonuçların diğer istatistiki bilgileri etkilemediği görülmektedir. Şekil 6.3’ de kullanıcıların sisteme giriş sayıları görülmektedir. 100 100 92 90 80 69 Giriş sayısı 70 60 50 40 30 30 20 10 1 2 4 2 8 giriş 6 giriş 5 giriş 4 giriş 0 3 giriş 2 giriş 1 giriş Şekil 6.3. Kullanıcıların sisteme giriş sayıları Şekil 6.3’ de kullanıcıların sisteme giriş sayıları görülmektedir. Sisteme 1 kez giriş yapan kullanıcı sayısının 92, 8 kez giriş yapan kullanıcı sayısının ise 1 olduğu görülmektedir. Geliştirilen yöntemden ve işbirlikçi filtreleme yaklaşımından öneri alan kullanıcıların film tıklama istatistikleri Çizelge 6.2’ de görülmektedir. Çizelge 6.3. Filmlerin tıklanma sayıları İşbirlikçi filtreleme UBREC Artış miktarı (%) Toplam tıklanan film sayısı 978 1342 37,21 Toplam tıklanan öneri sayısı 154 508 229,87 Tıklanan öneri oranı (%) 15,74 37,85 137,82 Şekil 6.4’ de toplam tıklanan film sayıları görülmektedir. İşbirlikçi filtreleme yönteminde toplam tıklanan film sayısı 978, geliştirilen yöntemde 1342’dir. Toplam tıklanan film sayısında %37,21 artış gerçekleşmiştir. 101 1600 1342 Toplam tıklanan film sayısı 1400 1200 1000 978 800 600 400 200 0 İşbirlikçi filtreleme UBREC Şekil 6.4. Toplam tıklanan film sayıları Geliştirilen yöntemden öneri alan kullanıcıların, işbirlikçi filtreleme yönteminden öneri alan kullanıcılara göre toplamda daha fazla sayıda filme tıkladığı Şekil 6.5’ de görülmektedir. Bu da UBREC tavsiye sistemiyle yapılan önerilerin kullanıcılar için daha ilgili olduğunu göstermektedir. İşbirlikçi filtreleme UBREC %42,15 %57,84 Şekil 6.5. Tıklanan toplam film sayısı oranları 102 Şekil 6.6’ da toplam tıklanan öneri sayıları görülmektedir. İşbirlikçi filtreleme yönteminde tıklanan öneri sayısı 154, geliştirilen yöntemde 508’dir. Tıklanan öneri sayısında %229,87 artış gerçekleşmiştir. 600 508 Toplam tıklanan öneri sayısı 500 400 300 200 154 100 0 İşbirlikçi filtreleme UBREC Şekil 6.6. Toplam tıklanan öneri sayıları Şekil 6.7’ de toplam tıklanan öneri sayısına göre oranlar görülmektedir. Tıklanan önerilerin %76,73’ü geliştirilen yöntemden öneri alan kullanıcılar tarafından, %23,26’sı ise işbirlikçi filtreleme yönteminden öneri alan kullanıcılar tarafından seçilmiştir. Analiz sonuçları geliştirilen yöntem ile sunulan önerilerin kullanıcı beklentilerini işbirlikçi filtreleme yöntemine göre daha fazla karşıladığını göstermektedir. 103 İşbirlikçi filtreleme UBREC %23,26 %76,73 Şekil 6.7. Toplam tıklanan öneri sayısına göre oranlar Kullanıcıların tıkladıkları öneri sayılarının, tıklanan toplam film sayısına göre dağılımı Şekil 6.8’ de görülmektedir. Tıklanan öneri sayısının tıklanan toplam film sayısına olan oranında işbirlikçi filtreleme yöntemi %15,74 orana sahipken geliştirilen yöntem %37,85 orana sahiptir. Bu da geliştirilen yöntem ile sunulan önerilerin daha yüksek bir oranla seçildiğini göstermektedir. Tıklanan öneri sayısının dağılımı (%) 40 37,85 35 30 25 20 15,74 15 10 5 0 İşbirlikçi filtreleme UBREC Şekil 6.8. Tıklanan öneri sayısının, tıklanan film sayısına göre dağılımı 104 Sisteme dâhil olan yeni bir kullanıcıya sunulan öneriler, mevcut diğer kullanıcıların yapmış oldukları seçimlere göre belirlenmektedir. Yeni kullanıcı sistem tarafından tanınmadığından en yüksek puan değerine sahip filmler öneri olarak sunulmaktadır. Çizelge 6.4’ de sisteme kaydolan yeni bir kullanıcıya sunulacak olan en yüksek puanlı 10 adet filmin diğer kullanıcılar tarafından tıklanma oranları görülmektedir. Çizelge 6.4. Kullanıcıya sunulan 10 filmin tıklanma oranları Filmin sıra numarası Tüm filmlere göre tıklanma oranı (%) 1 2,19 2 1,68 3 1,63 4 1,50 5 1,33 6 1,20 7 1,07 8 1,07 9 0,73 10 0,68 Şekil 6.9’ da yeni bir kullanıcı sisteme dâhil olduğunda öneri olarak sunulacak en yüksek puanlı 10 adet filmin mevcut kullanıcılar tarafından tıklanma sayıları görülmektedir. 105 60 51 Tıklanma sayısı 50 39 40 38 35 31 30 28 25 25 20 17 16 9 10 10 0 1 2 3 4 5 6 7 Film sıra numarası 8 Şekil 6.9. UBREC ile sisteme yeni giriş yapan kullanıcıya önerilen filmlerin tıklanma sayıları Kullanıcılara sunulan önerilerin seçilme sıraları, öneri kalitesinin belirlenmesinde önemli bir etkendir. Çizelge 6.5’ de UBREC tavsiye sisteminde kullanıcılara sunulan önerilerin, öneri sırasına göre yüzdelik oranları gösterilmiştir. Çizelge 6.5. Kullanıcıların öneri listesinden yaptıkları seçim sıralarının oranı Öneri sırası Tıklanan öneri oranı (%) 1 17,91 2 11,81 3 8,66 4 9,64 5 9,25 6 9,05 7 7,08 8 8,26 9 9,25 10 9,05 Şekil 6.10’ da UBREC sisteminde kullanıcılara sunulan önerilerin, seçilme sırasına göre sayıları görülmektedir. Sunulan önerilerin seçilme sayılarının ilk 2 sırada daha yüksek olduğu görülmektedir. Tıklanma sayısı 106 100 90 80 70 60 50 40 30 20 10 0 1 2 3 4 5 6 7 Öneri sırası 8 9 10 Şekil 6.10. UBREC ile sunulan önerilerin, öneri sırasına göre tıklanma değerleri Elde edilen sonuçlar, önerilerin sunulma sırasının seçilme olasılığını etkilediğini göstermektedir. Sunulan ilk 5 öneri, belirlenen yakın kullanıcılardan işbirlikçi filtreleme yöntemi kullanılarak elde edilen filmlerden oluşmaktadır. Sunulan son 5 adet öneri ise UBREC puanına göre elitizm ve rulet tekerleği seçimi yapılarak elde edilen filmlerden oluşmaktadır. Deneysel sonuçlar, UBREC tavsiye sistemi ile sunulan önerilerin tıklanma sayısının, işbirlikçi filtreleme yöntemi ile sunulan önerilerin tıklanma sayısından daha yüksek olduğunu göstermiştir. Şekil 6.11’ de 1.sırada tıklanan önerilere izleme sepeti parametresinin ve tıklanan öneri sayısı parametresinin etkisinin daha yüksek olduğu görülmektedir. 107 %3,33 %0,04 %6,77 %14,85 %36,28 %31,85 Hassasiyet Duyarlılık İzleme sepeti Filmlerin izlenme süresi Tıklanan öneri sayısı Birliktelik kuralları Önerilerin tıklanma sırası %6,85 Şekil 6.11. 1. sırada tıklanan öneriler için kategori puanlarına UBREC parametrelerinin etkisi Şekil 6.12’ de 2. sırada tıklanan öneriler için 1. sırada tıklanan önerilere göre izleme sepeti parametresinin etkisinin azaldığı, tıklanan öneri sayısı parametresinin etkisinin arttığı görülmektedir. %4,29 %0,19 %7,95 %10,08 %24,62 %38,93 Hassasiyet Duyarlılık İzleme sepeti Filmlerin izlenme süresi Tıklanan öneri sayısı Birliktelik kuralları Önerilerin tıklanma sırası %13,91 Şekil 6.12. 2. sırada tıklanan öneriler için kategori puanlarına UBREC parametrelerinin etkisi 108 Şekil 6.13’ de 1. sırada ve 2. sırada tıklanan önerilere göre 3. sırada tıklanan önerilerde tıklanan öneri sayısı parametresinin etkisinin arttığı, izleme sepeti parametresinin etkisinin azaldığı görülmektedir. %0,12 %6,12 %11,65 %10,03 %16,82 Hassasiyet Duyarlılık İzleme sepeti Filmlerin izlenme süresi Tıklanan öneri sayısı Birliktelik kuralları Önerilerin tıklanma sırası %51,68 %3,54 Şekil 6.13. 3. sırada tıklanan öneriler için kategori puanlarına UBREC parametrelerinin etkisi Şekil 6.14’ de ilk 3 öneri tıklama sırası için UBREC parametrelerinin etkileri görülmektedir. İzleme sepeti parametresinin ve öneri tıklama sırası parametresinin etkisinin 1. sırada tıklanan öneriden 3. sırada tıklanan öneriye göre azaldığı, tıklanan öneri sayısı parametresinin ve hassasiyet parametresinin etkisinin ise arttığı görülmektedir. 109 30 Hassasiyet Duyarlılık İzleme sepeti Parametrenin etki oranı (%) 25 Filmlerin izlenme süresi Tıklanan öneri sayısı 20 Birliktelik kuralları Öneri tıklama sırası 15 10 5 0 1.sıra 2.sıra 3.sıra Şekil 6.14. Tıklama sırasına göre UBREC parametrelerinin etkileri E-ticaret uygulamalarında yaygın olarak kullanılan satın alma davranışı, geliştirilen sistemde izleme sepeti kullanılarak gerçekleştirilmiştir. Kullanıcıların beğendikleri filmleri izleme sepetine atması, UBREC puanının hesaplanmasında önemli bir etkiye sahiptir. Çizelge 6.6’ da, işbirlikçi filtreleme yönteminden öneri alan kullanıcı türlerine ve geliştirilen yöntemden öneri alan kullanıcı türlerine göre yapılan analiz sonuçları görülmektedir. Çizelge 6.6. Filmlerin sepete atılma sayıları İşbirlikçi filtreleme UBREC Tıklanan toplam film sayısı 978 1342 Sepete atılan film sayısı 148 380 Sepete atılan film oranı (%) 15,13 28,31 Önerilen filmlerin sepete atılma oranı (%) 22,29 60,26 Geliştirilen yöntemden öneri alan kullanıcı sayısının toplamda tıkladığı film sayısı ve sepete atılan film sayısının işbirlikçi filtreleme yönteminden daha yüksek olduğu görülmektedir. Şekil 6.15’ de izleme sepetine atılan film sayıları görülmektedir. 110 380 Sepete atılan film sayısı 400 350 300 250 200 150 148 100 50 0 İşbirlikçi filtreleme UBREC Şekil 6.15. Sepete atılan film sayısı İzleme sepetine atılan toplam film sayısı için UBREC sisteminden öneri alan kullanıcıların daha fazla sayıda filmi izleme sepetine attığı görülmektedir. Şekil 6.16’ da tıklanan toplam Sepete atılan filmlerin oranı (%) film sayısına göre sepete atılan filmlerin oranları görülmektedir. 100 90 80 70 60 50 40 30 20 10 0 28,31 15,13 İşbirlikçi filtreleme UBREC Şekil 6.16. Tıklanan toplam film sayısına göre sepete atılan filmlerin oranı Tıklanan toplam film sayısına göre UBREC sisteminde sepete atılan film sayısının işbirlikçi filtreleme yönteminden daha yüksek olduğu görülmektedir. Şekil 6.17’ de tıklanan toplam film sayısına göre sepete atılan film sayısının yüzdelik olarak oranları görülmektedir. Sepete atılma oranı (%) 111 100 90 80 70 60 50 40 30 20 10 0 60,26 22,29 İşbirlikçi filtreleme UBREC Şekil 6.17. Önerilen filmlerin, sepete atılma sayısına göre yüzdelik oranı UBREC tavsiye sisteminden öneri alan kullanıcıların, daha yüksek bir oranla filmleri izleme sepetine attığı görülmektedir. Tavsiye sistemlerinin değerlendirilmesinde kullanılan hassasiyet ve duyarlılık parametresi, kullanıcılara sunulan öneri listesindeki filmlerin seçilme sayılarına ve kullanıcıların sunulan öneri listesi dışından seçtikleri filmlerin sayılarına göre belirlenmektedir. Hassasiyet parametresi, kullanıcıya sunulan öneri listesinden seçilen filmlerin sayısının öneri listesinin boyutuna oranlanmasıyla elde edilmektedir. Şekil 6.18’ de hassasiyet parametresine göre işbirlikçi filtreleme ve UBREC yönteminin analiz sonuçları görülmektedir. 112 Hassasisyet parametresinin toplam sayısı 160 146,7 140 120 100 80 60 40 38,49 20 0 İşbirlikçi filtreleme UBREC Şekil 6.18. Hassasiyet parametresine göre sonuçların karşılaştırılması Kullanıcılara sunulan öneri listesindeki filmlerin seçilme sayıları, öneri listesinden seçilmeyen filmlerin sayısından yüksek olduğu için hassasiyet parametresi geliştirilen yöntemde işbirlikçi filtreleme yöntemine göre daha yüksek sonuçlar vermektedir. Duyarlılık parametresi ise, sunulan öneri listesinden kullanıcının seçtiği film sayısının, kullanıcının öneri listesinin dışından seçtiği filmlerin sayısı ile öneri listesinden seçtiği film sayılarının toplamına oranlanması ile hesaplanmaktadır. Şekil 6.19’ da duyarlılık parametresine göre işbirlikçi filtreleme ve UBREC yönteminin analiz sonuçları görülmektedir. 113 Duyarlılık parametresinin toplam sayısı 300 246,4 250 200 150 87,94 100 50 0 İşbirlikçi filtreleme UBREC Şekil 6.19. Duyarlılık parametresine göre sonuçların karşılaştırılması Geliştirilen yöntemde, kullanıcılar öneri listesinin dışındaki filmleri daha az tercih ettikleri için duyarlılık parametresi açısından işbirlikçi filtreleme yöntemine göre daha yüksek sonuçlar elde edilmiştir. Günlük hayatta insanların ilgilerini çeken ya da beğendikleri ürünler üzerinde daha fazla zaman geçirdiği gerçeği e-ticaret uygulamalarında kullanıcı davranışlarının modellenmesinde kullanılmaktadır. Geliştirilen sistemde, kullanıcıların filmlerin detay sayfalarında geçirdikleri süreler belirlenerek UBREC puanının hesaplanmasında parametre olarak kullanılmıştır. Çizelge 6.7’ de filmlerin toplam izlenme sürelerinin, işbirlikçi filtreleme ve UBREC yöntemi için analiz sonuçları görülmektedir. Çizelge 6.7. Filmlerin izlenme süreleri İzlenen toplam süre (s) İşbirlikçi filtreleme UBREC Artış miktarı (%) 17155 24182 29,05 UBREC puanının hesaplanmasında, kullanıcıların filmlerin detay sayfalarında kaldıkları sürenin o filmin fragman süresine oranlanması parametre olarak kullanılmaktadır. Kullanıcıların yaptıkları girişlerde filmlerin detay sayfalarında kaldıkları süreler, filmlerin 114 fragman sürelerine oranlanarak elde edilen değerler toplanmış ve Şekil 6.20’ de gösterilmiştir. Kalınan süre/ fragman süresi 35 31,95 30 25 19,73 20 15 10 5 0 İşbirlikçi filtreleme UBREC Şekil 6.20. Kalınan süreye göre sonuçların karşılaştırılması Analiz sonuçları UBREC sisteminin işbirlikçi filtreleme yöntemine göre daha yüksek sonuçlar verdiğini göstermiştir. İşbirlikçi filtreleme yöntemi için filmlerin izlendiği toplam süre 17155 saniye iken geliştirilen yöntemde 24182 saniye olmuştur. UBREC sistemi ile toplamda izlenen film süresi işbirlikçi filtreleme yöntemine göre %29,05 artırılmıştır. Önerilen filmlerin izlenme süreleri, öneri kalitesinin belirlenmesinde en önemli etkenlerden biridir. İşbirlikçi filtreleme yöntemi ve UBREC yöntemi için kullanıcıların sunulan önerilerde geçirdikleri toplam süreler saniye cinsinden Çizelge 6.8’ de gösterilmiştir. UBREC yönteminden öneri alan kullanıcıların önerilen filmlerin detay sayfalarında işbirlikçi filtreleme yöntemine göre daha fazla zaman geçirdiklerini göstermektedir. Çizelge 6.8. Önerilen filmlerin izlenme süreleri Önerilen filmlerin izlenme süresi (s) İşbirlikçi filtreleme UBREC Artış miktarı (%) 3128 12594 75,16 115 Şekil 6.21’ de önerilen filmlerin izlenme sürelerinin, izlenen tüm filmlerin toplam süresine göre yüzdelik oranı görülmektedir. 60 Önerilerilen filmlerin izlenme oranı (%) 52,08 50 40 30 20 18,23 10 0 İşbirlikçi filtreleme UBREC Şekil 6.21. Önerilen filmlerin izlenme süresinin, toplamda izlenen film süresine göre oranı Analiz sonuçları UBREC yönteminin işbirlikçi filtreleme yönteminden daha yüksek sonuçlar verdiğini göstermiştir. Önerilen filmlerin izlenme oranı işbirlikçi filtreleme yönteminde %18,23 iken geliştirilen yöntemde %52,8 olmuştur. Kullanıcıların giriş yaptıkları bir oturum içerisinde seçtikleri filmlerin analiz edilmesi ve apriori algoritması kullanılarak öneri sunulması öneri sistemleri uygulamalarında kullanılan yaygın bir öneri sunma yöntemidir. Geliştirilen sistemde kullanıcıların birlikte seçmiş oldukları filmler analiz edilerek filmlerin detay sayfalarında Bu Filmi İnceleyen Kullanıcılar Aşağıdaki Filmleri de İnceledi alanı içerisinde birliktelik kurallarından elde edilen öneriler sunulmuştur. Şekil 6.22’ de kullanıcı oturumlarda birliktelik kurallarından gelen önerilerden seçilenlerin sayısının, birliktelik kurallarından gelen toplamdaki öneri sayısına oranlanmasıyla elde edilen analiz sonuçları görülmektedir. 116 Tıklanan birliktelik kuralı öneri oranı 12 9,76 10 8 6,73 6 4 2 0 İşbirlikçi filtreleme UBREC Şekil 6.22. Birliktelik kurallarından gelen önerilere göre sonuçlar Sonuçlar, UBREC sisteminden öneri alan kullanıcıların birliktelik kurallarından gelen tavsiyeleri, işbirlikçi filtreleme yönteminden öneri alan kullanıcılara göre daha çok seçtiğini göstermektedir. İşbirlikçi filtreleme yönteminde tıklanan birliktelik kuralı öneri oranı 6,73 iken geliştirilen yöntemde 9,76 olmuştur ve %31,04’ lük bir artış gerçekleşmiştir. Kullanıcıların filmlerin detay sayfalarında kaldıkları süreler fragman sürelerine oranlanarak 10’ a göre normalize edilmiş ve değerlendirme puanları oluşturulmuştur. Şekil 6.23’ de işbirlikçi filtreleme ve UBREC yöntemine göre öneri alan kullanıcıların değerlendirme puanlarının toplamı görülmektedir. 117 600 Film değerlendirme puanlarının toplamı 532 500 400 300 200 156 100 0 İşbirlikçi filtreleme UBREC Şekil 6.23. Kalınan süreye göre hesaplanan film değerlendirme puanlarının toplamı Analiz sonuçları UBREC yönteminin işbirlikçi filtreleme yönteminden daha yüksek sonuçlar verdiğini göstermiştir. Bu da UBREC tavsiye sistemi tarafından sunulan önerilerin, kullanıcılar tarafından daha verimli bulunduğu için filmlerin detay sayfalarında kalınan süreler ve kalınan süreye dayalı olarak hesaplanan değerlendirme puanları açısından, geliştirilen yöntemin performansının işbirlikçi filtreleme yöntemine göre daha yüksek olduğunu göstermektedir. Analiz sonuçlarının, Şekil 6.21’ de görülen önerilen filmlerin izlenme süreleri ve Şekil 6.23’ de görülen değerlendirme puanları toplamı açısından birbirlerini destekler nitelikte olduğu görülmektedir. 118 119 7. SONUÇLAR Bu tez çalışması kapsamında, kullanıcılardan önerilerle ilgili herhangi bir değerlendirmede bulunmalarını istemeden, kullanıcı davranış analizlerine dayalı bir tavsiye sistemi geliştirilmiştir. Kullanıcıların Web sayfaları üzerindeki davranışları, filmlerin detay sayfalarında geçirdikleri süreler, filmlerin izleme sepetine atılması ve sunulan önerilerin seçilme durumları kullanılarak modellenmiştir. Öneriler, UBREC puanları kullanılarak elitizm ve rulet tekerleği seçimi yöntemi ile elde edilmiştir. Geliştirilen yöntem, deneysel sonuçlar ile birlikte işbirlikçi filtreleme yaklaşımı ile karşılaştırılmıştır. Geliştirilen yöntem ile işbirlikçi filtrelemede yaşanan soğuk başlangıç sorunları giderilip, sunulan önerilerin kullanıcılar tarafından daha yüksek bir başarı oranı ile seçildiği görülmüştür. Geliştirilen yöntem ile işbirlikçi filtreleme yöntemine göre toplam tıklanan film sayısında %37,21, toplam tıklanan öneri sayısında %229,87 artış gerçekleşmiştir. Geliştirilen yöntem ile işbirlikçi filtreleme yöntemine göre filmlerin izleme sepetine atılmasında %61,05, önerilen filmlerin izleme sepetine atılmasında %37,97 artış gerçekleşmiştir. Geliştirilen yöntem ile işbirlikçi filtreleme yöntemine göre tüm filmlerin izlendiği sürede %29,05, önerilen filmlerin izlendiği sürede %75,16 artış gerçekleşmiştir. Kalınan süreye göre hesaplanan film değerlendirme puanlarının toplamında %70,67 artış gerçekleşmiştir. 120 121 KAYNAKLAR 1. Kim, J. K., Kim, H. K., Oh, H. Y. and Ryu, Y. U. (2010). A group recommendation system for online communities. International journal of information management, 30(3), 212–219. 2. Bobadilla, J., Ortega, F., Hernando, A. and GutiéRrez, A. (2013). Recommender systems survey. Knowledge-based systems, 46, 109–132. 3. Park, D. H., Kim, H. K., Choi, Y. and Kim, J. K. (2012). A literature review and classification of recommender systems research. Expert systems with applications, 39(11), 10059–10072. 4. Choi, Y. K. and Kim, S. K. (2014). An auxiliary recommendation system for repetitively purchasing items in e-commerce. Big data and smart computing (BIGCOMP), 39(11), 10059–10072. 5. Zhang, H. and Yang, Y. (2011). An e-commerce personalized recommendation system based on customer feedback. Management and service science (MASS), 1-3. 6. Huang, L., Dai, L., Wei, Y. and Huang M. (2008). A personalized recommendation system based on multi-agent. Genetic and evolutionary computing, 223-226. 7. Chen, M. (2010). Research on recommender technology in e-commerce recommendation system. 2nd International conference on education technology and computer (ICETC). 4, 409-412. 8. Mukhopadhyay, D., Dutta, R., Kundu, A. and Dattagupta, R. (2008). A product recommendation system using vector space model and association rule. Information technology ICIT '08, 279-282. 9. Lian, R. (2011). The construction of personalized web page recommendation system in e-commerce. Computer science and service system (CSSS). 2687-2690. 10. Yu, X. and Sun, S. (2010). Research on personalized recommendation system based on web mining. International conference on e-business and e-government, 346-349. 11. Cui, B. and Chen, X. (2009). An online book recommendation system based on web service. Fuzzy systems and knowledge discovery. 520-524. 12. Min-jie, X. and Jin-ge, Z. (2010). Research on personalized recommendation system for e-commerce based on web log mining and user browsing behaviors. Computer application and system modeling (ICCASM). 408-411. 13. Abdullah, N., Xu, Y., Geva, S. and Chen, J. (2010). Infrequent purchased product recommendation making based on user behaviour. Data mining workshops (ICDMW). 1084-1091. 122 14. Sabic, A. and El-Zayat, M. (2010). Building e-university recommendation system. Information management and engineering (ICIME). 439-442. 15. Wu, J., Liu, Q. And Luo, S. (2008). Clustering technology application in e-commerce recommendation system. Management of e-commerce and e-government, ICMECG '08. 200-203. 16. Haydar, C., Roussanaly, A. and Boyer, A. (2012). Clustering users to explain recommender systems performance fluctuation. Proceedings of the 20th international conference on foundations of ıntelligent systems (ISMIS'12), 357-366. 17. Chen, T., Han, W., Wang, H. and Zhou, Y. (2007). Content recommendation system based on private dynamic user profile. Machine learning and cybernetics, 2112-2118. 18. Yan-yan, G. and Qui-cheng, L. (2010). E-commerce personalized recommendation system based on multi-agent. Fuzzy systems and knowledge discovery (FSKD), 19992003. 19. Zhenghua, L. (2012). Realization of individualized recommendation system on books sale. Management of e-commerce and e-government (ICMeCG),10-13. 20. DuBois, T., Golbeck, J., Kleint, J. and Srinivasan, A. (2009). Improving recommendation accuracy by clustering social networks with trust. RecSys ’09. 21. Memari, M. and Amerian, A. (2010). INORM: A new approach in e-commerce recommendation. Computer engineering and applications (ICCEA), 55-59. 22. Ricci, F., Rokach, L., Shapira, B. and Kantor, P. B. (2011). Recommender systems handbook. İngiltere Springer, 107-144. 23. Esfahani, M.H. and Alhan, F.K. (2013). New hybrid recommendation system based On C-Means clustering method. Information and knowledge technology (IKT), 145149. 24. Pathak, D., Matharia, S. and Murthy, C. N. S. (2013). NOVA: Hybrid book recommendation engine. Advance computing conference (IACC), 977-982. 25. Xiaolin, X. and Guanglin, X. (2012). A recommendation ranking model based on credit. Granular computing (GrC),569-572. 26. Lu, T. And Li, T. (2007). Predicting customer's preference in e-commerce recommendation system: a genetic algorithm approach. Innovative computing, ınformation and control, 2007. ICICIC '07, 420. 27. Tamura, T., Sato, A., Huang, R. and Ma, J. (2013). Recommendation engine based system towards creating a harmonious family living environment. Orange technologies (ICOT), 294-297. 123 28. Kulkarnil, S., Sankpal, A. M., Mudholkar, R. R. and Kumari, K. (2013). Recommendation engine: Matching individual/group profiles for better shopping experience. Advanced computing technologies (ICACT),1-6. 29. Yang, Q., Zhang, S. and Feng, B. (2007). Research on personalized recommendation system of scientific and technological periodical based on automatic summarization. Information technologies and applications in education, 2007. ISITAE '07,34-39. 30. Zhiao, S. and Hui, W. (2010). Notice of retraction research on recommender system in e-commerce based on web mining. Advanced management science (ICAMS),360-363. 31. Singh, B. and Singh, H .K. (2010). Web data mining research: A survey. Computational intelligence and computing research (ICCIC), 1-10. 32. Kosala, R. and Blockeel, H. (2000). Web mining research: A survey. ACM SIGKDD explorations newsletter, 2(1). 1-15. 33. Amutha, K. and Devapriya, M. (2013). Web Mining: A survey paper. International journal of computer trends and technology (IJCTT). 4(9), 3038-3042. 34. Zhang, Q. and Segall, R. S. (2008). Web mining: A survey of current research, techniques, and software. International journal of information technology & decision making, 7(4), 683–720. 35. Sharama, S. (2012). Web mining. (2012). International journal of emerging technology and advanced engineering, 2(4), 269-271. 36. Jayalatchumy, D. and Thambidurai, P. (2013). Web mining research issues and future directions – A survey. IOSR journal of computer engineering (IOSR-JCE), 14(3), 2027. 37. Dubey, P. and Dubey, R. (2014). Pattern detection with improved preprocessing in web log. Oriental journal of computer science & technology, 7(1), 161-165. 38. Lucky, R. W. (2009). Notice of retraction a recommender system based on web data mining for personalized e-learning. Information engineering and computer science, 1– 4. 39. Ganapathy, G., Arunesh, K. (2011). Models for recommender systems in web usage mining based on user rating. Proceedings of the world congress on engineering 2011. 40. Srivastava, J., Cooleyz, R., Deshpande, M. and Tan, P. N. (2000). Web usage mining: Discovery and applications of usage patterns from web data. ACM SIGKDD explorations newsletter, 1(2), 12-23. 41. Kim, Y. S. and Yum, B. J. (2011). Recommender system based on click stream data using association rule mining. Expert systems with applications, 38(10), 13320-13327. 124 42. Dimitrijević, M. and Bošnjak, Z. (2011). Web usage association rule mining system. Interdisciplinary journal of ınformation, knowledge, and management, 6, 137-150. 43. İnternet: Wasilewska, A. Apriori algorithm. http://www3.cs.stonybrook.edu/~cse634/lecture_notes/07apriori.pdf, Son Tarihi: 19.11.2014. URL: Erişim 44. Yu, X., Ma, H., Hsu, B. J. and Han, J. (2014). On building entity recommender systems using user click log and freebase knowledge. Proceedings of the 7th ACM international conference on Web search and data mining (WSDM '14), 263-272. 45. Jawaheer, G., Weller, P. and Kostkova, P. (2014). Modeling user preferences in recommender systems: A classification framework for explicit and implicit user feedback. Acm transactions on ınteractive ıntelligent systems, 4 (2). 46. Extrand, M. D. and Riedl, J. T. (2010). Collaborative filtering recommender systems. Foundations and trends in human–computer interaction, 4(2), 81-173. 47. Jannach, D., Zanker, M., Felfernig, A. and Friedrich, G. (2011). Recommender systems an introduction. İngiltere Cambridge University press. 48. Segaran, T. (2007). Programming collective intelligence. Amerika O’Reilly Media. 49. Bennett, J. and Lanning S. (2007). The Netflix prize. Proceedings of KDD cup and workshop 2007, 3-6. 50. Lü, L., Medo, M., Yeung, C. H., Zhang, Y. C. and Zhou, T. (2012). Recommender systems. Physics reports, 519(1), 1-49. 51. Pu, P. and Chen, L. (2010). A user-centric evaluation framework of recommender systems. ACM RECSYS 2010 workshop on user-centric evaluation of recommender systems and their ınterfaces (UCERSTI),157-164. 52. Herlocker , J. L., Konstan, J. A., Terveen, L. G. and Riedl, J. T. (2004). Evaluating collaborative filtering recommender systems. ACM transactions on information systems (TOIS), 22(1), 5-53. 53. Melville, P. and Sindhwani, V. (2010). Recommender systems. Encyclopedia of machine learning, 829-838. 54. Abdullah, N., Xu, Y., Geva, S. and Chen, J. (2010). Infrequent purchased product recommendation making based on user behaviour and opinions in e-commerce sites. Data mining workshops (ICDMW), 1084-1091. 55. Julashokri, M., Fathian, M., Gholamian, M. R. and Mehrbod, A. (2011). Improving recommender systems efficiency using time context and group preferences. Advances in information sciences and service sciences, 3(4), 162-168. 125 56. Xiang L. and Yang, Q. (2009). Time dependent models in collaborative filtering based recommender system. Web intelligence and intelligent agent Technologies, 450-457. 57. Palanivel, K. and Sivakumar, R. (2011). A study on multicriteria recommender system using implicit feedback and fuzzy linguistic approaches. Recent trends in information technology (ICRTIT), 1087-1092. 58. Lee, T. Q., Park, Y., Park, Y. T. (2008). A time-based approach to effective recommender systems using implicit feedback. Expert systems with applications, 34(4), 3055-3062. 59. Adibi, P. and Ladani, B. T. (2013). A collaborative filtering recommender system based on user's time pattern activity. Information and knowledge technology (IKT), 252-257. 60. Pradel, B., Sean, S., Delporte, J., Guérif, S., Rouveirol, C., Usunier, N., FogelmanSoulié, F. and Dufau-Joel, F. (2011). A case study in a recommender system based on purchase data. Proceedings of the 17th ACM SIGKDD international conference on knowledge discovery and data mining (KDD '11), 377-385. 61. Choi, Y. K. and Kim, S. K. (2014). An auxiliary recommendation system for repetitively purchasing items in e-commerce. Big data and smart computing (BIGCOMP), 96-98. 62. Kazienko, P. (2009). Mining indirect association rules for web recommendation. International journal of applied mathematics and computer science, 19(1), 165-186. 63. Tyagi, S. and Bharadwaj, K. K. (2012). Enhanced new user recommendations based on quantitative association rule mining. Procedia computer science, 10, 102-109. 64. Agrawal, R. and Srikant, R. (1994). Fast algorithms for mining association rules. Proceedings of the 20th VLDB conference, 487-499. 126 127 ÖZGEÇMİŞ Kişisel Bilgiler Soyadı, adı : UTKU, Anıl Uyruğu : T.C. Doğum tarihi ve yeri : 19.07.1989, Elazığ Medeni hali : Bekâr Telefon : 0 (312) 582 31 30 Faks :- e-mail : anilutku@gazi.edu.tr Eğitim Derece Eğitim Birimi Mezuniyet tarihi Yüksek lisans Gazi Üniversitesi / Bilgisayar Müh. Devam Ediyor Lisans Kocaeli Üniversitesi/ Bilgisayar Müh. 2010 Lise Karakoçan Lisesi 2005 İş Deneyimi Yıl Yer Görev 2012-Halen Gazi Üniversitesi Araştırma Görevlisi Yabancı Dil İngilizce Yayınlar - GAZİ GELECEKTİR...