ç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.