çoklu-ölçüt tabanlı ortak filtreleme sistemlerine genel bakış an

Transkript

çoklu-ölçüt tabanlı ortak filtreleme sistemlerine genel bakış an
ÇOKLU-ÖLÇÜT TABANLI ORTAK FİLTRELEME SİSTEMLERİNE
GENEL BAKIŞ
AN OVERVIEW OF MULTI-CRITERIA COLLABORATIVE
FILTERING RECOMMENDER SYSTEMS
Emin Talip DEMİRKIRAN
Anadolu University
[email protected]
ÖZET: Tavsiye sistemleri özellikle son zamanlarda e-ticaret sitelerinin vazgeçilmez bir parçası oldular. Bu tür
sistemlere finansal servisler, arama motorları ve kitap, film gibi doğrudan öneri uygulamaları gibi pek çok
alanda rastlamaktayız. İçerik tabanlı, demografik filtreleme, olay tabanlı muhakeme gibi birçok tavsiye sistemi
yaklaşımları arasında tahmin ve tavsiye üretmek için en popüler ve başarılı sistemler ortak filtreleme
sistemleridir. Ortak filtreleme sistemleri tahmin üretmek için kullanıcı oylarını kullanırlar ve çoğunlukla tekil
ölçüt kullanılır fakat bazı durumlarda çoklu ölçüt tabanlı oylama sistemi sistemin kullanıcıyı daha iyi tanımasını
ve daha doğru tavsiye üretmesini sağlar. Bu çalışmada, çoklu-ölçüt tabanlı ortak filtreleme sistemleri üzerinde
yoğunlaşacak ve bu sistemlerin neden geleneksel sistemlerin yerine kullanılması gerektiğini açıklayacağız.
Benzerlik ve toplama tabanlı yaklaşımları, istatistiksel analizleri inceleyecek ve çoklu-ölçüt tabanlı tavsiye
sistemlerine katkılarını araştıracağız. Aynı zamanda çoklu-ölçütlü ortak filtreleme sistemlerinin temelini
oluşturan geleneksel ortak filtreleme zorluklarından bahsedecek ve bu zorlukların nasıl üstesinden gelindiğinden
bahsedeceğiz.
Anahtar sözcükler: Veri Madenciliği, Tavsiye Sistemleri, Ortak Filtreleme, Çoklu-ölçüt Tabanlı Ortak
Filtreleme
ABSTRACT: Recommender systems have recently become a significant part of e-commerce applications. We
can see those systems in many areas such as financial services, search engines and direct recommendations such
as book, movie etc. Through the different recommender systems like content-based filtering, demographic
filtering and case-based reasoning, collaborative filtering systems are the most popular and successful
recommender systems for providing predictions and recommendations. Collaborative filtering recommender
systems uses ratings to make predictions and most of them uses single criterion but sometimes, using multiple
criteria rating system may help us know the customers better and make more accurate predictions. In this
survey, we focus on multi-criteria collaborative filtering systems and explain why we need these kind of
systems instead of the traditional one. We outline the similarity and aggregation function based approaches,
statistical analysis and investigate their contributions to the multi-criteria collaborative filtering systems. We
also study the challenges on traditional collaborative filtering systems which is the basis of multi-criteria
collaborative filtering systems and how to deal with these challenges.
Key words: Data Mining, Recommender Systems, Collaborative Filtering, Multi-criteria Collaborative Filtering
GİRİŞ
Günümüzde hızla gelişen teknoloji beraberinde birçok kolaylık ve yenilik getirmiştir. İnsanlar alışveriş
yaparken, seyahat ederken, gazete veya kitap okurken internetin sunduğu hizmetleri kullanmaktadırlar. Günlük
hayatta pek çok ihtiyacımızı karşılayan internet ortamında kullanıcılar ihtiyaçları doğrultusunda aradıklarına
kolaylıkla erişebilseler de verinin fazlalığı ve çeşitliliği sebebiyle ürün seçimi konusunda sorunlar
yaşayabilmektedirler. Sanal mağazalar gün geçtikçe artarken müşterilere sundukları ürün yelpazeleri de bir hayli
genişlemiştir. Haber siteleri günlük olayları arşivleyerek hazırladıkları haberleri kullanıcıların erişimine
açmaktadırlar. Film, müzik, kitap satışı yapan şirketler veri tabanlarına her geçen gün yeni ürünler
katmaktadırlar. Böyle bir ortamda müşterilerin hangi ürünleri beğenebileceğini belirleyebilmeleri önemli bir
problem olmuştur. Kullanıcıların bu sorununu ortadan kaldırmak adına özellikle e-ticaret siteleri başta olmak
üzere bu tür çevrimiçi hizmetler sunan firmalar kullanıcılarına kişisel öneri sunan tavsiye sistemlerini
kullanmaya başlamışlardır.
İnternetin gündelik yaşantımıza girmesiyle birlikte insanlar çevrimiçi alışverişi tercih etmekte fakat internete
erişen kullanıcı sayısının ve çevrimiçi ürün sayısının artmasıyla birlikte bilgi bombardımanı denilen ciddi bir
problem oluşmaktadır. Bu bilgi yığını içerisinde kullanıcılar zaman kaybetmemek, beğenmeyecekleri ürünleri
alarak para kaybetmemek ve mutsuz olmamak için bir ürünü satın almadan önce o ürün hakkında tavsiye
isteyebilirler. Kullanıcıların ihtiyaçlarını en iyi karşılayabilecek ürünleri bulabilmeleri adına birçok e-ticaret
şirketi tavsiye sistemlerinden istifade etmektedirler [1]. Tavsiye sistemleri gerek kullanıcılar için gerekse
çevrimiçi satıcılar için oldukça faydalı sistemlerdir. Bu sistemler müşterilere sayısız ürün ve hizmetler
içerisinden en uygununu bulabilmesine yardımcı olurken [2], aynı zamanda çevrimiçi satıcıların satışlarının da
artmasına yardımcı olurlar. Çevrimiçi olmak satıcılar için alan kısıtlamasını ortadan kaldırarak maliyeti
azaltırken pazar payını arttırdığından satıcılara tercih edilebilir bir ortam yaratır. Ancak çevirimiçi olmak
müşterilere aradıkları ürünü bulmaları konusunda yardımcı olmanın yanında satıcılar için de bir rekabet ortamı
oluşturmaktadır. Çevrimiçi satıcıların satış oranlarını artırmak ve rakiplerinin önüne geçebilmeleri için
tavsiyenin kalitesi konusunda başarılı olmaları gerektiği de unutulmamalıdır.
Tavsiye sistemlerinin içerik tabanlı filtreleme, bilgi tabanlı filtreleme, demografik filtreleme, ortak filtreleme
(OF) ve olay-tabanlı muhakeme gibi birçok bilgi filtreleme yaklaşımları mevcuttur. Ortak filtreleme sistemleri
bu yaklaşımlar arasında en hızlı, başarılı ve popüler olan sistemlerdir.
Ortak Filtreleme
Ortak filtreleme, birçok çevrimiçi satıcı tarafından tavsiye amaçlı kullanılan en popüler ve başarılı bilgi
filtreleme sistemidir. OF terimi ilk olarak 1992’de Tapestry Projesi’nin tasarımcıları tarafından ortaya atılmıştır
[3]. Günümüzde OF sistemleri e-ticaret uygulamalarından arama motorlarına kadar birçok önemli alanda yer
bulmuş sistemlerdir. OF sistemlerinin temelinde yatan fikir, geçmişte benzer tercihlerde bulunan kullanıcıların
gelecekte de aynı benzer eğilimlerde bulunabileceği düşüncesidir [2, 5 - 7]. Örneğin aynı müziği dinleyip benzer
tercihlerde bulunan kullanıcılar gelecekte dinleyecekleri müzikler hakkında tercih verirken ürünler hakkında
yine benzer yaklaşımlarda bulunacaklardır.
OF yardımıyla kullanıcılar gitmek istedikleri bir restoran veya hotel, satın almak istedikleri bir film veya müzik,
katılmak istedikleri bir günlük aktivite hakkında tavsiye alabilirler [4]. OF algoritmaları istenilen tavsiyeleri
ürünlere verilen kullanıcı tercihlerini temel alarak üretmektedir. Kullanıcı tercihleri toplanırken sunulan
değerlendirme ölçütü sistemden sisteme çeşitlilik gösterebilir. Örneğin bir firma müşterilerinden tercihlerini
görsel bir oy yelpazesi ile ifade etmesini isteyebilir (1’den 5’e yıldız ile ifade etmek, yuvarlak obje doldurmak).
Bazı firmalar ise kullanıcı tercihlerini matematiksel bir değer ile görüntülemeyi tercih eder. Bu durumda birden
fazla yaklaşımda bulunmak mümkündür. Kullanıcılara hakkında bilgi sahibi oldukları ürünleri beğenip
beğenmedikleri sorulurken ikili beğeni değerleri kullanılabilir (0 ve 1. ‘0’ değeri ürünün beğenilmediğini, ‘1’ ise
ürünün beğenildiğini ifade eder) ya da sayısal bir aralık arasından tercih vermesi istenebilir (Örn.: 1’den 10’a
sayıyla. 1 en düşük oyu temsil ederken 10 en yüksek oyu temsil etmektedir. 1,2 ve 3 ürünün beğenilmediğini,
4,5 ve 6 kararsız kalındığını, 7 ve yukarısı değerlerin ise ürünün beğenildiğini temsil edebilir). Bazı firmalar ise
tercihleri harf sembolleriyle ifade ederler (A+, A, B-, F gibi). İstenilen veri toplama yöntemi ile tercih vektörleri
oluşturulduktan sonra kullanıcılar vektörlerini servis sağlayıcılarına gönderirler. Vektörü alan servis sağlayıcısı
kullanıcıların vermiş olduğu oylar yardımıyla kendilerine en çok benzeyen kullanıcıları bulabilir ve hakkında
tavsiye istenen ürünler için komşuların o ürünlere verdikleri oyları inceleyerek tavsiyede bulunabilir.
Bu yaklaşımlar altında, OF sistemlerinin genel amacı ua ile ifade edilen ve aktif kullanıcı olarak adlandırılan
kullanıcıya benzeyen kullanıcıların tercihlerini temel alarak tavsiye veya tahmin üretmektir. OF sistemleri ilk
olarak toplanan veriden bir n×m kullanıcı-ürün matrisi oluşturur. Matriste ifade edilen n kullanıcı sayısını ve m
ise ürün sayısını ifade eder. Kullanıcı-Ürün matrisindeki her hücre kullanıcının ürün hakkındaki tercihini ifade
eden oylar ile doldurulur. OF algoritmaları toplanan bu matrisi kullanan iki temel fonksiyonellik sunar [8, 9]:
Tahmin: Hedef kullanıcının hedef ürünü için tahmini beğenisini ifade eden sayısal değer. (q) ile temsil edilir.
Tavsiye: Hedef kullanıcının en çok beğenebileceği ürün veya ürünlerin belirtildiği liste (top-N) ürün listesi
olarak ifade edilir.
OF sistemlerinin nasıl çalıştıklarını Tablo 1’deki örnek veri setini kullanarak açıklayacak olursak; veri
tabanımızda 5 adet kullanıcı ve 5 adet ürün bulunmaktadır. Bu örnekte hedef kullanıcımız Kullanıcı1 ve hedef
ürünümüz Ürün5’tir. Sistem hedef kullanıcının verdiği oylara bakarak kullanıcıya en yakın komşuyu bulmaya
çalışır. Örnekte görüldüğü gibi hedef kullanıcıya en yakın kullanıcılar diğer dört ürüne kullanıcıyla birebir aynı
oyu veren ikinci ve üçüncü kullanıcılardır. Sistemimizin komşuluk için belirlediği değer 2 olsun. Bu durumda
sistem hedef kullanıcıya en benzer 2 kullanıcıyı temel alarak tahmin üretmeye çalışacaktır. Hedef kullanıcıya en
yakın kullanıcılar belirlendikten sonra hedef ürün için tahmin üretmek için komşuların o ürün için verilen
oylarına bakılır. Bu örnekte ikinci ve üçüncü kullanıcılar hedef ürün için tercihini ‘8’ olarak verdiklerinden
sistem hedef kullanıcıya hedef ürün için tahmin olarak 8 değerini verecektir. Gerçek bir veri setinde komşu
sayısının 2’den fazla olacağı ve verilen oyların birebir benzerlik göstermeyeceği unutulmamalıdır.
Kullanıcı1
Kullanıcı2
Kullanıcı3
Kullanıcı4
Kullanıcı5
Hedef Kullanıcı
Hedef kullanıcıya en
benzer kullanıcılar
Ürün1
5
5
5
6
6
Ürün2
7
7
7
6
6
Ürün3
5
5
5
6
6
Ürün4
7
7
7
6
6
Ürün5
?
8
8
5
5
Hedef Ürün
Tavsiye üretilirken
kullanılacak oylar
Tablo 1. Geleneksel OF sistemlerinde örnek bir kullanıcı-ürün matrisi
Ortak Filtrelemenin Zorlukları
OF sistemleri bilgi filtrelemede ve e-ticaret uygulamalarında oldukça başarılı olsa da bu sistemlerin bir takım
kısıtlamaları mevcuttur. Bu bölümde OF sistemlerinin en önemli problemleri açıklanmıştır.
Doğruluk
Kullanıcıların beklentilerini karşılamakta yetersiz kalan kalitesiz tavsiye sistemleri çevrimiçi satıcıların satış
oranlarını olumsuz yönde etkiler. Kullanıcılar tarafından daha çok tercih edilebilmek ve rakiplerinin önüne
geçebilmek için çevrimiçi hizmet sağlayıcıları doğru ve kaliteli tahminler üretebilen tavsiye sistemleri
kullanmalıdır. Tavsiye sisteminin bir ürün hakkında tahmin üretirken kullanıcının beğenebileceği bir ürün için
olumsuz tavsiye üretmesi sistemin saygınlığını önemli ölçüde düşürmese de beğenmeyeceği bir ürünü tavsiye
etmesi kullanıcının sisteme olan güvenini düşürür ve satıcının müşteri kaybetmesine neden olur. Bu bağlamda
sistemin doğruluğundan ve kaliteli tavsiyeler ürettiğinden emin olunmalıdır.
Yetersiz Veri
OF tavsiye sistemleri kullanıcıların farklı ürünler için oluşturduğu tercihleri temel alarak tavsiye üreten
sistemlerdir. Kararlı sonuçlar üretebilmesi için servis sağlayıcılarının yeterli sayıda veriye ihtiyacı vardır. Ancak
bazı e-ticaret siteleri, özellikle yeni kurulan siteler, yeterli sayıda veriye sahip olamayabilir ve bu durum sitenin
kesin ve güvenilir tavsiyeler oluşturmasını zorlaştırmaktadır. Bu durumun üstesinden gelmek için partiler
işbirliği yapabilir ve birleştirdikleri verilerle daha başarılı ve güvenilir sonuçlar elde edebilirler.
Soğuk Başlangıç Problemi
OF sistemine yeni dâhil olan bir kullanıcı ilk aşamada sistemdeki bir ürün hakkında tercih belirtmediğinden yeni
kullanıcıya benzer kullanıcıların bulunabilmesi mümkün değildir. Benzer bir şekilde sisteme yeni bir ürün
eklendiğinde, henüz o ürünle ilgili hiçbir kullanıcı tercih belirtmediğinden, sistemin ürünü bir kullanıcıya
tavsiye edebilmesi mümkün değildir. Bu durum soğuk başlangıç problemi olarak adlandırılır [19].
OF sisteminin güvenilir sonuçlar üretebilmesi için kullanıcıların yeterli sayıda ürünü oylaması, ürünlerin de
yeterli sayıda kullanıcı tarafından oylanmış olması gerekmektedir. Kullanıcı birkaç ürüne oy vermedikçe veya
bir ürüne yeterli sayıda tercih belirtilmedikçe sistemin yeni kullanıcı veya ürün ile diğer kullanıcılar veya
ürünler arasındaki ilişkiyi kurabilmesi mümkün değildir.
Soğuk başlangıç probleminin bir nebze önüne geçebilmek için bazı sistemler yeni bir kullanıcı sisteme dâhil
olduğunda o kullanıcıdan belirli sayıda ürün için (örneğin en az 10 adet) tercih belirtmesini isteyerek, tercih
vermediği takdirde tavsiye üretemeyeceğini belirtmektedir.
Gizlilik
OF sistemlerinin veri tabanları müşterilerin alışveriş alışkanlıkları ve karakteristikleri ile ilgili detaylı bilgiler
içermektedir [21]. Müşteriler verilerini çevrimiçi satıcılarla paylaşırken aynı zamanda mahremiyetlerini de
paylaşmış olurlar. Bu durum bazı kötü niyetli kişi veya şirketler tarafından kullanılabilir. Bu durumda
kullanıcılar istenmeyen pazarlama stratejileri, şantaj, fiyat ayrımcılığı gibi durumlarla karşılaşabilirler [22].
Örneğin, kişi siyasi içerikli veya yasak bir ürünü satın almışsa, satıcı veya sisteme sızan birileri tarafından
şantaja maruz kalabilir veya devamlı pahalı ürünler satın alan müşteriye satıcı, alım gücünün yüksek olduğunun
farkında olarak bir ürünü diğer kullanıcılara sattığı fiyatın daha üstüne satmak isteyebilir. Bu tip tehlikelerin
farkında olan müşteriler ürünler hakkındaki tercihlerinin açığa çıkmasını istemediklerinden OF sistemlerinin
gizlilik problemlerini çözmesi ve güvenilir olduğunun taahhüdünü verebilmesi gerekir.
Shilling Ataklar
OF algoritmaları shilling ataklar veya profil enjeksiyon atakları olarak adlandırılan saldırılara karşı
savunmasızdırlar. Kötü niyetli kişiler veya şirketler bazı ürünlerin popülaritesini artırmak veya düşürmek
amacıyla veri tabanına sahte profiller yerleştirerek kullanıcıların verilerini manipüle etmeye çalışabilir. OF
sistemleri genel olarak halka açık sistemler olduklarından sisteme sahte profillerin girmesine engel olamaz fakat
bir takım algoritmalarla saldırı profillerini keşfedebilir ve sistemi kötü niyetli kişilerden koruyabilir fakat bu
saldırılara karşı tam anlamıyla korunabilmek mümkün değildir ve dolayısıyla bu durum OF sistemlerinin
zorlukları arasındadır.
ÇOKLU-ÖLÇÜT TABANLI ORTAK FİLTRELEME SİSTEMLERİ
Geleneksel ortak filtreleme algoritmaları, kullanıcı-ürün matrisini oluştururken, kullanıcılarından daha önce
tercih ettikleri ürünler/hizmetler hakkında genel bir beğeni değeri ifade etmelerini isterler. Fakat bazı ürün ve
hizmet alımı durumlarında, ilgili ürün ya da hizmet alımının içerdiği ölçütler bazında ayrı ayrı beğeni değerleri
toplamak daha uygundur. Örneğin, bir kullanıcı izlediği bir film için genel tek bir beğeni değeri belirtmek
yerine; o filmin yönetmeni, görsel efektleri, oyunculuk performansı vb. alt unsurlara ait olacak şekilde birden
fazla beğeni değeri verebilir. Benzer şekilde otelde konaklayan bir müşteri beğenisini otelin temizliğine,
konumuna, fiyatına ve çalışanların ilgisine göre ayrı ayrı belirtebilir. Bu doğrultuda, araştırmacılar kullanıcıların
beğeni derecelerini daha doğru ve etkili ifade edebilecekleri çoklu-ölçüt tabanlı öneri sistemlerini
geliştirmişlerdir.
Geleneksel OF sistemlerinde kullanılan verisetleri Kullanıcı X Ürün olmak üzere 2 boyutlu bir matristir. Çokluölçütlü OF sistemlerinde ise kullanılan verisetleri Kullanıcı X Ürün X Ölçüt olmak üzere 3 boyutludur. Her bir
ürünün k adet ölçütleri bulunduğundan k adet ölçüt için verilen tercihler ve bir de ürünün genel olarak beğenilip
beğenilmediğinin belirtildiği bir alan olmak üzere 5 adet beğeni değeri vardır. 5. ölçüt olarak
adlandırabileceğimiz ortalama oyların bulunduğu bölümün sistemde var olma sebebi şudur: Çoklu-ölçüt tabanlı
sistemlerde ürünler için belirlenen ölçütler sistem tarafından belirlenir ve kullanıcıların başka ölçütleri göz
önünde bulundurma imkânları kalmaz. Bu durumda kullanıcılar belirtilen 4 ölçüt için tercih vermenin yanı sıra
onlar için önemli olan ölçütler için de tercih vermek isterler. Ürünün olası tüm ölçütlerini sisteme dâhil etmek,
veri kıtlığı sorunuyla daha çok karşılaşılmasını ve tepki süresini uzatacağı için mümkün değildir. Bu problemi
ortadan kaldırabilmek için sistem, kullanıcıdan ürünün geneline oy vermesini ister. Kullanıcının ürünün
geneline verdiği oylar analiz edilerek bir takım gizli örüntülere ulaşılabilir ve kullanıcının karakteristiği
hakkında bilgi edinilebilir.
Kullanıcıların ürünün ölçütlerine ve geneline belirttiği tercihleri barındıran kullanıcı matrisleri oluşturulduktan
sonra servis sağlayıcısına gönderilir. Örneğin, Va Alice adlı kullanıcının çok boyutlu tercih vektörü olsun ve
varsayalım ki servis sağlayıcısı 1 ile 5 aralığında sayısal verilerden oluşan beş tane ürün için tercih vermesini
istesin. Bu durumda örnek bir Va vektörü şu şekilde gösterilebilir: (4, 3, 3, 5, 5; -, -, -, -, -; 2, 2, 2, 2, 2; -, -, -, -, ; 4, 3, 5, 5, 4). Her bir ürünün geneli ve 4 adet ölçütleri olmak üzere 5 adet beğeni değeri bulunmaktadır ve
ürünler ‘;’ ile birbirlerinden ayrılmıştır. Alice 1. 3. ve 5. ürün hakkında tercihlerini belirtmişken ‘-’ Alice’in o
ürünle ilgili bir tercihinin olmadığını ifade eder. Va vektörü bakılarak Alice’in 3.ürünü beğenmediği, 1. Ve
5.ürünü ise beğendiği anlaşılabilir. Bu durumda Alice, vektörünü çevrimiçi firmaya göndererek 2. ve 4. ürünler
hakkında tavsiye alabilir.
Çoklu-ölçüt tabanlı OF sistemlerini Tablo 2’deki örnek veri setini kullanarak açıklayacak olursak; veri
tabanımızda yine Tablo 1’de de olduğu gibi 5 adet kullanıcı ve 5 adet ürün bulunmaktadır ve hedef kullanıcımız
u1 ve hedef ürünümüz i5’tir. Örneğimizde kullanıcılardan tercih belirtmelerini istediğimiz 4 adet ölçütler olsun.
Bunlar Yahoo! Movies film veri tabanı sitesinde olduğu gibi sırasıyla Hikâye, Oyunculuklar, Görsellik ve
Yönetmen ölçütleri olsun. Genel oylar gerçek sistemlerde farklı yöntemlerle bulunsa da bu örneğimizde genel
oyu 4 ölçüte verilen oyların ortalaması olarak varsayalım. Bu durumda sistemimizde bulunan ürünlerin geneline
ve 4 ayrı ölçütüne oy vermek üzere her bir ürüne ait 5 tane oy bulunmaktadır. Sistemimizin komşuluk için
belirlediği değer 2 olsun. Bu durumda sistem hedef kullanıcıya en benzer 2 kullanıcıyı temel alarak tahmin
üretmeye çalışacaktır. Hedef kullanıcıya en yakın kullanıcılar belirlendikten sonra hedef ürün için tahmin
üretmek için komşuların o ürün için verilen oylarına bakılır. Önceki örnekte olduğu gibi geleneksel OF
sistemlerinin çalışma prensibi ile yaklaşacak olsaydık, kullanıcıya en benzer kullanıcılar diğer dört ürüne hedef
kullanıcıyla birebir aynı genel oyu veren ikinci ve üçüncü kullanıcılar olmalıydı. Ancak kullanıcıların ürünlerin
ölçütlerine verdikleri oylara bakılınca hedef kullanıcının aslında ikinci ve üçüncü kullanıcı ile hiç te benzer
olmadığını görüyoruz. Bu durumda kullanıcıya çok ta benzer olmasa da dördüncü ve beşinci kullanıcılar en
yakın komşu olarak seçilir ve bu kullanıcılar hedef ürün için tercihini ‘5’ olarak verdiklerinden sistem hedef
kullanıcıya tahmin olarak 5 değerini verecektir. Gerçek bir veri setinde komşu sayısının 2’den fazla olacağı ve
verilen oyların birebir benzerlik göstermeyeceği unutulmamalıdır.
Hedef Kullanıcı
Hedef kullanıcıya en
benzer kullanıcılar
Ürün1
Ürün2
Ürün3
Ürün4
Ürün5
Kullanıcı1
52,2,8,8
75,5,9,9
52,2,8,8
75,5,9,9
?
Kullanıcı2
58,8,2,2
79,9,5,5
58,8,2,2
79,9,5,5
8
Kullanıcı3
58,8,2,2
79,9,5,5
58,8,2,2
79,9,5,5
8
Kullanıcı4
63,3,9,9
64,4,8,8
63,3,9,9
64,4,8,8
5
Kullanıcı5
63,3,9,9
64,4,8,8
63,3,9,9
64,4,8,8
5
Hedef Ürün
Tavsiye üretilirken
kullanılacak oylar
Tablo 2. Çoklu-ölçütlü OF sistemlerinde örnek bir kullanıcı-ürün matrisi
OF yöntemlerinin çalışma prensibi şu şekilde özetlenebilir: matrisi alan servis sağlayıcısı Alice’in ölçüt bazında
vermiş olduğu oylar yardımıyla her ölçüt için ayrı ayrı kendisine en çok benzeyen k adet kullanıcıyı bulabilir ve
ölçüt bazında komşuları hesaba katarak genel oy ve her bir ölçüt için tavsiyede bulunabilir. Genel oy tahmininde
2 ana yaklaşım vardır: Benzerlik-tabanlı yaklaşımlar ve toplama fonksiyonu tabanlı yaklaşımlar [23].
Benzerlik Tabanlı Yaklaşımlar
Geleneksel OF sistemlerinde hedef ürüne tahmin üretilirken aktif kullanıcıya benzeyen kullanıcılar bulunmaya
çalışılırken kullanıcıların verdikleri oylar göz önünde bulundurulur. Benzerlik hesaplamaları yapılırken
Euclidean, Cosine ve Pearson Correlation Coefficient (PCC) gibi metrikler kullanılır. Benzerlik-tabanlı çokluölçütlü ortak filtreleme sistemlerinde benzerlikler, kullanıcıların ürünün farklı yönlerine verdikleri oylar temel
alınarak hesaplanır. Tablo 2’deki verileri düşünecek olursak 1. ve 2. kullanıcının 3.ürüne verdikleri genel oylar
aynıyken ürünün ölçütlerine belirtilen beğeni değerlerinin çok farklı olduğunu görüyoruz. Bu durumda 1. ve 2.
Kullanıcının yalnızca genel oylarına bakarak benzer olduklarını söylemenin yanlış olduğunu söyleyebiliriz.
Adomavicius ve Kwon [23] kullanıcıların detay verilerinin temel alınarak benzerlik hesaplanması ile ilgili bir
takım yöntemler önermiştir. Kullanıcıların oyları k-boyutlu vektörler olarak düşünülebildiğinden Euclidean,
Manhattan ve Chebyshev gibi uzaklık metriklerinin kullanılabildiğini ileri sürmüşlerdir. Ayrıca her boyutta
bağımsız olarak PCC hesaplandıktan sonra ortalama veya en küçük değeri alarak genel oylar için benzerlik
metriği üretmişlerdir.
Son olarak, çoklu-ölçüt tabanlı OF sistemlerinde de tıpkı geleneksel OF sistemlerinde olduğu gibi en yakın
komşuluk algoritmaları kullanılarak tahmin üretilir. Komşu sayısı seçimi de sistemin doğruluğunu etkileyen bir
metriktir [24]. Komşuluklar belirlendikten sonra hedef kullanıcının hedef ürünü için komşuların verdiği oylar
incelenerek tahmin üretilir. Geleneksel OF sistemleri ile benzerlik-tabanlı çoklu-ölçütlü OF sistemleri arasındaki
tek fark farklı benzerlik metriği kullanımıdır [25].
Toplama Fonksiyonu Tabanlı Yaklaşımlar
Araştırmacılar çoklu-ölçütlü OF sistemlerini incelerken genel oyların içinde saklı olan ve kullanıcının
karakteristiğini ortaya koyabilecek gizli örüntüleri ortaya çıkarmaya çalışmışlardır. Bu çalışmalar sonucunda
genel oylar ile ölçütler arasında bir ilişki olabileceği varsayımında bulunmuşlardır. Bu durumda genel oylar
ölçütlerin dâhil olduğu bir ilişki fonksiyonuyla açıklanabilir.
r0 = f (r1, ... , rk)
Yukarıdaki formülde r0 genel oyu, ri ile gösterilen r değerleri k adet ölçüt için sırasıyla verilen oyları ifade
etmektedir. F fonksiyonunun belirlenmesi konusunda uygulanabilecek en ilkel yöntemler olarak bir alan
uzmanından yardım alınabilir veya ölçütlerin ortalaması alınabilir. Daha umut vaat edici yaklaşımlar ise
istatistiksel yöntemler ve makine öğrenmesi gibi teknikler uygulanarak fonksiyonu belirlemektir. Örneğin,
lineer regresyon yöntemi yardımıyla ölçütlerin ağırlıkları belirlenerek lineer birleşimlerinden genel beğeni
değerine ulaşmak mümkündür [23].
r0 = w1r1 + ... + wkrk + c
Yukarıdaki formülde wi ölçütlerin ağırlıklarını ve c değeri de veriden hesaplanan sabit bir değeri ifade eder.
Böylelikle her bir ölçütün genel oyu ne oranda etkilediği bulunabilir ve aralarındaki ilişki sayısal olarak ifade
edilebilir.
Toplama fonksiyonu tabanlı yaklaşımlarda yapılan işi özetleyecek olursak; çevrimdışı süreçte f fonksiyonu
hesaplanır ve çevrimiçi süreçte ölçütler için tahmin hesaplama ve f fonksiyonu kullanılarak genel oyu belirleme
işlemleri yapılır.
SONUÇ
OF sistemleri özellikle e-ticaret siteleri başta olmak üzere birçok alanda kullanılan oldukça başarılı sistemlerdir.
Sistemin çalışmasında yatan temel prensip geçmişte benzer tercihlerde bulunan kullanıcıların gelecekte de
benzer tercihlerde bulunacağı varsayımıdır. Sistemin tahmin üretebilmesi için kullanıcıların ürünlere oy
vermeleri gerekmektedir. Bazı alanlarda ürünün geneline oy vermektense ölçüt bazında ayrı ayrı oy vermek
sistemin kullanıcıyı daha iyi tanımasını dolayısıyla daha iyi tahminde bulunmasını sağlayarak doğruluğun
artmasını sağlayabilir. Örneğin gittiği bir otelde kalan ve otelin geneline aynı beğeni değerini veren iki
müşteriden bir tanesi otelin hizmetlerini daha çok beğenirken, diğeri ise bulunduğu konumdan dolayı beğenmiş
olabilir. Bu iki kullanıcı otelin geneline aynı oyu verse de aslında farklı zevklere ve tercihlere sahip
kullanıcılardır. Çoklu-ölçüt desteği sunan OF sistemleri kullanıcıların ürüne farklı açılardan bakabilmesine
olanak sağlar ve bu sayede daha kişiselleştirilmiş öneriler üreterek geleneksel OF sistemlerinden daha başarılı
performans ortaya koyabilirler.
KAYNAKLAR
Schafer, J. B., Konstan, J. A., & Riedl, J. (2001). E-commerce recommendation applications. In Applications of
Data Mining to Electronic Commerce (pp. 115-153). Springer US.
O'Mahony, M.P. (2004). Towards Robust and Efficient Automated Collaborative Filtering, in Department of
Computer Science, University College Dublin.
Goldberg, D., Nichols, D., Oki, B. M., & Terry, D. (1992). Using collaborative filtering to weave an information
tapestry. Communications of the ACM, 35(12), 61-70.
Canny, J. (2002). Collaborative filtering with privacy. In Security and Privacy, 2002. Proceedings. 2002 IEEE
Symposium on (pp. 45-57). IEEE..
Goldberg, K., Roeder, T., Gupta, D., & Perkins, C. (2001). Eigentaste: A constant time collaborative filtering
algorithm. Information Retrieval, 4(2), 133-151.
Yakut, I., & Polat, H. (2012). Arbitrarily distributed data-based recommendations with privacy. Data &
Knowledge Engineering, 72, 239-256.
Ricci, F., Rokach, L., & Shapira, B. (2011). Introduction to recommender systems handbook. Springer US.
Herlocker, J. L., Konstan, J. A., Borchers, A., & Riedl, J. (1999). An algorithmic framework for performing
collaborative filtering. In Proceedings of the 22nd annual international ACM SIGIR conference on
Research and development in information retrieval (pp. 230-237). ACM.
Sarwar, B., Karypis, G., Konstan, J., & Riedl, J. (2001). Item-based collaborative filtering recommendation
algorithms. In Proceedings of the 10th international conference on World Wide Web (pp. 285-295). ACM.
Miyahara, K., & Pazzani, M. J. (2002). Improvement of Collaborative Filtering with the Simple Bayesian
Classifier 1.
Sarwar, B., Karypis, G., Konstan, J., & Riedl, J. (2000). Analysis of recommendation algorithms for ecommerce. In Proceedings of the 2nd ACM conference on Electronic commerce (pp. 158-167). ACM.
Basu, C., Hirsh, H., & Cohen, W. (1998). Recommendation as classification: Using social and content-based
information in recommendation. In AAAI/IAAI (pp. 714-720).
Billsus, D., & Pazzani, M. J. (1998, July). Learning Collaborative Information Filters. In ICML (Vol. 98, pp. 4654).
Breese, J. S., Heckerman, D., & Kadie, C. (1998). Empirical analysis of predictive algorithms for collaborative
filtering. In Proceedings of the Fourteenth conference on Uncertainty in artificial intelligence (pp. 43-52).
Morgan Kaufmann Publishers Inc..
O’Connor, M., & Herlocker, J. (1999). Clustering items for collaborative filtering. In Proceedings of the ACM
SIGIR workshop on recommender systems (Vol. 128). UC Berkeley.
Roh, T. H., Oh, K. J., & Han, I. (2003). The collaborative filtering recommendation based on SOM clusterindexing CBR. Expert Systems with Applications, 25(3), 413-423.
Sarwar, B., Karypis, G., Konstan, J., & Riedl, J. (2000). Application of dimensionality reduction in
recommender system-a case study. Minnesota Univ Minneapolis Dept of Computer Science..
Ungar, L. H., & Foster, D. P. (1998, July). Clustering methods for collaborative filtering. In AAAI workshop on
recommendation systems (Vol. 1).
Su, X., & Khoshgoftaar, T. M. (2009). A survey of collaborative filtering techniques. Advances in artificial
intelligence, 2009, p. 2-2.
Schafer, J. B., Frankowski, D., Herlocker, J., & Sen, S. (2007). Collaborative filtering recommender systems. In
The adaptive web (pp. 291-324). Springer Berlin Heidelberg.
Jannach, D., Zanker, M., Felfernig, A., & Friedrich, G. (2010). Recommender systems: an introduction.
Cambridge University Press.
Cranor, L. F. (2004). I didn’t buy it for myself. In Designing personalized user experiences in e-Commerce (pp.
57-73). Springer Netherlands.
Adomavicius, G., & Kwon, Y. (2007). New recommendation techniques for multicriteria rating systems.
Intelligent Systems, IEEE, 22(3), 48-55.
Bilge, A., & Kaleli, C. (2014). A multi-criteria item-based collaborative filtering framework. In Computer
Science and Software Engineering (JCSSE), 2014 11th International Joint Conference on (pp. 18-22).
IEEE.
Jannach, D., Karakaya, Z., & Gedikli, F. (2012, June). Accuracy improvements for multi-criteria recommender
systems. In Proceedings of the 13th ACM Conference on Electronic Commerce (pp. 674-689). ACM.

Benzer belgeler