Untitled - Gazi Üniversitesi Açık Arşiv

advertisement
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
pP a , p
 ( r  r)
pP a , p
a
b, p
b
(4.1)
 ( r  r)
pP 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  ( bN sim(a, b) * ( rb, p  rb )
a
 sim(a, b)
(4.2)
bN
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 )
uU
 (ru,i  ri ) 2
uU
 (ru, j  rj ) 2
(4.3)
uU
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 |
jK
jK
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
: [email protected]
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...
Download