蘇啟琛 蘇洋
摘要:為解決傳統(tǒng)協(xié)同過濾推薦算法與基于內(nèi)容的推薦算法對(duì)生鮮產(chǎn)品推薦效果不好的問題,分析了生鮮產(chǎn)品的特點(diǎn),提出一種基于內(nèi)容的生鮮產(chǎn)品推薦算法。該算法將生鮮產(chǎn)品的產(chǎn)品名作為關(guān)鍵詞,利用關(guān)鍵詞在成品菜做法文本中出現(xiàn)的頻率,將關(guān)鍵詞的向量空間表示作為成品菜的特征,然后根據(jù)用戶的購買記錄,創(chuàng)建基于成品菜評(píng)分的用戶模型,將用戶模型中評(píng)分的Top-N成品菜過濾出來,最后取過濾后的成品菜中的生鮮產(chǎn)品推薦給用戶。通過實(shí)例驗(yàn)證了所提出的算法對(duì)比傳統(tǒng)的協(xié)同過濾算法,精確性至少提高了13.9%,覆蓋率至少提高了260%。
關(guān)鍵詞:基于內(nèi)容推薦;生鮮產(chǎn)品;協(xié)同過濾算法;用戶模型;向量空間模型
中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)28-0189-03
Abstract: To solve the problem that the traditional collaborative filtering recommendation algorithm and the content-based recommendation algorithm are not good for the recommendation of fresh products, the characteristics of fresh products are analyzed, and a content-based fresh product recommendation algorithm is proposed. The product name of the fresh product is used as a keyword, the frequency of the keyword in the text of the finished product practice is used to construct the vector space representation of the keyword as the feature of the finished product, and then a user model based on the finished product according to the user's purchase record is created, the Top-N finished dishes rated in the user model is filtered out, and finally the fresh products in the filtered finished dishes is recommended to the user. The example verifies that the proposed algorithm is at least 13.9% more accurate than the traditional collaborative filtering algorithm, and the coverage is increased by at least 260%.
Key words: content-based recommendation; fresh products; collaborative filtering algorithm; user model; vector space model
1引言
據(jù)統(tǒng)計(jì),2017年生鮮市場(chǎng)交易規(guī)模達(dá)17897億元,生鮮電商市場(chǎng)交易規(guī)模為1418億元,線上滲透率僅7.9%,預(yù)計(jì)到2020年,線上滲透率將達(dá)21.7%[1]。近幾年,國內(nèi)多家互聯(lián)網(wǎng)企業(yè)都加快了在生鮮電商領(lǐng)域的布局,相繼推出或投資了眾多生鮮電商平臺(tái),如阿里巴巴的盒馬生鮮、美團(tuán)的小象生鮮、京東的京東到家、騰訊投資的每日優(yōu)鮮等。如何讓用戶快速地在眾多的生鮮產(chǎn)品中找到自己喜歡的產(chǎn)品,對(duì)各個(gè)生鮮電商平臺(tái)都是一個(gè)挑戰(zhàn)。推薦系統(tǒng)作為解決用戶個(gè)性化需求和信息過載之間矛盾的解決方案[2],其核心的推薦算法未來會(huì)逐漸成為生鮮電商領(lǐng)域的研究重點(diǎn)。
目前,主流的推薦系統(tǒng)有協(xié)同過濾模型、基于內(nèi)容的推薦系統(tǒng)及混合推薦系統(tǒng)等[3,4]。協(xié)同過濾算法通過過濾目標(biāo)用戶的次要信息,并利用其他相關(guān)用戶回饋的有用信息來計(jì)算用戶之間的相似度,以此對(duì)目標(biāo)用戶進(jìn)行推薦[5];基于內(nèi)容的推薦算法依賴物品和用戶的描述內(nèi)容來構(gòu)建其特征表示,進(jìn)而推薦與目標(biāo)用戶曾明確表達(dá)過喜好的物品相類似的物品[6];混合系統(tǒng)則是混合了多種推薦算法的一種推薦系統(tǒng)。近幾年,國內(nèi)許多學(xué)者提出了一些新穎的推薦算法,比如曾安等人提出的融合了LSTM和PMF的推薦算法[7],該算法基于用戶評(píng)分學(xué)習(xí)用戶特征,融入深度挖掘輔助信息進(jìn)行推薦;張凱輝等人提出的結(jié)合CFDP與時(shí)間因子的協(xié)同過濾推薦算法[8],該算法使用CFDP算法對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,將時(shí)間因子的權(quán)重加入預(yù)測(cè)評(píng)分的計(jì)算中,依靠新的預(yù)測(cè)評(píng)分進(jìn)行推薦;王運(yùn)等人提出的融合用戶偏好和物品相似度的概率矩陣分解推薦算法[9],該算法將用戶相似度、物品相似度與用戶物品評(píng)分矩陣融入概率矩陣分解模型中進(jìn)行評(píng)分預(yù)測(cè),然后進(jìn)行推薦。這些算法均在某種維度下提高了推薦的準(zhǔn)確率,但是以上算法無法有效地應(yīng)用于生鮮產(chǎn)品的推薦,因?yàn)樯r產(chǎn)品缺乏文本信息描述,很難挖掘輔助信息,且生鮮產(chǎn)品稀疏性大,用戶交互矩陣通常也會(huì)非常稀疏[10],導(dǎo)致推薦效果往往不好。為了解決這個(gè)問題,本文提出了一種基于內(nèi)容的生鮮產(chǎn)品推薦算法,將生鮮產(chǎn)品的向量空間表示作為成品菜的特征,根據(jù)用戶的購買記錄,創(chuàng)建基于成品菜評(píng)分的用戶模型,取相似度高的成品菜中的生鮮產(chǎn)品進(jìn)行推薦。實(shí)驗(yàn)結(jié)果表明對(duì)比傳統(tǒng)的協(xié)同過濾算法,精確性至少提高了13.9%,覆蓋率至少提高了260%。
2算法介紹
2.1 數(shù)據(jù)預(yù)處理
成品菜的做法文本一般由原材料與做法組成,可用如下表1表現(xiàn),由表1可看出,材料中可能會(huì)存在一些產(chǎn)品是不需要推薦或者用戶不會(huì)去購買的,比如水,可在數(shù)據(jù)預(yù)處理階段將這些材料刪除,這樣不僅可以減少后續(xù)產(chǎn)品權(quán)重計(jì)算量,還可以避免這些產(chǎn)品對(duì)關(guān)鍵詞權(quán)重的影響。為了使產(chǎn)品名可作為成品菜的關(guān)鍵詞,還需將材料名保持和產(chǎn)品名一致,比如表1中的大蒜,生鮮電商平臺(tái)上叫蒜頭,需將材料名與做法中出現(xiàn)的該材料改為平臺(tái)中商品名,改完后如表2:
2.2關(guān)鍵詞的向量空間模型
向量空間模型[11]是一個(gè)文本文檔的空間表示方法。在該模型中,每個(gè)文檔被表示成一個(gè)N維空間中的向量,每一維對(duì)應(yīng)給定文檔集合詞匯表中的一個(gè)詞[6]。
本算法中,生鮮產(chǎn)品的產(chǎn)品名作為關(guān)鍵詞,每個(gè)成品菜做法的文本描述被表示成關(guān)鍵詞權(quán)重的向量,該權(quán)重表示該成品菜與生鮮產(chǎn)品的關(guān)聯(lián)度。首先計(jì)算出第j個(gè)成品菜與第k個(gè)生鮮產(chǎn)品的TF-IDF[12](term frequency–inverse document frequency),公式如下:
2.4算法步驟
1)根據(jù)平臺(tái)在售的生鮮產(chǎn)品,對(duì)成品菜做法文本進(jìn)行預(yù)處理;
2)計(jì)算得出成品菜的關(guān)鍵詞向量空間;
3)計(jì)算得出用戶的內(nèi)容特征向量;
4)計(jì)算得出用戶評(píng)分的Top-N成品菜;
5)將Top-N成品菜中生鮮產(chǎn)品推薦給用戶。
3實(shí)驗(yàn)分析
3.1數(shù)據(jù)集
本文算法所用成品菜做法文本來自香哈網(wǎng),生鮮產(chǎn)品及用戶購買記錄來自廣東禧越網(wǎng)絡(luò)科技有限公司,以上組合而成的數(shù)據(jù)集包含169種粵菜的成品菜做法,934種生鮮產(chǎn)品及1473名真實(shí)用戶的8851條購買記錄。
3.2評(píng)價(jià)指標(biāo)
3.3仿真實(shí)驗(yàn)與對(duì)比分析
3.3.1參數(shù)設(shè)置
本算法將實(shí)驗(yàn)數(shù)據(jù)中的購買記錄分為兩部分,第一部分4851條數(shù)據(jù),用于計(jì)算推薦算法評(píng)估的用戶對(duì)生鮮產(chǎn)品評(píng)分,第二部分4000條數(shù)據(jù)用于驗(yàn)證推薦的精確性。觀察成品菜做法文本可看出,材料中的輔料與調(diào)料占很大比例,而且這些材料是購買頻次較低的,本文選取30%作為判斷用戶是否喜歡該成品菜的臨界點(diǎn),即若:
因?yàn)楸疚牟捎玫氖怯脩魧?duì)生鮮產(chǎn)品的隱性評(píng)分,在均方根誤差(RMSE)計(jì)算中,定義第二部分?jǐn)?shù)據(jù)中,用戶u購買過成品菜j中材料不小于30%,則對(duì)成品菜j中的生鮮產(chǎn)品真實(shí)評(píng)分ruj為1,否則真實(shí)評(píng)分為0。
3.3.2推薦效果對(duì)比
本文將傳統(tǒng)協(xié)同過濾推薦算法與本文算法在數(shù)據(jù)集上進(jìn)行Top-N(N=3,5,7,10)推薦評(píng)價(jià)指標(biāo)對(duì)比,精確性取數(shù)據(jù)集中所有用戶的平均值,精確性與覆蓋率結(jié)果如圖1與圖2所示。
可以看出,本文提出的基于內(nèi)容的生鮮產(chǎn)品推薦算法精確性的曲線較平穩(wěn),精確性比傳統(tǒng)協(xié)同過濾算法至少提高了13.9%。因?yàn)楸菊撐挠沙善凡顺霭l(fā)推薦生鮮產(chǎn)品給用戶,在同樣的N值下,成品菜包含的生鮮產(chǎn)品要比單品推薦多,覆蓋率比傳統(tǒng)協(xié)同過濾算法至少提升了260%。
4結(jié)論
本文提出了一種基于內(nèi)容的生鮮產(chǎn)品推薦算法,將生鮮產(chǎn)品名作為關(guān)鍵詞,關(guān)鍵詞的向量空間表示作為成品菜的特征,通過用戶購買記錄,計(jì)算得出用戶對(duì)成品菜的評(píng)分,將評(píng)分最高的Top-N成品菜中的生鮮產(chǎn)品推薦給用戶。對(duì)比試驗(yàn)表明,本算法與傳統(tǒng)的協(xié)同過濾推薦算法相比,推薦的精確性與覆蓋率都有一定的提高。因基于內(nèi)容的推薦算法是利用用戶之前的評(píng)分給出推薦,對(duì)新用戶具有冷啟動(dòng)問題,而且基于內(nèi)容的推薦算法存在過度特化[3]的問題,推薦的內(nèi)容缺乏新穎性。未來計(jì)劃在生成用戶對(duì)成品菜的評(píng)分之后,加入?yún)f(xié)同過濾算法,組合成混合推薦系統(tǒng),以及提取更多的成品菜特征來解決上述兩個(gè)問題。
參考文獻(xiàn):
[1] 李倩舒.生鮮新零售可持續(xù)發(fā)展模式探析——基于盒馬鮮生和小象生鮮的案例分析[J].江蘇商論,2020(4):16-18.
[2] 彭浩,佃松宜.基于改進(jìn)FP-growth的用戶興趣推薦算法的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2020,37(2):8-13.
[3] Charu.推薦系統(tǒng):原理與實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2018.
[4] 黃昕,趙偉,王本友.推薦系統(tǒng)與深度學(xué)習(xí)[M].北京:清華大學(xué)出版社,2019.
[5] Chen YN,Yu M.A hybrid collaborative filtering algorithm based on user-item[J].2010InternationalConferenceonComputationalandInformationSciences,2010:618-621.
[6]Francesco Ricci,LiorRokach,BrachaShapira.推薦系統(tǒng)技術(shù)、評(píng)估及高效算法[M].北京: 機(jī)械工業(yè)出版社,2018:77-81.
[7]曾安,趙恢真. 融合了LSTM和PMF的推薦算法[J]. 計(jì)算機(jī)工程與應(yīng)用,2020,4:11.
[8] 張凱輝,周志平,趙衛(wèi)東.結(jié)合CFDP與時(shí)間因子的協(xié)同過濾推薦算法[J].計(jì)算機(jī)工程與應(yīng)用,2020,56(15):80-85.
[9] 王運(yùn),倪靜.融合用戶偏好和物品相似度的概率矩陣分解推薦算法[J].小型微型計(jì)算機(jī)系統(tǒng),2020,41(4):746-751.
[10] 張浩博,薛峰,劉凱. 基于半自動(dòng)編碼器的協(xié)同過濾推薦算法[J]. https://doi.org/10.19678/j.issn.1000-3428.0056700
[11] 吳龍峰,于瓅,王峰.向量空間模型的文本分類研究進(jìn)展與應(yīng)用[J].宿州學(xué)院學(xué)報(bào),2019,34(12):69-72,76.
[12] 張波,黃曉芳.基于TF-IDF的卷積神經(jīng)網(wǎng)絡(luò)新聞文本分類優(yōu)化[J].西南科技大學(xué)學(xué)報(bào),2020,35(1):64-69.
[13] 李文俊.時(shí)間感知的推薦算法研究[D].成都:電子科技大學(xué),2017.
[14] Shu JB,ShenXX,LiuH,et al.A content-based recommendation algorithm for learning resources[J].Multimedia Systems,2018,24(2):163-173.
[15] Fleder D M,Hosanagar K.Recommender systems and their impact on sales diversity[C]//Proceedings of the 8th ACM conference on Electronic commerce -EC '07.June 11-15,2007.SanDiego,California,USA.NewYork:ACM Press,2007:192-199.
【通聯(lián)編輯:梁書】