張恒 章成志 周清清
摘 要:亞馬遜網(wǎng)站為每本圖書生成推薦列表,供用戶選擇其感興趣的圖書,但該推薦方法僅考慮圖書之間的相似性。文章在此基礎上引入圖書推薦列表的相似性,計算不同圖書推薦列表的相似度,通過相似度排序為每本圖書生成推薦列表,然后將其與亞馬遜提供的推薦列表融合對用戶進行個性化圖書推薦。實驗結果顯示,相比于僅使用推薦列表的方法,文章所提出的方法所生成的推薦結果在平均準確率、平均召回率、Macro_F1和Micro_F1上都有一定的提升。由此可見,推薦列表的相似性對于圖書推薦效果可以起到一定的優(yōu)化作用。
關鍵詞:圖書推薦列表;Jaccard相似度;推薦優(yōu)化
中圖分類號:G250.7;G252 文獻標識碼:A DOI:10.11968/tsyqb.1003-6938.2018056
Using Similarity of Book Recommendation Lists for Book Recommendation
Abstract The Amazon website generates recommendation lists for each book, allowing users to select the books they are interested in. But this recommendation method only considers the similarity among books. Based on the recommendation lists, this paper introduces a similarity of book recommendation lists, and calculates Jaccard similarity of different book recommendation lists, then generates recommendation list for each book by similarity ranking. This paper combines it and the recommendation list provided by Amazon to conduct personalized recommendation for users. The experimental results show that there is a certain improvement in the average accuracy rate, the average recall rate, Macro_F1 and Micro_F1 compared to using only the recommendation list provided by Amazon. It can be seen that the similarity of the recommendation list of the book can play a certain role in optimizing the recommendation effect.
Key words Book recommendation list; Jaccard similarity; Recommendation optimization
當前全球圖書數(shù)量正快速增長,盡管圖書館可依據(jù)“杜威十進制分類法”“美國國會圖書館分類法”“中國圖書館圖書分類法”等分類方法對圖書進行分類,以幫助用戶查找需要的圖書,但用戶還是會迷失在“書海”中。為了解決這一問題,圖書館提供關鍵詞檢索的方式方便用戶快速檢索。然而,這依然需要用戶在大量的檢索結果中尋找滿足其需求的圖書。另外,僅僅通過關鍵詞匹配并不一定能滿足用戶的真正需求。隨著電子商務的發(fā)展,圖書的網(wǎng)上交易量逐漸增長。當前,亞馬遜、當當網(wǎng)、京東、淘寶等電商平臺上呈現(xiàn)海量的圖書資源。這些平臺積累大量的用戶數(shù)據(jù),如關于圖書的瀏覽、購買、評論等數(shù)據(jù)。電商平臺以此為基礎,主要以協(xié)同推薦的方式為用戶提供個性化推薦結果。目前,商品的個性化推薦已經(jīng)成為電商平臺的核心競爭力之一。如以亞馬遜網(wǎng)站為例,其個性化推薦系統(tǒng)在準確性、時效性和新穎性上都有良好的表現(xiàn)[1]。
傳統(tǒng)的圖書推薦方法大多依據(jù)圖書的相關用戶行為數(shù)據(jù),如購買、瀏覽記錄等,利用協(xié)同推薦算法為用戶推薦相關圖書列表[2]。這種推薦方法僅考慮目標圖書與推薦圖書的相似性。由于推薦列表中的圖書都與目標圖書存在一定的相似性,那么推薦列表作為相似圖書的集合,在衡量圖書相似性時可以被考慮。由此本文在傳統(tǒng)推薦方法的基礎上,引入圖書推薦列表的相似性,進行圖書的個性化推薦研究,探索其對于圖書推薦效果提升的作用。
2 相關研究概述
圖書推薦主要包括兩種類型:一是圖書館中的圖書推薦。圖書館利用用戶的檢索、瀏覽、借閱記錄等進行圖書推薦。相對來說,圖書館館藏、用戶行為等數(shù)據(jù)的規(guī)模均較小,用戶的個性化推薦效果不甚理想。并且,圖書館的圖書推薦大多以推薦書目的形式呈現(xiàn),針對某一人群,聚焦于特定閱讀主題;另外一種是電商網(wǎng)站上的圖書推薦。隨著電子商務的興起,各大電商網(wǎng)站積累了大量的用戶數(shù)據(jù),電商網(wǎng)站可以從中細致地挖掘出用戶興趣,實現(xiàn)更為精準的個性化圖書推薦。常用的推薦方法主要包括三類,即基于內(nèi)容相似度的推薦、基于關聯(lián)規(guī)則的推薦、基于協(xié)同過濾的推薦。
(1)基于內(nèi)容相似度的推薦是由信息檢索技術發(fā)展而來的。在信息檢索中,系統(tǒng)事先為數(shù)據(jù)庫中的所有記錄生成特征向量,在用戶輸入檢索詞后,系統(tǒng)同樣將其表示成向量,然后計算檢索詞與每一條記錄的相似度,將滿足一定相似度閾值的結果按照相似度從高到低的順序返回給用戶。這種技術應用到圖書推薦中后,推薦系統(tǒng)會根據(jù)用戶之前購買或者瀏覽的圖書,學習出這些圖書的內(nèi)容特征,然后去尋找與之內(nèi)容相似的圖書推薦給用戶[3-4]。該過程涉及圖書內(nèi)容的表示,一般使用向量空間模型(Vector Space Model,VSM)[5]來表示圖書。其中,內(nèi)容特征的提取常依據(jù)TF-IDF[6]、卡方檢驗(CHI)[7]、信息增益(IG)[8]等方法完成。內(nèi)容相似度的計算,依據(jù)歐幾里得距離、余弦相似度等方法完成。這種推薦方法只能推薦給用戶內(nèi)容相近的圖書,但用戶的興趣有時會發(fā)生遷移,從一類圖書轉移到另一類圖書上。該方法還存在用戶的“冷啟動”問題[9-10],即對于新用戶,系統(tǒng)中沒有關于他的任何記錄,不能進行有效的推薦。
(2)基于關聯(lián)規(guī)則的推薦主要通過大量用戶的購買記錄,發(fā)現(xiàn)商品之間的潛在聯(lián)系,找到用戶經(jīng)常一起購買的商品組合,從而完成商品推薦。如亞馬遜網(wǎng)站上商品詳情頁面中有與該商品“經(jīng)常一起購買的商品”推薦,這就是一個被大量用戶所采購的商品組合。Apriori算法[11]是最常用的關聯(lián)規(guī)則發(fā)現(xiàn)算法之一,通過計算圖書之間的支持度和置信度,然后依據(jù)實際情況分別設定閾值,找出所有滿足最小支持度和最小置信度的關聯(lián)規(guī)則,按照置信度大小排序,根據(jù)需求取前N個最相關的商品進行推薦。
(3)基于協(xié)同過濾的推薦[12]又可細分為兩類,即基于用戶的協(xié)同推薦[13]、基于物品的協(xié)同推薦[14]。前者首先需要定位目標用戶的鄰近用戶(即具有相似興趣和需求的用戶群體),然后將鄰近用戶感興趣的商品推薦給目標用戶。該方法的難點在于如何確定鄰近用戶,早期的Tapestry圖書推薦系統(tǒng)[15]依靠人工選定鄰近用戶,后來發(fā)展出根據(jù)用戶行為(如對圖書的打分)來構建用戶特征向量,計算用戶之間的相似度來自動識別鄰近用戶的方法。后者則是先定位“鄰近物品”(在圖書推薦中即指鄰近圖書),然后向用戶推薦其購買過的圖書的鄰近圖書[16]。鄰近圖書也可以通過相似度來計算,但并不是圖書的內(nèi)容相似度,而是指基于用戶行為記錄的相似度。如亞馬遜網(wǎng)站上“購買此商品的顧客也同時購買”的推薦列表就是使用基于物品的協(xié)同推薦方法生成的?;谟脩舻膮f(xié)同推薦同樣會遇到用戶的“冷啟動”問題,基于物品的協(xié)同推薦雖然可避免用戶的“冷啟動”問題,但依然存在物品的“冷啟動”問題[17]。由于不再局限于圖書內(nèi)容,基于協(xié)同過濾的推薦方法可以給用戶推薦不同類型的圖書,滿足用戶不斷遷移的興趣。
以上三種推薦方法都依據(jù)圖書在某些方面的相似性,進行圖書推薦?;趦?nèi)容的推薦從圖書內(nèi)容的角度出發(fā),尋找內(nèi)容相似的圖書;基于關聯(lián)規(guī)則的推薦從被用戶組合購買的角度出發(fā),推薦圖書與目標圖書在同一組合中體現(xiàn)了它們的相似性;基于協(xié)同過濾的推薦從群體的角度出發(fā),都與同一群體相關構成推薦圖書與目標圖書的相似性。通過對比可以發(fā)現(xiàn),圖書與推薦圖書的關系和論文與參考文獻的關系非常相似,引用相同參考文獻的論文在研究領域或研究主題上往往是相似的。因此,本文認為推薦列表的相似性也反映了圖書在某種程度上的相似性,從而在傳統(tǒng)圖書推薦方法的基礎上,還考慮推薦列表的相似性,進行圖書的推薦。
3 研究設計
3.1 研究框架
本文以亞馬遜網(wǎng)站上用戶購買圖書記錄與圖書的推薦列表數(shù)據(jù)為數(shù)據(jù)來源,通過計算圖書推薦列表之間的Jaccard相似度[18],為每本圖書生成新的推薦列表。然后分別使用基于協(xié)同過濾的圖書推薦列表、基于推薦列表相似度生成的圖書推薦列表以及融合兩種推薦列表的圖書推薦列表,為用戶推薦圖書。本文最后對三種推薦方法進行效果評估,驗證推薦列表相似度能否對圖書推薦效果起到優(yōu)化作用(具體研究框架見圖1)。
3.2 研究問題
基于某一方面的相似性,推薦算法可以找到與目標圖書相似的圖書,構成推薦列表。這個過程只衡量目標圖書與其推薦圖書之間的相似性,本文提出的推薦列表相似度則在原推薦算法的基礎上考慮圖書各自的推薦列表這一外部特征?;诖?,本文主要研究以下兩個問題:
(1)如何基于圖書的推薦列表對用戶進行個性化推薦?
(2)圖書推薦列表的相似性是否可以提高個性化圖書推薦效果?
3.3 關鍵技術描述
3.3.1 數(shù)據(jù)采集
本文從亞馬遜網(wǎng)站上采集用戶和圖書的相關數(shù)據(jù)(數(shù)據(jù)采集流程見圖2)。
首先,本文從亞馬遜網(wǎng)站優(yōu)秀評論者排行榜(10000名用戶)中獲取每個用戶的ID,構建用戶主頁鏈接,再從用戶主頁中采集用戶的購買記錄信息,并且從購買記錄中篩選出圖書商品,最后得到7983名購買記錄中包含圖書商品的用戶(部分用戶數(shù)據(jù)樣例見表1)。
然后,我們根據(jù)這7983名用戶購買的圖書ASIN號,構建圖書詳情頁面鏈接,從而采集圖書的相關數(shù)據(jù)。本文用到的圖書數(shù)據(jù)主要是圖書的推薦列表,亞馬遜網(wǎng)站的圖書詳情頁面中提供了三種推薦列表,即:“經(jīng)常一起購買的商品”“購買此商品的顧客也同時購買”及“看過此商品后顧客買的其他商品”。第一種推薦是基于關聯(lián)規(guī)則生成的,推薦圖書的數(shù)量一般為一到兩本,第二種推薦是基于協(xié)同過濾算法生成的,推薦圖書的數(shù)量不定,最多為100本,第三種推薦是基于大量用戶的瀏覽記錄生成的,推薦圖書的數(shù)量一般是4本。提取出三種推薦列表中圖書的ASIN號,進行新一輪的圖書數(shù)據(jù)采集,如此反復采集N次(本文實驗中采集次數(shù)為4),最后共得到782355本圖書的相關數(shù)據(jù)(部分圖書的推薦列表數(shù)據(jù)樣例見表2)。
3.3.2 圖書推薦列表的相似度計算
文本相似度的計算方式有余弦相似度[19]、歐幾里得距離[20]、Jaccard相似度[18]等。無論是余弦相似度還是歐幾里得距離的計算,一般都考慮向量不同維度的權重。而Jaccard相似度在計算時則不考慮集合中每個元素的權重,要么是0,要么是1。本文不考慮推薦列表中不同圖書的權重,因此選擇Jaccard相似度來衡量圖書推薦列表的相似度大小。
給定集合A和集合B,那么它們的Jaccard相似度計算公式如下[21]:
3.3.3 基于推薦列表相似度的圖書推薦列表生成
本文對個性化推薦效果進行評估時,選擇購買圖書數(shù)量不少于50本的1347名用戶用于測試。這些用戶購買的圖書共有85024本,由于部分圖書已被亞馬遜網(wǎng)站下架,無法獲取圖書的詳情頁面,進而無法采集相關數(shù)據(jù)。因此,進行一定的數(shù)據(jù)清洗后,最終獲取1347名用戶購買的71662本圖書進行測試。
盡管亞馬遜網(wǎng)站基于不同的策略提供了三種圖書推薦列表,但是三種推薦列表并不是完全覆蓋的。對測試用戶購買的所有圖書(71662本)的推薦列表情況進行統(tǒng)計發(fā)現(xiàn),詳情頁面中有第一種推薦列表的圖書有41824本,詳情頁面中有第二種推薦列表的圖書有70396本,詳情頁面中有第三種推薦列表的圖書有54057本。為了保證數(shù)據(jù)的覆蓋率,本文選擇第二種推薦列表進行研究。
本文計算圖書推薦列表的Jaccard相似度,可以得到圖書之間的相似度矩陣(計算結果示例見表3)。
對于每本圖書,根據(jù)相似度矩陣,找出與該圖書相似度大于0的所有圖書,并按相似度大小排序。由于選擇進行研究的第二種推薦列表(基于協(xié)同過濾)中圖書的最大數(shù)量為100,在這里選擇相似度最高的前100本作為圖書的新推薦列表。
3.3.4 個性化圖書推薦
個性化圖書推薦包括兩個子任務,即基于單一推薦列表的圖書推薦、基于兩種推薦列表融合的圖書推薦。
(1)基于單一推薦列表的圖書推薦,分別使用亞馬遜提供的基于協(xié)同過濾的推薦列表與基于推薦列表Jaccard相似度生成的推薦列表,進行個性化圖書推薦(推薦流程見圖3)。首先找到用戶購買的所有圖書的推薦列表,統(tǒng)計找到的所有推薦列表中不同圖書出現(xiàn)的次數(shù),按照降序排列,選取前100本作為該用戶的個性化圖書推薦結果。使用基于推薦列表相似度生成的推薦列表時步驟相同。
(2)基于兩種推薦列表融合的個性化圖書推薦,首先賦予兩種推薦列表不同的權重,然后按照以下規(guī)則對兩種推薦列表進行融合:如果圖書出現(xiàn)在兩種推薦列表中,那么該圖書的權重為1,如果只在一種推薦列表中出現(xiàn),則圖書的權重等于相應推薦列表的權重,以此來將兩種推薦列表中的圖書綜合在一起。后續(xù)的推薦步驟與基于單一推薦列表的個性化圖書推薦相似,只是將統(tǒng)計推薦列表中圖書的次數(shù)相應地改為計算圖書的總權重。
3.3.5 推薦效果評估
為驗證基于推薦列表的相似度能否提高個性化圖書推薦效果,本文選取購買圖書記錄不少于50條的用戶進行個性化圖書推薦效果評估。符合要求的用戶一共有1347名。按照圖書購買記錄的時間順序,將每個用戶購買的前70%的圖書作為訓練集,后30%的圖書作為測試集。根據(jù)上一步個性化圖書推薦中描述的推薦流程,對每一名用戶進行個性化圖書推薦,基于用戶的訓練集生成推薦結果,與測試集對比,計算每種推薦方式的準確率(P)、召回率(R)和F1值[22],計算公式如下:
對計算結果進行對比和分析,從而實現(xiàn)推薦效果的評估。對于基于兩種推薦列表融合的個性化圖書推薦,還將調(diào)整兩種推薦列表的權重比例,進行多次測試,得到使得推薦效果最優(yōu)的權重比例。
4 實驗結果與分析
4.1 基于單一推薦列表的個性化圖書推薦結果
本文比較使用兩種不同推薦列表對用戶進行個性化圖書推薦的性能。基于協(xié)同過濾的推薦各項指標要高于基于推薦列表相似度的推薦,尤其是在平均召回率上,前者比后者高了20.35%(見圖4)。召回率代表測試集中的圖書被準確推薦的數(shù)量大小,召回率越大,用戶因為推薦而購買的圖書越多,這直接與商家所能取得的利潤相關。從而證明亞馬遜提供的基于協(xié)同過濾的推薦列表的重要性是不可忽略的,所以本文還將兩種推薦列表融合進行個性化圖書推薦。
4.2 基于兩種推薦列表融合的個性化圖書推薦結果
本文按照不同的比例設置兩種推薦列表的權重,將兩種推薦列表融合后進行個性化圖書推薦(性能評估結果見表4)。從表中可以看出,各評估指標隨著權重比例S的減小都呈現(xiàn)先增大后減小的變化趨勢。當兩種推薦列表的權重比例為6 : 4時,四個評估指標都取得最大值。相比于僅使用基于協(xié)同過濾的推薦列表,各項指標都有一定的提升。
以用戶“A3I*****HFR”為例,本文分別使用基于協(xié)同過濾的推薦和融合推薦的結果(見表5)。使用基于協(xié)同過濾的推薦列表對該用戶進行個性化推薦準確預測了4本圖書,而使用兩種推薦列表融合(權重比例S=6:4)進行個性化推薦準確預測了7本圖書,準確率、召回率、F1值后者都高于前者。
此外,經(jīng)過統(tǒng)計發(fā)現(xiàn),僅使用亞馬遜提供的基于協(xié)同過濾的推薦列表進行個性化圖書推薦時,準確推薦的圖書數(shù)量為“0”的用戶有467名;而使用兩種推薦列表融合(權重比例S = 6 : 4)進行個性化圖書推薦時,準確推薦的圖書數(shù)量為“0”的用戶有441名。后者為更多的用戶找到了準確推薦的圖書。
5 結語
本文通過計算亞馬遜圖書推薦列表的Jaccard相似度,為每本圖書重新生成了推薦列表,并且設計基于圖書推薦列表和用戶購買記錄進行個性化圖書推薦的方法。實驗結果顯示,基于推薦列表相似度生成的推薦列表的效果不如亞馬遜提供的基于協(xié)同過濾的推薦列表,但通過調(diào)整兩種推薦列表的權重比例,將兩者融合再進行個性化圖書推薦時,推薦效果優(yōu)于基于協(xié)同過濾的推薦列表。當基于協(xié)同過濾的推薦列表與基于推薦列表相似度生成的推薦列表的權重之比為6 : 4時,推薦效果最優(yōu),Macro_F1提高了5.84%,Micro_F1提高了6.36%。對于推薦效果的評估最直觀的方法是使用個性化推薦比前后銷售額的變化,但我們無法獲取相關的數(shù)據(jù),所以選用了準確率、召回率、Macro_F1、Micro_F1這種相對嚴苛的評價指標來對推薦效果進行評估。在各項評價指標得分普遍很低的情況下,本文提出的推薦方法所取得的推薦效果提升較為可觀。這說明推薦列表的相似度可對個性化圖書推薦效果起到優(yōu)化作用。
本文研究還存在一些不足之處,如本文使用的圖書數(shù)據(jù)只有78萬余條,這些圖書之間的推薦列表相似度并不能代表所有圖書,因此基于推薦列表相似度為每本圖書生成的推薦列表可能并不完全,有些推薦列表更相似的圖書數(shù)據(jù)可能沒有采集到,今后本文將擴大數(shù)據(jù)規(guī)模進行研究。另外,本文提出的圖書推薦效果優(yōu)化方法,需要依賴圖書的原始推薦列表,還需要解決“冷啟動”問題。
參考文獻:
[1] 洪亮,任秋圜,梁樹賢.國內(nèi)電子商務網(wǎng)站推薦系統(tǒng)信息服務質量比較研究——以淘寶、京東、亞馬遜為例[J].圖書情報工作,2016,60(23):97-110.
[2] 安德智,劉光明,章恒.基于協(xié)同過濾的圖書推薦模型[J].圖書情報工作,2011,55(1):35-38.
[3] Rong H,Gong L,Qin Z,et al.A Personalized Recommendation Approach Based on Content Similarity Calculation in Large-Scale Data[C].In: Proceedings of the 15th International Conference,ICA3PP 2015,Zhangjiajie,China,2015:460-477.
[4] 張麒麟,姜霖.基于文獻內(nèi)容的圖書推薦機制研究[J].圖書館學研究,2018(1):78-81,17.
[5] 胡曉,王理,潘守慧.基于改進VSM的Web文本分類方法[J].情報雜志,2010,29(5):144-147.
[6] Quan C,Ren F.Unsupervised product feature extraction for feature-oriented opinion determination[J].Information Sciences,2014,DOI:10.1016/j.ins.2014.02.063.
[7] 曾輝,唐佳麗,熊李艷,等.基于動詞名詞和CHI特征選擇的中文人物社會關系抽取[J].計算機應用研究,2017,34(6):1631-1635.
[8] 劉汝雋,賈斌,辛陽.基于信息增益特征選擇的網(wǎng)絡異常檢測模型[J].計算機應用,2016,36(A2):49-53.
[9] Kalloori S,Ricci F.Improving Cold Start Recommendation by Mapping Feature-Based Preferences to Item Comparisons[C].Proceedings of the 25th Conference on User Modeling,Adaptation and Personalization.New York,NY,USA,2017:289-293.
[10] Shi L,Zhao W X,Shen Y D.Local Representative-Based Matrix Factorization for Cold-Start Recommendation[J].ACM Transactions on Information Systems,2017,36(2):1-28.
[11] Han J,Pei J,Yin Y.Mining frequent patterns without candidate generation[C].ACM SIGMOD International Conference on Management of Data.New York,NY,USA,2000,29(2):1-12.
[12] Parvatikar S,Joshi B.Online book recommendation system by using collaborative filtering and association mining[C].In:Proceedings of IEEE International Conference on Computational Intelligence and Computing Research.Orlando,F(xiàn)L,USA,2016:1-4.
[13] Tan Z,He L.An Efficient Similarity Measure for User-Based Collaborative Filtering Recommender Systems Inspired by the Physical Resonance Principle[J].IEEE Access,2017,5(99):27211-27228.
[14] Li C,He K.CBMR:An optimized MapReduce for item-based collaborative filtering recommendation algorithm with empirical analysis[J].Concurrency and Computation:Practice and Experience,2017,29(10):e4092.
[15] Resnick P,Varian H R.Recommender systems[J].Communications of the ACM,New York,NY,USA,1997,40(3):56-58.
[16] Li D,Chen C,Lv Q,et al. An algorithm for efficient privacy-preserving item-based collaborative filtering[J].Future Generation Computer Systems,2016,DOI:10.1016/j.future.2014.11.003.
[17] Wei J,He J,Chen K,et al.Collaborative filtering and deep learning based recommendation system for cold start items [J].Expert Systems with Applications,2017(69):29-39.
[18] 李斌,張博,劉學軍,等.基于Jaccard相似度和位置行為的協(xié)同過濾推薦算法[J].計算機科學,2016,43(12):200-205.
[19] 武永亮,趙書良,李長鏡,等.基于TF-IDF和余弦相似度的文本分類方法[J].中文信息學報,2017,31(5):138-145.
[20] Wang C,Song Y,Li H,et al.Distant Meta-Path Similarities for Text-Based Heterogeneous Information Networks[C].In:Proceedings of the 2017 ACM on Conference on Information and Knowledge Management.New York,NY,USA,2017:1629-1638.
[21] 俞婷婷,徐彭娜,江育娥,等.基于改進的Jaccard系數(shù)文檔相似度計算方法[J].計算機系統(tǒng)應用,2017,26(12):137-142.
[22] 奉國和.文本分類性能評價研究[J].情報雜志,2011,30(8):66-70.
作者簡介:張恒(1995-),男,南京理工大學信息管理系碩士研究生;章成志(1977-),男,南京理工大學信息管理系教授,博士生導師;周清清(1990-),女,南京理工大學信息管理系博士研究生。