郭麗莎,鄧棉予,李秋雨,馮琪,郭仲凱
(中南民族大學 數(shù)學與統(tǒng)計學學院,武漢430074)
在如今的信息時代,信息的需求者們從大量已知的信息中找尋自己感興趣的信息不是很容易,而信息的供給者們讓自己的信息能夠引起人們的注意,更加不易.因此,誕生了如百度、搜狗等搜索引擎工具,緩解了信息的過載問題.但無法解決信息需求者們更多的需求,如用戶輸入關鍵詞后不能找到相應的準確消息.
同搜索引擎不一樣,推薦系統(tǒng)并不需要用戶明確地提供需求,而是通過數(shù)據(jù)來分析用戶的歷史行為,從而主動推薦滿足用戶需求的信息[1].在推薦系統(tǒng)的眾多方法中,協(xié)同過濾推薦算法是最早誕生的,原理也較為簡單.該算法1992年提出并應用于郵件過濾系統(tǒng),1994年被GroupLens用于新聞過濾.直至今日,該算法都是推薦系統(tǒng)領域最著名的算法.
本文通過運用協(xié)同過濾算法,對電視產(chǎn)品進行推薦[2],推薦過程主要分為兩種:第一種是根據(jù)用戶與產(chǎn)品之間的相關系數(shù)進行的精準推薦;第二種是將用戶與產(chǎn)品分別進行打包后再做推薦,即打包推薦.對電視產(chǎn)品的精準推薦與打包推薦都旨在構建一個適合于電視產(chǎn)品的推薦系統(tǒng).
協(xié)同過濾推薦是當下研究較多的個性化推薦技術,其個性化程度較高.算法的關鍵是要得到用戶和產(chǎn)品信息之間的關聯(lián)關系[3].協(xié)同過濾推薦一般有兩種:基于用戶的協(xié)同過濾推薦和基于產(chǎn)品的協(xié)同過濾推薦.本文采取基于產(chǎn)品的協(xié)同過濾推薦系統(tǒng)對用戶進行個性化推薦,其推薦結(jié)果將作為推薦系統(tǒng)結(jié)果的重要部分.基于產(chǎn)品的協(xié)同過濾推薦系統(tǒng)的一般處理過程為:用戶A1喜歡產(chǎn)品B1、B3;用戶A2喜歡產(chǎn)品B2、B3;用戶A3喜歡產(chǎn)品B1.故由產(chǎn)品B1判斷用戶A1和用戶A3有相同喜好,所以可以推薦用戶A1喜歡的產(chǎn)品B3給用戶A3.由此處理過程可以得到基于產(chǎn)品的協(xié)同過濾算法的步驟:
(1)計算產(chǎn)品與產(chǎn)品的相似度,將產(chǎn)品匹配給具有相似喜好的用戶;
(2)根據(jù)產(chǎn)品之間的相似度與用戶喜好,找出用戶偏好的產(chǎn)品,生成推薦列表.
目前,常用的測量產(chǎn)品相似度的計算方法有:余弦相似度、Jaccard相似系數(shù)、Pearson相關系數(shù)等.由于本文用戶的選擇行為是二元變量:喜歡與不喜歡(0與1),因此在計算產(chǎn)品相似度的過程中采用Jaccard相似系數(shù)方法:
其中|AM∪AN|表示喜歡產(chǎn)品M不喜歡產(chǎn)品N的用戶總數(shù),|AM∩AN|表示同時喜歡產(chǎn)品M和產(chǎn)品N的用戶數(shù).
好的推薦算法可以推測用戶喜好,幫助用戶發(fā)現(xiàn)自己的潛在需求,還能及時將埋沒在長尾中的產(chǎn)品推薦給相應用戶[4].評價推薦系統(tǒng)好壞的核心環(huán)節(jié)是算法的優(yōu)劣,評價推薦系統(tǒng)的指標常有:查準率P,查全率R,綜合評價指標F1等.
(1)查準率P與查全率R
現(xiàn)今大多數(shù)推薦系統(tǒng)都會以推薦結(jié)果的查準率和查全率作為評價標準.其中,查準率P表示推薦方案中用戶喜歡的產(chǎn)品與方案中所有產(chǎn)品的比率.查全率R表示推薦方案中用戶喜歡的產(chǎn)品與實際中用戶喜歡的所有產(chǎn)品的比率.產(chǎn)品的推薦情況如表1所示.
表1 產(chǎn)品推薦情況分類表Tab.1 Classification table of product recommendation
(2)綜合評價指標F1
當查準率和查全率不能同時較高的時候,需要綜合考慮兩者情況,常見的方法就是運用綜合評價指標F1.綜合評價指標F1是查準率與查全率加權調(diào)和平均值,即:
(1)
本文研究的電視產(chǎn)品數(shù)據(jù)包括:用戶收視信息、用戶回看信息、用戶點播信息、用戶單片點播信息、電視產(chǎn)品信息、用戶基本信息.
在產(chǎn)品的精準推薦中采用“用戶點播信息”、“用戶單片點播信息”工作表來進行推薦,點播能真正體現(xiàn)用戶的需求,從點播信息中可以更精準地推薦.推薦測評的過程中,采用交叉驗證的方法進行模型的測評,方法具體如下:將用戶點播信息的數(shù)據(jù)集按著均勻分布隨機分成10份,在其中選一份作為測試集,其余作為訓練集,在測試集上建模,對用戶行為做預測,統(tǒng)計相應評測指標.為保證評測指標并非過擬合的結(jié)果,需進行十次實驗,并且每次都用不同的測試集,后將十次實驗測出的評測指標平均值作為最終的評測指標.
本文產(chǎn)品精準推薦方案模型是針對產(chǎn)品數(shù)據(jù)進行模型構造的,選用了3種不同的算法:IBCF (item-based CF,基于物品的推薦)、 random(隨機推薦)、popular(基于流行度的推薦)[5].其中,IBCF算法的推薦過程主要分為兩步:1) 計算系統(tǒng)中每個產(chǎn)品與產(chǎn)品之間的相似度;2) 根據(jù)目標用戶對相似產(chǎn)品的評分,計算目標用戶對未評分產(chǎn)品的評分.兩個產(chǎn)品的相似度計算公式見1.1.popular算法和random算法的原理與IBCF算法大致相同,其推薦步驟也是兩步,而三者之間僅是計算相似度對象的不同.
通過3種推薦算法,以及不同的K值(推薦個數(shù),K取值為:3、5、10、15、20、30)的情況下,得出查準率與查全率的計算結(jié)果.由圖1可明顯看出,popular算法要優(yōu)于其他兩種算法.
圖1 產(chǎn)品預測的查準率-查全率Fig.1 Precision-recall for product prediction
由表2計算結(jié)果綜合對比可知,popular算法中F1值最大時,選取推薦15個產(chǎn)品做最優(yōu)精準推薦.產(chǎn)品推薦結(jié)果如表3所示(因數(shù)據(jù)過大,僅展示第1位用戶的推薦結(jié)果).
表2 精準推薦算法結(jié)果Tab.2 Results of accurate recommendation algorithm
在構建精準推薦系統(tǒng)過程中,通過用戶的推薦結(jié)果可以發(fā)現(xiàn)部分用戶之間還存在信息需求上的關聯(lián),在數(shù)據(jù)量過大的情況下該精準推薦系統(tǒng)進行了過多不必要的冗雜計算.如果僅依靠推薦指數(shù)來計算用戶或物品的相似度,而未考慮用戶本身的興趣,在數(shù)據(jù)量龐大的情況下,推薦指數(shù)的矩陣過于稀疏,從而難以保證推薦的準確性.
因此在明確該精準推薦系統(tǒng)可行的情況下,根據(jù)用戶對電視產(chǎn)品的需求與相關度,可以對用戶和電視產(chǎn)品分別貼標簽后進行打包推薦[6].隨著互聯(lián)網(wǎng)大數(shù)據(jù)時代的到來,用戶識別信息與獲取信息的方式發(fā)生了顯著變化,大數(shù)據(jù)時代下能夠更快速地了解用戶的偏好與興趣,社會化標簽允許用戶對電視產(chǎn)品進行偏好選擇,因此標簽可以作為推薦系統(tǒng)中用戶信息與產(chǎn)品信息的重要補充而應用于標簽打包推薦中.
表3 產(chǎn)品推薦結(jié)果(部分)Tab.3 Results of product recommendation (partial)
對相似偏好用戶產(chǎn)品的打包推薦,需要先對相似偏好的用戶進行分類(貼用戶標簽),再對電視節(jié)目產(chǎn)品進行打包(貼產(chǎn)品標簽)[7].打包推薦最需要注意的是給用戶和產(chǎn)品貼標簽的過程中,最大程度發(fā)揮標簽的價值.
對于用戶收視數(shù)據(jù)進行打包貼標簽過程中,尤其值得注意的是,用戶的收視數(shù)據(jù)并沒有將用戶的偏好產(chǎn)品詳細展現(xiàn)出來,僅展示了用戶播放的頻道與收看時間.此時,就需要運用網(wǎng)絡爬蟲技術根據(jù)頻道及時間得到相應播放產(chǎn)品的類型[8].
首先,通過用戶收視數(shù)據(jù)中用戶收看電視的開始時間與結(jié)束時間得到收看時長,取時長超過10 min的播放信息為有效信息,再運用網(wǎng)絡爬蟲技術,訪問http://www.haoqu.net/zhibo等網(wǎng)站,對這些網(wǎng)站進行數(shù)據(jù)挖掘,可以得到用戶收看的電視臺對應時間段中,播放電視產(chǎn)品的類型信息.再對用戶數(shù)據(jù)打包,將標簽分為3個等級:一級標簽為收視偏好;二級標簽在一級標簽基礎上,細分了收視偏好涉及的產(chǎn)品類型,如電視劇、電影、娛樂、新聞、教育、生活、綜藝、運動等;三級標簽是在二級標簽的基礎上進行更進一步地劃分,如粵語、劇情、動畫、資訊、學習、音樂、娛樂、財經(jīng)、體育、紀錄、軍旅、古裝、真人秀、購物、搞笑、3D、動作、家庭、愛情等.
對產(chǎn)品數(shù)據(jù)的打包貼標簽過程中,將標簽分為4個等級:一級標簽對應的是基本特征,二至四級標簽依據(jù)產(chǎn)品對應的性質(zhì)從最具標志的性質(zhì)起,貼上相應的劇情、喜劇、動作、愛情等標簽.產(chǎn)品數(shù)據(jù)標簽如表4所示,由于數(shù)據(jù)量過大,故僅作部分展示.
表4 產(chǎn)品標簽表(部分)Tab.4 Product label list (partial)
運用與產(chǎn)品精準營銷推薦相似的模型評測方法,可得如圖2所示的評價指標圖,其中根據(jù)計算結(jié)果選擇IBCF算法(圖中可看出該算法曲線明顯優(yōu)于其他兩種算法).
產(chǎn)品模型評價指標如表5所示,由計算結(jié)果綜合對比可以知道,IBCF算法中F1值最大時,選取推薦3個產(chǎn)品包做最優(yōu)打包推薦,結(jié)果如表6所示(因數(shù)據(jù)過大,僅展示1個用戶包的推薦數(shù)據(jù)).
圖2 打包后產(chǎn)品預測的查準率-查全率Fig.2 Precision-recall for packaged product prediction
表5 打包推薦算法結(jié)果Tab.5 Results of packaged recommendation algorithm
表6 打包推薦結(jié)果(部分)Tab.6 Results of packaged recommendation (partial)
通過精準推薦與打包推薦所得的結(jié)果,可以發(fā)現(xiàn)兩者有一定程度的相似,例如用戶10040的推薦產(chǎn)品里面就有相似的幾個產(chǎn)品:“射雕英雄傳”、“踩過界”等,但也有一半以上不同.兩種推薦所得的結(jié)果差異較大,可知精準推薦系統(tǒng)確實進行了過多不必要的冗雜計算,導致推薦結(jié)果準確度不高.
根據(jù)已知精準推薦與打包推薦算法選擇的結(jié)果,精準推薦:P=0.13,R=0.19,F1=0.16;打包推薦:P=0.98,R=0.20,F1=0.39.在查準率、查全率以及綜合評價指標三個評價指標數(shù)據(jù)的對比中,打包推薦明顯優(yōu)于精準推薦,其中查準率的值大幅提高,綜合評價指標的值增長兩倍,查全率的值上調(diào).
綜合上述對比,可以知道打包推薦、精準推薦的結(jié)果與預期理論描述結(jié)果一致,打包推薦優(yōu)于精準推薦,能夠一定程度上彌補精準推薦的不足,可作為用戶信息與產(chǎn)品信息聯(lián)系上的補充,給用戶提供更精準的推薦結(jié)果.
隨著電子商務的高速發(fā)展和普及應用,個性化推薦系統(tǒng)已成為一個重要研究領域.但其發(fā)展確實面臨著3個主要挑戰(zhàn):推薦精度不足、個性化程度較低、受干擾信息影響大[9].本文對用戶和產(chǎn)品分別進行興趣標簽的打包,針對打包的結(jié)果進行推薦算法的研究,解決了推薦系統(tǒng)對用戶興趣標簽的不準確定位的問題.
本推薦系統(tǒng)主要研究了基于產(chǎn)品的協(xié)同過濾推薦算法的實現(xiàn).通過該推薦系統(tǒng),讀者可以自行運用所得的產(chǎn)品信息與用戶信息,找到產(chǎn)品與產(chǎn)品之間的聯(lián)系、用戶與用戶之間的聯(lián)系,得出用戶與產(chǎn)品之間的相關系數(shù),找到相應匹配的推薦算法與推薦個數(shù).最后,可以根據(jù)推薦算法與推薦個數(shù),得到最終按相似度排名的打包推薦結(jié)果.
打包推薦將基于產(chǎn)品的協(xié)同過濾算法做了進一步優(yōu)化,未來可針對降低算法的復雜度進行研究,提高該算法的運行效率,使該推薦系統(tǒng)進一步得到改善.