梁四香
(空軍工程大學航空機務士官學校,河南 信陽 464000)
目前,互聯網,電子商務,在線服務等行業極速發展,使傳統網絡極大擴容。隨著大量移動終端的參與,移動在線條件下的“信息過飽和“難題亟待解決。同時隨著網絡3.0 時代的到來,網民數量和網絡購物數量逐年遞增,大量不同的信息被產生,“信息爆炸”時代悄然而來。往往用戶因無法準確描述想獲取的信息,而不得不從信息海洋中“大海撈針”。如何在過載的信息海洋中找到需要的信息已然成為不得不解決的問題[1]。
早期的處理方法是引擎搜索和類目導航,雅虎和網易等公司的類目導航是將產品或項目分類,分目,分層處理,用戶按照從大類到小類逐層尋找,最終找到最貼近目標的信息;谷歌等公司的搜索引擎是按照需要用戶需求,引導用戶找到可能滿足需求的項目。但是很多場景下用戶并沒有清晰的目標,這種情況下,推薦系統便會根據用戶屬性給用戶推薦可能的項目,這樣還可能得到更多的驚喜[2]。
內容型推薦算法是由信息過濾技術發展而來的,它對用戶過往喜好分析再對用戶進行屬性勾畫,后比較用戶屬性勾畫與新項目的相似性來判斷是否推薦。比如電影《戰狼》和《戰狼2》都是吳京主演的,與吳京相關的用戶很有可能也喜歡吳京的其它作品,針對用戶的偏好的項目屬性,給潛在用戶推薦可能的項目,即系統針對用戶的過往偏好推薦相似度最高的產品。依據產品特征計算它們的相似度:根據相關屬性推薦物品,依據相關特征,確定符合用戶要求的項目特征,并判斷物品的適用性[3,4]。
該算法主要被用于可以易于獲得特征信息的文檔類,或者可手動標簽的影視類的推薦。它可以計算用戶的特定偏好,能夠很大程度處理數據稀疏性問題和item 冷啟動問題,然而大多偏好問題,不僅很難提取特征信息,而把多個item 的特征組成一個同一的集合(領域思想)也很難做到使用戶可以容易獲得目標item。如果收集的profile 不夠準確,推薦效果就會很差[5-7]。
關聯規則是從物品之間的同現性出發獲取它們頻繁項,一般是多次查看,反復查找,多次購買,物品捆綁,如圖1 所示,在A-priori、FP-Growth 等算法中有支持度和置信度兩個概念,常用于推薦跟已購買搭配的商品等場景[8,9],但是它的推薦效果一般比協同過濾算法差,在定義變量間的關聯時更需要要注意,若被一些隱含的因素影響時,常出現辛普森悖論[10,11]。支持度support和置信度confidence 如公式(1)和公式(2)所示。


圖1 關聯規則推薦
辛普森悖論:考慮手機(Phone)和書籍之間的關系。購買手機(Phone)的數量與購買書籍的數量,如表1 所示,買入書籍總人數是153 人,未購入書籍的總人數是147 人,購入Phone 的總人數是180 人,未購買的人數是120 人。

表1 手機與書籍
那么提取頻繁集,計算得到如下所示的支持度:

從中可以得出如下結論:購買了Phone 的人比未購買Phone的人更可能買書籍。
如果顧客由大學生和在職人員組成,他們還可以根據其屬性分組,如表2 所示。

表2 顧客分組
對于大學生來說,計算得到如下所示的支持度:

對于在職人員來說計算得到如下所示的支持度:


主要的協同過濾算法有基于用戶算法和基于項目的算法兩種[15],通常先根據用戶購買記錄,根據相似度,給用戶推薦和其歷史偏好產品類似的產品[16],基于用戶算法的具體步驟:先計算用戶的(前k 個)相似的用戶,再依據相似度(如Pearsoncorrelation coefficient[17]、Jaccard Distance[18]和CosineSimilarity[19]等),從而找到用戶的偏好產品,并能預測目標用戶的評分(預測模型有kNN[20]和Regression[21]等),再過扣除用戶已買的產品,最后將產品按照相似性評分排序。這樣便可以使用戶容易找到需求產品,但是這種操作不僅帶來了復雜的在線計算,還需要解決新用戶的參與問題[22]。
基于項目的過濾算法,主要是首先先得到item 間的相似度,再針對不同用戶的item 評分去預測用戶對相關的items 的評分,再將評分較高的相關項目推薦給用戶。基于項目的算法具有更高的準確性和表現穩定性,并且易于離線計算,但其推薦多樣性較差。Item 的相似性是靜態的;但用戶的相似性具有復雜的多樣性,且是動態的,應用時更應小心。
因此,協同過濾算法的關鍵是相似性計算,計算相似度的辦法有余弦和修正的余弦相似性、杰卡德相似性和皮爾遜相關系數等。

當數據過于稀疏的狀態下,余弦和修正的余弦相似性不能度量u1、u2間的相似度,在以往的研究中通常用Pearsoncorrelation coefficient 來計算u1、u2間的相似性,

找出跟目標u 相似度最高的用戶并定義為鄰居集Nu,設u的項目評分中位數為ru,v 項目評分中位數為rv,rvi是v 對i 的評分,Sim(u,v)為u 和v 的相似度。未被u 評分的i 可用公式(7)來預測:

再將預測結果靠前的項目推薦給用戶。