1 協(xié)同過(guò)濾在應用中存在的問(wèn)題
盡管協(xié)同過(guò)濾在電子商務(wù)推薦系統中的應用獲得了較大的成功,但隨著(zhù)站點(diǎn)結構、內容復雜度和用戶(hù)人數的不斷增加,基于協(xié)同過(guò)濾的推薦系統的發(fā)展面臨著(zhù)兩個(gè)主要挑戰:
1) 提高協(xié)同過(guò)濾算法的可擴展性
協(xié)同過(guò)濾算法能夠容易地為幾千名用戶(hù)提供較好的推薦,但是對于電子商務(wù)網(wǎng)站,往往需要給成百上千萬(wàn)的用戶(hù)提供推薦,這就一方面需要提高響應時(shí)間的要求,能夠為用戶(hù)實(shí)時(shí)地進(jìn)行推薦;另一方面還應考慮到存儲空間的要求,盡量減少推薦系統運行的負擔。
2) 提高對用戶(hù)推薦信息的質(zhì)量
用戶(hù)需要得到值得信任的推薦來(lái)幫助他找到喜歡的產(chǎn)品。假如用戶(hù)相信推薦購買(mǎi)了商品,而后發(fā)現并不喜歡,用戶(hù)對推薦系統推薦結果的信任度降低,同時(shí)將不愿再次使用該推薦系統。
從一定意義上講,推薦系統面臨的這兩個(gè)挑戰之間存在著(zhù)矛盾,系統要提高算法的可擴展性及響應時(shí)間,在質(zhì)量上必然會(huì )有所損失。因此,如何協(xié)調好這兩方面的要求,使推薦系統不僅有用而且實(shí)用,是實(shí)現協(xié)同過(guò)濾技術(shù)需要考慮的重要因素。
為了能夠更好地改進(jìn)協(xié)同過(guò)濾技術(shù),適應推薦系統發(fā)展的需要,首先要分析協(xié)同過(guò)濾在實(shí)現過(guò)程中存在的問(wèn)題,從而進(jìn)行有針對性的改進(jìn)。通過(guò)對協(xié)同過(guò)濾技術(shù)以及推薦系統的研究,我們發(fā)現協(xié)同過(guò)濾技術(shù)的實(shí)現中存在的問(wèn)題主要有以下幾點(diǎn)。
1.1 稀疏性問(wèn)題
協(xié)同過(guò)濾技術(shù)的實(shí)現首先需要使用用戶(hù)—項評價(jià)矩陣對用戶(hù)信息進(jìn)行表示,盡管這在理論上很簡(jiǎn)單,但實(shí)際上,許多電子商務(wù)推薦系統要對大量的數據信息進(jìn)行處理,而在這些系統中一般用戶(hù)購買(mǎi)商品的總量占網(wǎng)站總商品量的1%左右,因此造成了評價(jià)矩陣(用戶(hù)-項矩陣)非常稀疏。在這種數據量大而且又稀疏的情況下,一方面難以找到最近鄰居用戶(hù)集,另一方面進(jìn)行相似性計算的耗費也會(huì )很大。
同時(shí),由于數據非常稀疏,在形成目標用戶(hù)的最近鄰居用戶(hù)集時(shí),往住會(huì )造成信息的丟失,從而導致推薦效果的降低。例如,鄰居用戶(hù)關(guān)系傳遞性的丟失。用戶(hù)A與用戶(hù)B相關(guān)程度很高,用戶(hù)B與用戶(hù)C相關(guān)程度也很高,但由于用戶(hù)A與用戶(hù)C很少對共同的產(chǎn)品進(jìn)行評價(jià),而認為兩者關(guān)聯(lián)程度較低,由于數據的稀疏性,丟失了用戶(hù)A與用戶(hù)C之間潛在的關(guān)聯(lián)。
1.2 冷開(kāi)始問(wèn)題
又稱(chēng)第一評價(jià)問(wèn)題(first- rater),或新項目問(wèn)題(New-item),從一定角度可以看成是稀疏問(wèn)題的極端情況。因為傳統的協(xié)同過(guò)濾推薦是基于鄰居用戶(hù)資料得到目標用戶(hù)的推薦,在一個(gè)新的項目首次出現的時(shí)候,因為沒(méi)有用戶(hù)對它作過(guò)評價(jià),因此單純的協(xié)同過(guò)濾無(wú)法對其進(jìn)行預測評分和推薦。而且,由于新項目出現早期,用戶(hù)評價(jià)較少,推薦的準確性也比較差[25]。相似的,推薦系統對于新用戶(hù)的推薦效果也很差。冷開(kāi)始問(wèn)題的極端的案例是:當一個(gè)協(xié)同過(guò)濾推薦系統剛開(kāi)始運行的時(shí)候,每個(gè)用戶(hù)在每個(gè)項目上都面臨冷開(kāi)始問(wèn)題。
1.3 可擴展性問(wèn)題
在協(xié)同過(guò)濾推薦算法中,全局數值算法能及時(shí)利用最新的信息為用戶(hù)產(chǎn)生相對準確的用戶(hù)興趣度預測或進(jìn)行推薦,但是面對日益增多的用戶(hù),數據量的急劇增加,算法的擴展性問(wèn)題(即適應系統規模不斷擴大的問(wèn)題)成為制約推薦系統實(shí)施的重要因素。雖然與基于模型的算法相比,全局數值算法節約了為建立模型而花費的訓練時(shí)間,但是用于識別“最近鄰居”算法的計算量隨著(zhù)用戶(hù)和項的增加而大大增加,對于上百萬(wàn)的數目,通常的算法會(huì )遇到嚴重的擴展性瓶頸問(wèn)題。該問(wèn)題解決不好,直接影響著(zhù)基于協(xié)同過(guò)濾技術(shù)的推薦系統實(shí)時(shí)向用戶(hù)提供推薦問(wèn)題的解決,而推薦系統的實(shí)時(shí)性越好,精確度越高,該系統才會(huì )被用戶(hù)所接受。
基于模型的算法雖然可以在一定程度上解決算法的可擴展性問(wèn)題,但是該類(lèi)算法往往比較適于用戶(hù)的興趣愛(ài)好比較穩定的情況,因為它要考慮用戶(hù)模型的學(xué)習過(guò)程以及模型的更新過(guò)程,對于最新信息的利用比全局數值算法要差些。
分析以上協(xié)同過(guò)濾在推薦系統實(shí)現中面臨的兩個(gè)問(wèn)題,它們的共同點(diǎn)是均考慮到了最近鄰居的形成問(wèn)題(包括用戶(hù)信息獲得的充分性、計算耗費等)。但是應該看到協(xié)同過(guò)濾在推薦系統的實(shí)現中,要獲得最近鄰居用戶(hù),必須通過(guò)一定的計算獲得用戶(hù)之間的相似度,然后確定最佳的鄰居個(gè)數,形成鄰居用戶(hù)集。而在這一過(guò)程中,如果對全部數據集進(jìn)行相似性計算,雖然直接,但是運算量和時(shí)間花費都極大,無(wú)法適應真實(shí)的商務(wù)系統。如果通過(guò)對訓練集數據(整個(gè)數據集的某一子集)進(jìn)行實(shí)驗獲得,雖然不必對整個(gè)數據集進(jìn)行計算,但是必須通過(guò)將多次實(shí)驗結果統計出來(lái)才可能得到,這無(wú)疑也增加了推薦結果獲得的代價(jià)和誤差。并且如果考慮到數據集的動(dòng)態(tài)變化,這一形成最近鄰居用戶(hù)集技術(shù)的實(shí)際應用價(jià)值越來(lái)越小。因此,考慮使用更為有效的最近鄰居用戶(hù)形成辦法,對于協(xié)同過(guò)濾的應用非常必要。
2 解決協(xié)同過(guò)濾中稀疏性問(wèn)題的方法
2.1 基于內容的協(xié)作過(guò)濾方法
基于內容的推薦(Content-based recommendation)是基于內容抽取項目特征屬性的推薦技術(shù),是信息過(guò)濾技術(shù)的延續與發(fā)展。
在基于內容的推薦系統中,項目或對象是通過(guò)相關(guān)的特征屬性來(lái)定義的。如,像新聞組過(guò)濾系統NewsWeeder這樣的文本推薦系統用它們的文本詞匯作為特征。這個(gè)方法的根本思想是:一個(gè)用戶(hù)將更會(huì )喜歡那些和他已經(jīng)購買(mǎi)的項目相似的那些項目。在這類(lèi)方法中,歷史信息用來(lái)反映項目之間的關(guān)系,如一個(gè)項目的購買(mǎi)經(jīng)常導致另一個(gè)項目或一組項目的購買(mǎi)。因此,該方法是利用用戶(hù)-項目矩陣分析每個(gè)項目的相似性,在這個(gè)基礎上計算被推薦的前N個(gè)項目。
基于內容的推薦系統是基于用戶(hù)評價(jià)對象的特征,學(xué)習用戶(hù)的興趣。Schafer, Konstan和Riedl稱(chēng)這種方法為項目-項目相關(guān)關(guān)系法。由于這種方法不需要去識別那些鄰近的用戶(hù),所以推薦算法的速度快得多。
基于內容的推薦對項目的屬性特點(diǎn)的歷史信息進(jìn)行學(xué)習,其優(yōu)勢在于提高了推薦的可測量性,并且能夠對推薦結果作出比較好的解釋?;趦热莸耐扑]能發(fā)現用戶(hù)感興趣的項目,但是不能發(fā)現新的內容。
基于內容的推薦存在以下不足之處:
1) 信息挖掘不全面。一般的,基于內容的推薦只能對一定內容進(jìn)行淺顯的分析。在一些領(lǐng)域,項目屬性并不能體現一些隱含的特點(diǎn),如,電影、音樂(lè )或飯店等。即使是文本文件,推薦也只能獲取內容中的有限方面的信息,但是其中還有許多其他方面影響用戶(hù)的經(jīng)歷。如,根據網(wǎng)頁(yè)內容的推薦,就完全忽視了美學(xué)的品質(zhì)、所有多媒體的信息(包括嵌入在圖片中的文字)和諸如加載時(shí)間等網(wǎng)絡(luò )因素。
2) 推薦的內容有限。不僅是基于內容的推薦,很多推薦技術(shù)都存在所謂“超越專(zhuān)門(mén)化”的問(wèn)題。當系統僅僅根據用戶(hù)資料或項目描述來(lái)進(jìn)行推薦的時(shí)候,用戶(hù)被限制在只能得到與以往熟悉的內容相類(lèi)似的項目。這樣不利于挖掘用戶(hù)潛在的興趣。
3) 缺乏用戶(hù)反饋。這是推薦系統的普遍性問(wèn)題。對項目進(jìn)行評價(jià)對于用戶(hù)來(lái)說(shuō)是一項繁重的任務(wù),所以評價(jià)越少越好。在基于內容的推薦中,對項目屬性的描述是影響未來(lái)推薦效果的唯一因素,這就意味著(zhù)減少評價(jià)數量的同時(shí),推薦性能也降低了。
2.2 基于項的協(xié)同過(guò)濾算法
基于項的(Item-based)協(xié)同過(guò)濾推薦根據用戶(hù)對相似項的評分預測該用戶(hù)對目標項的評分,它基于這樣一個(gè)假設:如果大部分用戶(hù)對一些項的評分比較相似,則當前用戶(hù)對這些項的評分也比較相似?;陧椀膮f(xié)同過(guò)濾推薦系統使用統計技術(shù)找到目標項的若干最近鄰居,由于當前用戶(hù)對最近鄰居的評分與對目標項的評分比較類(lèi)似,所以可以根據當前用戶(hù)對最近鄰居的評分預測當前用戶(hù)對目標項的評分,然后選擇預測評分最高的前若干項作為推薦結果反饋給用戶(hù)[22]。
表2用戶(hù)評分數據
星球大戰 泰坦尼克 指環(huán)王 廊橋遺夢(mèng)
甲 4 2 4 4
乙 3 5 3 3
丙 2 2 3 2
丁 5 1 5 ?
Item-based協(xié)同過(guò)濾推薦算法的核心就是通過(guò)用戶(hù)對目標項最近鄰居的評分產(chǎn)生最后的推薦結果,用戶(hù)對目標項的評分通過(guò)用戶(hù)對目標項最近鄰居評分的加權平均值逼近。例如,在表2所示的用戶(hù)評分數據中,Item-based協(xié)同過(guò)濾推薦算法需要預測用戶(hù)丁對項“廊橋遺夢(mèng)”的評分。通過(guò)數據分析發(fā)現,用戶(hù)群體對“廊橋遺夢(mèng)”的評分與對“星球大戰”的評分非常相似,“星球大戰”是“廊橋遺夢(mèng)”的最佳鄰居,因此丁對‘星球大戰’的評分對預測值的影響最大。其次,用戶(hù)群體對“指環(huán)王”的評分與用戶(hù)對“泰坦尼克”的評分也比較相似,因此丁對“泰坦尼克”的評分對預測值的影響也比較大。而“廊橋遺夢(mèng)”不是“泰坦尼克”的好鄰居,因為用戶(hù)群體對它們的評分存在沖突,所以丁對“廊橋遺夢(mèng)”的評分對預測值的影響相對小一些。在實(shí)際的預測過(guò)程中,只搜索目標項相似性最高的前若干個(gè)鄰居,然后根掘相似性大小預測用戶(hù)對目標項的評分。
與User-based協(xié)同過(guò)濾推薦算法不同,Item-based協(xié)同過(guò)濾推薦算法通過(guò)計算項之間的相似性,選擇目標項的最近鄰屠集合,根據當前用戶(hù)對最近鄰居的評分預測用戶(hù)目標項的評分,然后選擇預測評分最高的前若干件商品作為推薦結果反饋給用戶(hù)。Item-based協(xié)同過(guò)濾推薦算法可以分為如下兩個(gè)階段:
1) 最近鄰查詢(xún):搜索目標項的最近鄰居。
2) 推薦產(chǎn)生:根據用戶(hù)對目標項最近鄰居的評分信息預測用戶(hù)對目標項的評分,產(chǎn)生top-N商品推薦。
聯(lián)系客服