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