梁四香
(空軍工程大學(xué)航空機(jī)務(wù)士官學(xué)校,河南 信陽(yáng) 464000)
目前,互聯(lián)網(wǎng),電子商務(wù),在線服務(wù)等行業(yè)極速發(fā)展,使傳統(tǒng)網(wǎng)絡(luò)極大擴(kuò)容。隨著大量移動(dòng)終端的參與,移動(dòng)在線條件下的“信息過(guò)飽和“難題亟待解決。同時(shí)隨著網(wǎng)絡(luò)3.0 時(shí)代的到來(lái),網(wǎng)民數(shù)量和網(wǎng)絡(luò)購(gòu)物數(shù)量逐年遞增,大量不同的信息被產(chǎn)生,“信息爆炸”時(shí)代悄然而來(lái)。往往用戶因無(wú)法準(zhǔn)確描述想獲取的信息,而不得不從信息海洋中“大海撈針”。如何在過(guò)載的信息海洋中找到需要的信息已然成為不得不解決的問(wèn)題[1]。
早期的處理方法是引擎搜索和類目導(dǎo)航,雅虎和網(wǎng)易等公司的類目導(dǎo)航是將產(chǎn)品或項(xiàng)目分類,分目,分層處理,用戶按照從大類到小類逐層尋找,最終找到最貼近目標(biāo)的信息;谷歌等公司的搜索引擎是按照需要用戶需求,引導(dǎo)用戶找到可能滿足需求的項(xiàng)目。但是很多場(chǎng)景下用戶并沒(méi)有清晰的目標(biāo),這種情況下,推薦系統(tǒng)便會(huì)根據(jù)用戶屬性給用戶推薦可能的項(xiàng)目,這樣還可能得到更多的驚喜[2]。
內(nèi)容型推薦算法是由信息過(guò)濾技術(shù)發(fā)展而來(lái)的,它對(duì)用戶過(guò)往喜好分析再對(duì)用戶進(jìn)行屬性勾畫(huà),后比較用戶屬性勾畫(huà)與新項(xiàng)目的相似性來(lái)判斷是否推薦。比如電影《戰(zhàn)狼》和《戰(zhàn)狼2》都是吳京主演的,與吳京相關(guān)的用戶很有可能也喜歡吳京的其它作品,針對(duì)用戶的偏好的項(xiàng)目屬性,給潛在用戶推薦可能的項(xiàng)目,即系統(tǒng)針對(duì)用戶的過(guò)往偏好推薦相似度最高的產(chǎn)品。依據(jù)產(chǎn)品特征計(jì)算它們的相似度:根據(jù)相關(guān)屬性推薦物品,依據(jù)相關(guān)特征,確定符合用戶要求的項(xiàng)目特征,并判斷物品的適用性[3,4]。
該算法主要被用于可以易于獲得特征信息的文檔類,或者可手動(dòng)標(biāo)簽的影視類的推薦。它可以計(jì)算用戶的特定偏好,能夠很大程度處理數(shù)據(jù)稀疏性問(wèn)題和item 冷啟動(dòng)問(wèn)題,然而大多偏好問(wèn)題,不僅很難提取特征信息,而把多個(gè)item 的特征組成一個(gè)同一的集合(領(lǐng)域思想)也很難做到使用戶可以容易獲得目標(biāo)item。如果收集的profile 不夠準(zhǔn)確,推薦效果就會(huì)很差[5-7]。
關(guān)聯(lián)規(guī)則是從物品之間的同現(xiàn)性出發(fā)獲取它們頻繁項(xiàng),一般是多次查看,反復(fù)查找,多次購(gòu)買(mǎi),物品捆綁,如圖1 所示,在A-priori、FP-Growth 等算法中有支持度和置信度兩個(gè)概念,常用于推薦跟已購(gòu)買(mǎi)搭配的商品等場(chǎng)景[8,9],但是它的推薦效果一般比協(xié)同過(guò)濾算法差,在定義變量間的關(guān)聯(lián)時(shí)更需要要注意,若被一些隱含的因素影響時(shí),常出現(xiàn)辛普森悖論[10,11]。支持度support和置信度confidence 如公式(1)和公式(2)所示。
圖1 關(guān)聯(lián)規(guī)則推薦
辛普森悖論:考慮手機(jī)(Phone)和書(shū)籍之間的關(guān)系。購(gòu)買(mǎi)手機(jī)(Phone)的數(shù)量與購(gòu)買(mǎi)書(shū)籍的數(shù)量,如表1 所示,買(mǎi)入書(shū)籍總?cè)藬?shù)是153 人,未購(gòu)入書(shū)籍的總?cè)藬?shù)是147 人,購(gòu)入Phone 的總?cè)藬?shù)是180 人,未購(gòu)買(mǎi)的人數(shù)是120 人。
表1 手機(jī)與書(shū)籍
那么提取頻繁集,計(jì)算得到如下所示的支持度:
從中可以得出如下結(jié)論:購(gòu)買(mǎi)了Phone 的人比未購(gòu)買(mǎi)Phone的人更可能買(mǎi)書(shū)籍。
如果顧客由大學(xué)生和在職人員組成,他們還可以根據(jù)其屬性分組,如表2 所示。
表2 顧客分組
對(duì)于大學(xué)生來(lái)說(shuō),計(jì)算得到如下所示的支持度:
對(duì)于在職人員來(lái)說(shuō)計(jì)算得到如下所示的支持度:
主要的協(xié)同過(guò)濾算法有基于用戶算法和基于項(xiàng)目的算法兩種[15],通常先根據(jù)用戶購(gòu)買(mǎi)記錄,根據(jù)相似度,給用戶推薦和其歷史偏好產(chǎn)品類似的產(chǎn)品[16],基于用戶算法的具體步驟:先計(jì)算用戶的(前k 個(gè))相似的用戶,再依據(jù)相似度(如Pearsoncorrelation coefficient[17]、Jaccard Distance[18]和CosineSimilarity[19]等),從而找到用戶的偏好產(chǎn)品,并能預(yù)測(cè)目標(biāo)用戶的評(píng)分(預(yù)測(cè)模型有kNN[20]和Regression[21]等),再過(guò)扣除用戶已買(mǎi)的產(chǎn)品,最后將產(chǎn)品按照相似性評(píng)分排序。這樣便可以使用戶容易找到需求產(chǎn)品,但是這種操作不僅帶來(lái)了復(fù)雜的在線計(jì)算,還需要解決新用戶的參與問(wèn)題[22]。
基于項(xiàng)目的過(guò)濾算法,主要是首先先得到item 間的相似度,再針對(duì)不同用戶的item 評(píng)分去預(yù)測(cè)用戶對(duì)相關(guān)的items 的評(píng)分,再將評(píng)分較高的相關(guān)項(xiàng)目推薦給用戶。基于項(xiàng)目的算法具有更高的準(zhǔn)確性和表現(xiàn)穩(wěn)定性,并且易于離線計(jì)算,但其推薦多樣性較差。Item 的相似性是靜態(tài)的;但用戶的相似性具有復(fù)雜的多樣性,且是動(dòng)態(tài)的,應(yīng)用時(shí)更應(yīng)小心。
因此,協(xié)同過(guò)濾算法的關(guān)鍵是相似性計(jì)算,計(jì)算相似度的辦法有余弦和修正的余弦相似性、杰卡德相似性和皮爾遜相關(guān)系數(shù)等。
當(dāng)數(shù)據(jù)過(guò)于稀疏的狀態(tài)下,余弦和修正的余弦相似性不能度量u1、u2間的相似度,在以往的研究中通常用Pearsoncorrelation coefficient 來(lái)計(jì)算u1、u2間的相似性,
找出跟目標(biāo)u 相似度最高的用戶并定義為鄰居集Nu,設(shè)u的項(xiàng)目評(píng)分中位數(shù)為ru,v 項(xiàng)目評(píng)分中位數(shù)為rv,rvi是v 對(duì)i 的評(píng)分,Sim(u,v)為u 和v 的相似度。未被u 評(píng)分的i 可用公式(7)來(lái)預(yù)測(cè):
再將預(yù)測(cè)結(jié)果靠前的項(xiàng)目推薦給用戶。