金銘 李俊
摘 要:在商品推薦領(lǐng)域,商品評(píng)論信息往往難以得到有效利用。為了充分利用商品評(píng)論信息,提高商品推薦系統(tǒng)精度,對(duì)NCF神經(jīng)網(wǎng)絡(luò)協(xié)同過濾模型進(jìn)行改進(jìn),將NCF模型與Inception結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出基于Inception結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)協(xié)同過濾方法(NCF-i模型),將商品評(píng)論信息融入模型進(jìn)行預(yù)測和推薦。首先基于Inception結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)對(duì)商品評(píng)論信息進(jìn)行分析并提取多元特征模型,然后將多元特征模型添加到NCF模型中,通過多層全連接層獲取用戶、商品及商品評(píng)論之間的非線性關(guān)系,最后基于此非線性關(guān)系對(duì)商品進(jìn)行預(yù)測和推薦。通過基于真實(shí)數(shù)據(jù)集的實(shí)驗(yàn)證明,應(yīng)用NCF-i模型的推薦算法,推薦系統(tǒng)的預(yù)測精度和穩(wěn)定性均優(yōu)于當(dāng)前常用的推薦模型。
關(guān)鍵詞:協(xié)同過濾模型;商品評(píng)論;商品推薦;Inception結(jié)構(gòu);神經(jīng)網(wǎng)絡(luò)
DOI:10. 11907/rjdk. 192226 開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號(hào):TP312文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2020)007-0050-06
An Neural Collaborative Filtering Recommendation Algorithm
Based on Inception Structure
JIN Ming, LI Jun
(School of Computer and Artificial Intelligence, Wenzhou University, Wenzhou 325035, China)
Abstract: In the field of product recommendation, product review information is often difficult to be used effectively. In order to make full use of commodity review information and improve the accuracy of commodity recommendation system, this paper improves the neural network collaborative filtering model of neural collaborative filtering(NCF), combines the NCF model with the convolutional neural network of Inception structure, and proposes a neural network based on Inception structure. The collaborative filtering method (NCF-i model) integrates product review information into the model for prediction and recommendation. The method firstly analyzes the commodity review information based on the convolutional neural network of Inception structure and extracts its multi-feature model. Then, the multi-feature model is added to the NCF model to obtain users, commodities and commodity reviews through multiple layers of all-connected layers. The nonlinear correlation between the two is based on this nonlinear relationship to predict and recommend commodities. Through the experiment based on the real data set, the recommended algorithm of the NCF-i model is applied, and the prediction accuracy and stability of the recommendation system are better than the currently recommended models.
Key Words: collaborative filtering model; commodity review; product recommendation;inception structure; neural network
0 引言
全球每時(shí)每刻都產(chǎn)生著海量信息。如何從浩如煙海的信息中獲取滿足用戶需求的信息是計(jì)算機(jī)領(lǐng)域的研究熱點(diǎn)。為解決信息獲取問題,計(jì)算機(jī)領(lǐng)域提出了兩種方案,即門戶網(wǎng)站和搜索引擎。前者的代表是雅虎公司,雅虎憑借門戶網(wǎng)站迅速在計(jì)算機(jī)領(lǐng)域占據(jù)一席之地,而像hao123等門戶網(wǎng)站也曾風(fēng)靡一時(shí),成為中國早期網(wǎng)民的不二之選。但是由于門戶網(wǎng)站只能包含有限個(gè)目錄,而互聯(lián)網(wǎng)上的信息斑駁復(fù)雜,使得門戶網(wǎng)站無法滿足用戶需求,這促使了搜索引擎的崛起。搜索引擎的代表是谷歌和百度,用戶可以自己描述需求,使用搜索引擎服務(wù)查找到所需要的信息。但是當(dāng)用戶無法準(zhǔn)確描述需求的時(shí)候,搜索引擎便無法有效地提供服務(wù)。因此,能根據(jù)用戶行為推薦滿足用戶個(gè)性化需求的推薦系統(tǒng)應(yīng)運(yùn)而生,在電商網(wǎng)站、新聞網(wǎng)站、視頻網(wǎng)站等領(lǐng)域都可以看到推薦系統(tǒng)的影子[1]。
傳統(tǒng)的推薦方法主要有3種:基于內(nèi)容推薦的方法、基于協(xié)同過濾的方法和基于混合推薦的方法?;趦?nèi)容的推薦方法,是根據(jù)用戶的行為歷史,比如用戶已經(jīng)收藏或購買的項(xiàng)目推薦相似的項(xiàng)目。該方法缺點(diǎn)在于,項(xiàng)目的特征需要人工提取,花費(fèi)大量成本效果卻不理想;基于協(xié)同過濾方法,是基于相似的用戶有相似的興趣假設(shè),根據(jù)與該用戶相似的用戶所購買或收藏的項(xiàng)目給用戶推薦項(xiàng)目。該方法缺點(diǎn)是容易產(chǎn)生冷啟動(dòng)(系統(tǒng)使用初期缺乏數(shù)據(jù),無法進(jìn)行推薦)、數(shù)據(jù)稀疏(一個(gè)用戶所評(píng)分過的項(xiàng)目占所有項(xiàng)目的比重很?。┖蜔o法學(xué)習(xí)到深層特征問題?;诨旌贤扑]的方法融合了協(xié)同過濾和基于內(nèi)容推薦兩種方法的結(jié)果,提高了推薦精度[2]。
進(jìn)入21世紀(jì)以來,由于算法水平和硬件水平的大幅度提高,深度學(xué)習(xí)技術(shù)得到了里程碑式的發(fā)展。由于深度學(xué)習(xí)具有非線性結(jié)構(gòu),有強(qiáng)大的特征提取能力,可以很好地克服傳統(tǒng)推薦算法中的冷啟動(dòng)、數(shù)據(jù)稀疏和提取特征困難等問題。因此,以深度學(xué)習(xí)為基礎(chǔ)的推薦系統(tǒng)是未來推薦系統(tǒng)發(fā)展方向。
1 相關(guān)工作
目前,國內(nèi)外許多學(xué)者已經(jīng)在該領(lǐng)域做了大量的工作。Ricci[3-4]建議將評(píng)論意見用于產(chǎn)品描述和用戶行為研究,他相信商品評(píng)論可廣泛應(yīng)用于推薦系統(tǒng),并可提供更佳的建議;Aciar S、 Zhang D、Simoff S等[5]在Ricci工作的基礎(chǔ)上,提出了一種排序機(jī)制將商品評(píng)論應(yīng)用于推薦系統(tǒng)。Chen L等[6]對(duì)于基于評(píng)論的推薦系統(tǒng)兩個(gè)方面:基于評(píng)論的用戶配置文件構(gòu)建以及基于評(píng)論的產(chǎn)品概要構(gòu)建做了詳細(xì)描述,探討了基于評(píng)論的推薦系統(tǒng)發(fā)展趨勢;Zhang Z等[7]提出一種新的基于內(nèi)存協(xié)同過濾方法,稱為urCF(用戶評(píng)論增強(qiáng)協(xié)同過濾),可以從網(wǎng)絡(luò)評(píng)論中提取用戶對(duì)單項(xiàng)特征的評(píng)價(jià),有效提高了協(xié)同過濾效果;Xu J等[8]提出了一種新的個(gè)性化推薦模型,即基于主題模型的協(xié)同過濾(TMCF),利用擴(kuò)展的文檔主題模型為每個(gè)評(píng)審生成主題分配,然后獲得每個(gè)用戶的偏好,在很大程度上緩解了稀疏性問題,獲得了良好效果;S Raghavan等[9]探討了在評(píng)價(jià)中附加權(quán)重或質(zhì)量分?jǐn)?shù)的同時(shí)進(jìn)行協(xié)同過濾的可能性。在進(jìn)行協(xié)同過濾時(shí),利用相應(yīng)的評(píng)論數(shù)據(jù)確定質(zhì)量分?jǐn)?shù),對(duì)個(gè)體評(píng)分的重要性進(jìn)行增權(quán)或減權(quán),從而提高預(yù)測的準(zhǔn)確性。
盡管上述方法取得了一定的成功,但它們都基于傳統(tǒng)的因子分解模型對(duì)未知項(xiàng)目(item)的評(píng)分進(jìn)行預(yù)測,因此無法捕獲用戶與商品之間復(fù)雜的非線性相關(guān)信息。 針對(duì)這一問題,He等[10]提出了一種神經(jīng)網(wǎng)絡(luò)協(xié)同過濾模型(Neural Collaborative Filtering,NCF),該模型使用神經(jīng)網(wǎng)絡(luò)表示用戶和項(xiàng)目之間的非線性關(guān)系,提供一種將深度學(xué)習(xí)應(yīng)用于推薦系統(tǒng)的新思路。與FM(factorization machine)因子分解機(jī)模型相比,NCF模型具有更好的表現(xiàn)能力,能更好地獲取用戶與項(xiàng)目之間隱含的關(guān)系。但是,NCF只利用用戶對(duì)項(xiàng)目的評(píng)分信息,卻沒有考慮對(duì)項(xiàng)目評(píng)論等文本信息進(jìn)行處理和利用,而文本評(píng)價(jià)往往比簡單評(píng)分擁有更多的潛在信息,并且更能體現(xiàn)用戶的個(gè)性化偏好。本文在NCF基礎(chǔ)上,提出一種基于Inception結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)協(xié)同過濾方法(NCF-i模型)。該方法首先基于Inception結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)對(duì)商品評(píng)論信息進(jìn)行分析并提取多元特征模型,然后將該多元特征模型添加到NCF神經(jīng)網(wǎng)絡(luò)協(xié)同過濾模型中,通過多層全連接層獲取用戶、商品和商品評(píng)論之間的非線性關(guān)系,最終基于此非線性關(guān)系對(duì)商品進(jìn)行預(yù)測和推薦。
2 NCF-i模型
常用的NCF模型需要首先將user的id和item的id進(jìn)行詞嵌入,之后將user的id嵌入層與item的id嵌入層進(jìn)行拼接組成特征層,然后再經(jīng)過多層全連接層讓user的特征和item的特征充分組合,最后輸出評(píng)分。由于在全連接層輸出時(shí)會(huì)使用非線性的激活函數(shù)進(jìn)行激活,因此NCF模型具有更好的表現(xiàn)能力[11]。
本文針對(duì)商品評(píng)論的文本中包含用戶對(duì)于商品的喜好特點(diǎn),在NCF模型的基礎(chǔ)上構(gòu)建了添加商品評(píng)論的NCF -i模型,NCF -i模型結(jié)構(gòu)如圖1所示。
下面對(duì)Inception結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)處理商品評(píng)論的方法和原理作詳細(xì)說明,對(duì)NCF -i模型的算法實(shí)現(xiàn)細(xì)節(jié)進(jìn)行詳細(xì)介紹。
2.1 詞嵌入
當(dāng)對(duì)商品評(píng)論文本進(jìn)行處理時(shí),首先應(yīng)該選擇合適的模型對(duì)文本進(jìn)行表達(dá)。傳統(tǒng)的機(jī)器學(xué)習(xí)方法在處理文本數(shù)據(jù)時(shí),通常使用詞袋模型[12]進(jìn)行文本表達(dá),但詞袋模型往往具有維度高、數(shù)據(jù)稀疏等特點(diǎn),無法作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,因此使用詞嵌入[13]的方法進(jìn)行文本表達(dá)。詞嵌入就是通過將詞語映射到固定的維度獲得一個(gè)維度低、數(shù)據(jù)稠密的詞向量模型。因此,可以通過詞嵌入的方法對(duì)文本進(jìn)行處理,將其轉(zhuǎn)化為維度大小為句子長度與詞嵌入維度乘積的二維矩陣。例如可以將文本“canned dog food products”(罐裝狗糧商品)進(jìn)行詞嵌入后轉(zhuǎn)化為如下矩陣,如圖2所示。
2.2 卷積與池化
有了詞嵌入模型便可以應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)對(duì)商品評(píng)論進(jìn)行文本處理。卷積神經(jīng)網(wǎng)絡(luò)最關(guān)鍵的操作就是卷積和池化。卷積操作就是卷積核依次滑過輸入層,與輸入層對(duì)應(yīng)的矩陣做內(nèi)積,最終將結(jié)果映射到輸出層的過程。卷積神經(jīng)網(wǎng)絡(luò)由于卷積核的參數(shù)共享,有效減少了需要訓(xùn)練的參數(shù)個(gè)數(shù)。在進(jìn)行卷積操作時(shí),設(shè)定卷積核的深度等于輸入層的深度,輸出層的深度與卷積核的個(gè)數(shù)相等。
在使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)文本進(jìn)行分析時(shí),由于每個(gè)詞語都由詞嵌入層的一整行數(shù)據(jù)表示,因此需要讓卷積核的寬度和詞嵌入的維度相等,否則就無法提取到每個(gè)單詞的全部信息[15],如圖3所示。
在圖3中使用的卷積核寬度為2,步長為1,卷積操作后映射成一個(gè)一維向量。由于進(jìn)行文本預(yù)處理時(shí)會(huì)將長文本進(jìn)行截短,對(duì)短文本用占位符進(jìn)行填充,因此在使用卷積神經(jīng)網(wǎng)絡(luò)時(shí)無需對(duì)輸入矩陣進(jìn)行0填充。
文本向量在使用卷積核進(jìn)行卷積操作后得到的文本向量維度為:
文本向量維度 = 句子長度 - 卷積核大小 + 1
為了充分提取到商品文本特征,本文使用Inception結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)[16]。Inception結(jié)構(gòu)使用多個(gè)大小不同的濾波器對(duì)輸入層做卷積和池化操作,之后將得到的映射在深度維度進(jìn)行拼接。經(jīng)過這樣并行的卷積和池化操作可以提取到卷積層的不同特征。簡單的卷積神經(jīng)網(wǎng)絡(luò)Inception結(jié)構(gòu)如圖4所示。
在圖4中,分別使用1*1的卷積核、3*3的卷積核和5*5的卷積核對(duì)輸入層做卷積,使用3*3的空間窗口對(duì)輸入層做池化,將并行操作得到的輸出層在深度維度上進(jìn)行拼接,作為最終提取到的特征。測試表明,使用了Inception結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)在提取特征方面擁有更高的計(jì)算效率,效果更好。
具體到將卷積神經(jīng)網(wǎng)絡(luò)的Inception結(jié)構(gòu)應(yīng)用到文本處理時(shí),卷積神經(jīng)網(wǎng)絡(luò)可以同時(shí)提取到語言模型中多種N元模型特征。相比傳統(tǒng)方法,即直接計(jì)算文本中的N元模型方法,只能提取到固定的一種N元模型特征[17]。為了獲取到文本的多元模型特征,以期望達(dá)到更好的效果,在對(duì)評(píng)論文本做分析時(shí)使用Inception結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)。
此處的語言模型指,如果某一詞語出現(xiàn)的概率與前面N個(gè)詞相關(guān),則稱其為N元模型。根據(jù)條件概率公式可以得到一元模型的公式(2),其中m為句子中單詞的個(gè)數(shù),P(wi)為第i個(gè)詞語出現(xiàn)的概率:
同理可得二元模型公式為:
三元模型公式為:
本文在文本卷積神經(jīng)網(wǎng)絡(luò)中提取了二元模型、三元模型、四元模型和五元模型特征,即所使用的卷積核寬度分別為{2,3,4,5},而傳統(tǒng)的機(jī)器學(xué)習(xí)方法只能使用一種語言模型[18]。
卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行文本分析時(shí)通常使用最大池化,本文也同樣使用最大池化。
2.3 NCF -i模型算法實(shí)現(xiàn)
搭建好模型后對(duì)NCF -i模型進(jìn)行訓(xùn)練,訓(xùn)練算法如下:
NCF -i模型訓(xùn)練代碼
輸入:[Duser,Ditem,Dreview,Nwindows,Nnerual,Nepochs]
輸出:[Mncfr]
1.? For k to [Nepochs]:
2.? 初始化 [Fuser,F(xiàn)item,F(xiàn)review,F(xiàn)rev_layer,F(xiàn)cov_layer,F(xiàn)combine_layer]特征矩陣,[Mncfi]模型權(quán)重
3. [Fuser,F(xiàn)item,F(xiàn)review=Embedding(Duser,Ditem,Dreview)]
4. For w to [Nwindows]:
5. [Fwcov_layer=Conv(Freview,w)]
6. [Frev_layer=Frev_layer+Fwcov_layer]
7. [Fcombine_layer=Fuser+Fitem+Frev_layer]
8.? ? For i to [Nnerual]:
9. [Mi+1ncfr=FullConnect(Fcombine_layer,Mincfr)]
10. [Loss=CrossEntropy(M-1ncfr)]
11. [M'ncfr=Min_AdamOptimizer(Loss,Mncfr)]
12. 返回[Mncfi]
算法輸入包括[Duser,Ditem,Dreview,Nwindows,Nnerual,Nepochs]分別為用戶數(shù)據(jù)向量、物品向量、評(píng)價(jià)詞向量、卷積核大小向量、全連接層大小向量以及算法運(yùn)行次數(shù)。其中包括Embedding,Conv,F(xiàn)ullConnect,CrossEntropy,AdamOptimizer,它們分別是Embedding 為詞嵌入映射函數(shù),把來自數(shù)據(jù)集的數(shù)據(jù)D映射到特性空間中F.Conv 為卷積函數(shù),根據(jù)卷積核w把數(shù)據(jù)[Freview]映射到卷積層[Fwcov_layer];FullConnect 為全連接層,把上一層特征[Mincfr]權(quán)重輸出到下一層[Mi+1ncfr];CrossEntropy 為交叉熵?fù)p失函數(shù),通過[M-1ncfr]神經(jīng)網(wǎng)絡(luò)最后一層的輸出計(jì)算交叉熵;Min_AdamOptimizer 為優(yōu)化函數(shù),通過最小化交叉熵獲取合適的模型權(quán)重。最后NCF -i算法返回模型權(quán)重矩陣[Mncfi]。
實(shí)驗(yàn)中,為了與提出的NCF -i模型進(jìn)行比較分析,使用應(yīng)用了商品評(píng)論的推薦模型、FM模型以及一般的NCF模型進(jìn)行對(duì)比。使用的一般NCF模型如圖5所示。
使用已有的應(yīng)用了商品評(píng)論的推薦模型是基于物品的協(xié)同過濾方法,根據(jù)評(píng)論對(duì)商品進(jìn)行聚類,之后根據(jù)聚類結(jié)果,計(jì)算商品最近鄰居的平均得分預(yù)測商品得分
3 NCF -i模型實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析
3.1 NCF -i模型實(shí)驗(yàn)數(shù)據(jù)
亞馬遜是一家電子商務(wù)公司,其對(duì)于推薦系統(tǒng)的研究與發(fā)展發(fā)揮了巨大的推動(dòng)作用。據(jù)亞馬遜前科學(xué)家Andreas Weigend在斯坦福講課時(shí)提到的數(shù)據(jù),亞馬遜有20%-30%的銷售額應(yīng)該歸功于推薦系統(tǒng)。本文使用亞馬遜的食品評(píng)論數(shù)據(jù)集和亞馬遜嬰幼兒商品數(shù)據(jù)集對(duì)模型進(jìn)行訓(xùn)練和測試。兩個(gè)數(shù)據(jù)集格式類似,包括的字段主要內(nèi)容有:ProductId(產(chǎn)品id)、UserId(用戶Id)、helpfulnessNumberator(覺得該評(píng)論有所幫助的用戶數(shù)量)、HelpfulnessDenominator(認(rèn)為該評(píng)論有無幫助的用戶數(shù)目)、Score(用戶對(duì)商品的評(píng)分)、Time(評(píng)論時(shí)間)、Summary(評(píng)論摘要)、Text(評(píng)論文本)等。
3.2 NCF-i模型訓(xùn)練與測試
選取數(shù)據(jù)集中的UserId(用戶Id)作為用戶特征進(jìn)行處理,選取ProductId(商品Id)作為商品特征進(jìn)行處理,同時(shí)考慮模型在不同數(shù)據(jù)集下的泛化能力,而不僅僅是在該數(shù)據(jù)集上的表現(xiàn)。選用Text(評(píng)論文本)作為商品評(píng)論特征,放棄比如helpfulnessNumberator(覺得該評(píng)論有所幫助的用戶數(shù)量)這種會(huì)有較大幫助卻在其它數(shù)據(jù)集上很少見的字段。將UserId、ProductId和Text進(jìn)行數(shù)據(jù)處理后作為輸入,將Score(用戶對(duì)商品的評(píng)分)作為標(biāo)簽,將數(shù)據(jù)劃分為訓(xùn)練集和測試集,使用訓(xùn)練集對(duì)NCF –i模型進(jìn)行訓(xùn)練,使用測試集對(duì)訓(xùn)練好的模型效果進(jìn)行測試。
3.3 NCF-i模型測試結(jié)果
為了驗(yàn)證添加了商品評(píng)論的NCF模型效果,同時(shí)使用一般的NCF模型、傳統(tǒng)的推薦算法FM模型以及應(yīng)用商品評(píng)論的協(xié)同過濾模型作為NCF -i模型進(jìn)行對(duì)比,使用精度對(duì)模型效果進(jìn)行衡量(精度為機(jī)器學(xué)習(xí)模型預(yù)測的用戶對(duì)商品的評(píng)分與用戶對(duì)商品實(shí)際評(píng)分相等的數(shù)據(jù)占總數(shù)據(jù)的比例)。精度定義為:
其中,I(*)為指示函數(shù),當(dāng)*為真時(shí),I取1;當(dāng)*為假時(shí),I取0[19]。
首先對(duì)亞馬遜食品評(píng)論數(shù)據(jù)集進(jìn)行清洗,選取40000條數(shù)據(jù),用該數(shù)據(jù)集對(duì)3個(gè)模型進(jìn)行訓(xùn)練和測試,包括NCF模型、NCF -i模型以及FM模型,觀察NCF -i模型在測試集上的損失率,如圖6所示。橫軸為訓(xùn)練的輪次,縱橫為損失率。結(jié)果發(fā)現(xiàn),損失率在前20輪訓(xùn)練過程中有大幅度下降,之后損失率趨于平緩。
之后查看3種模型經(jīng)過不同輪次的訓(xùn)練后在測試集上的精度對(duì)比,測試結(jié)果如表1所示。
可以觀察到NCF -i模型效果好于FM模型,更好于NCF模型。但是同時(shí)也發(fā)現(xiàn)FM模型的效果似乎更好于NCF模型,為了更好地對(duì)3個(gè)模型的精度進(jìn)行對(duì)比,通過折線圖觀察不同模型在測試集上的精度,模型的橫軸為訓(xùn)練輪次,縱軸為精度,折線圖如圖7所示。
觀察圖7可以發(fā)現(xiàn),雖然FM模型的精度有時(shí)優(yōu)于NCF模型,但FM模型的精度十分不穩(wěn)定,波動(dòng)極大。分析出現(xiàn)該現(xiàn)象的原因,是由于FM模型只能獲取user和item之間的線性相關(guān)關(guān)系,無法獲取非線性關(guān)系。同時(shí)由于數(shù)據(jù)集數(shù)據(jù)比較稀疏,在驗(yàn)證集測試過程中出現(xiàn)了冷啟動(dòng)現(xiàn)象,導(dǎo)致FM模型測試的精度波動(dòng)極大[20]。
將NCF模型與FM模型比較可以看出,NCF模型精度雖然不如FM模型最優(yōu)預(yù)測結(jié)果表現(xiàn)好,但是其預(yù)測精度波動(dòng)小,預(yù)測精度十分穩(wěn)定。分析出現(xiàn)該現(xiàn)象的原因,是由于NCF使用神經(jīng)網(wǎng)絡(luò)的方式獲取user和item之間的相互關(guān)系,而神經(jīng)網(wǎng)絡(luò)使用激活函數(shù)對(duì)網(wǎng)絡(luò)的隱藏層輸出進(jìn)行激活,讓NCF模型具有獲取user和item之間非線性關(guān)系的能力,從而使其在測試集上的精度十分穩(wěn)定。
之后對(duì)應(yīng)用商品評(píng)論的協(xié)同過濾模型在該數(shù)據(jù)集上進(jìn)行訓(xùn)練和測試,模型精度和商品評(píng)論數(shù)目有關(guān)。因此在限制商品擁有的最少評(píng)論數(shù)目條件下,觀察該模型符合要求的商品數(shù)目和模型在測試集上的精度,如表2所示。
從表2可以看到,應(yīng)用商品評(píng)論的協(xié)同過濾模型在考慮全部商品時(shí),模型精度很低,而當(dāng)限制商品擁有的最少評(píng)論數(shù)時(shí),模型精度有了明顯提高,但是符合要求的商品數(shù)目急劇減少。當(dāng)模型精度達(dá)到70%,超過NCF -i模型的穩(wěn)定精度67%~68%時(shí),符合要求的商品數(shù)目僅為91個(gè),為商品總數(shù)的22.09%。由此得到結(jié)論,應(yīng)用商品評(píng)論的協(xié)同過濾模型只對(duì)熱門商品的推薦結(jié)果優(yōu)秀,冷啟動(dòng)問題嚴(yán)重。而NCF -i模型對(duì)于全部商品推薦的精度高于應(yīng)用商品評(píng)論的協(xié)同過濾模型精度,同時(shí)NCF -i模型預(yù)測精度更穩(wěn)定。
為了進(jìn)一步驗(yàn)證結(jié)論,對(duì)亞馬遜嬰幼兒商品評(píng)論數(shù)據(jù)集進(jìn)行同樣操作,用該數(shù)據(jù)集對(duì)3個(gè)模型進(jìn)行訓(xùn)練和測試,觀察NCF -i模型在測試集上的損失率,如圖8所示,橫軸為訓(xùn)練輪次,縱橫為損失率。發(fā)現(xiàn)損失率在前20輪訓(xùn)練過程中有大幅度下降,之后損失率雖有波動(dòng),但逐步趨于平緩。
之后查看3種模型經(jīng)過不同輪次的訓(xùn)練后,在測試集上的精度對(duì)比,測試結(jié)果如表3所示。
為了進(jìn)一步觀察結(jié)果,通過折線圖來觀察不同模型在測試集上的精度,模型橫軸為訓(xùn)練輪次,縱軸為精度,折線圖如圖9所示。
通過觀察圖4可以發(fā)現(xiàn),NCF-i模型的精度遠(yuǎn)高于NCF模型和FM模型,并且其穩(wěn)定性也能保持較好水平。分析出現(xiàn)該現(xiàn)象的原因,是由于NCF-i模型既使用神經(jīng)網(wǎng)絡(luò)的方式獲取user和item之間的非線性關(guān)系,避免了冷啟動(dòng)問題,保持精度的穩(wěn)定性;同時(shí)使用Inception結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡(luò)將商品評(píng)論信息添加到模型中,進(jìn)一步提高了預(yù)測精度。而FM模型只能獲取user和item的線性相關(guān)關(guān)系,冷啟動(dòng)問題嚴(yán)重。并且FM模型和NCF模型都未利用商品評(píng)論信息,因此精度低于NCF-i模型。
之后對(duì)應(yīng)用商品評(píng)論的協(xié)同過濾模型在亞馬遜嬰幼兒商品評(píng)論集上進(jìn)行訓(xùn)練和測試,觀察在限制商品擁有的最少評(píng)論數(shù)目條件下,該模型符合要求的商品數(shù)目和在測試集上的精度,如表4所示。
可以觀察到,即使通過限制商品最少的評(píng)論數(shù)目,有效提高應(yīng)用商品評(píng)論的協(xié)同過濾模型精度,但其精度在不犧牲符合要求的商品數(shù)目前提下都低于NCF -i模型。分析出現(xiàn)該現(xiàn)象的原因,是由于協(xié)同過濾模型受冷啟動(dòng)問題困擾,導(dǎo)致其只對(duì)熱門商品的推薦有較好效果,而NCF-i模型可以有效克服冷啟動(dòng)問題。
3.4 NCF-i模型實(shí)驗(yàn)結(jié)論
通過將NCF模型、FM模型、應(yīng)用商品評(píng)論的協(xié)同過濾模型和NCF-i模型在亞馬遜食品評(píng)論數(shù)據(jù)集和亞馬遜嬰幼兒商品數(shù)據(jù)集上訓(xùn)練和測試,可以發(fā)現(xiàn)與FM模型和NCF模型相比,NCF-i模型不僅在測試集上的預(yù)測精度十分穩(wěn)定,而且精度高出FM模型和NCF模型。與應(yīng)用商品評(píng)論的協(xié)同過濾模型相比,在考慮全部商品的情況下,NCF-i模型精度遠(yuǎn)遠(yuǎn)高于協(xié)同過濾模型,協(xié)同過濾模型只對(duì)熱門商品的推薦效果良好,但冷啟動(dòng)問題嚴(yán)重。這是因?yàn)镹CF-i模型既使用神經(jīng)網(wǎng)絡(luò)獲取user和item之間的非線性相關(guān)關(guān)系,避免了冷啟動(dòng)問題,提高了預(yù)測精度的穩(wěn)定性,而且將使用Inception結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)獲取的商品評(píng)論信息添加到模型中,讓模型能夠獲取user、item和商品評(píng)論之間非線性相關(guān)關(guān)系。可以發(fā)現(xiàn),user對(duì)item的評(píng)論的確包含重要信息,對(duì)于推薦算法能起到重要作用[21]。
4 結(jié)語
由于商品評(píng)論中包含有關(guān)用戶對(duì)商品喜好程度的重要信息,而傳統(tǒng)的推薦算法很難對(duì)商品評(píng)論這類文本有效利用,因此本文基于NCF模型,設(shè)計(jì)了一種能將商品評(píng)論充分利用的NCF-i模型。該模型通過使用Inception結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò),對(duì)商品評(píng)論的文本進(jìn)行分析,提取出文本的二元模型、三元模型、四元模型和五元模型特征,經(jīng)過最大池化后將這些文本特征與user id的嵌入層、item id的嵌入層進(jìn)行拼接得到特征層,之后使用全連接層獲取模型中的非線性相關(guān)關(guān)系,最后輸出模型預(yù)測的商品評(píng)分。
通過觀察NCF模型、FM模型、應(yīng)用商品評(píng)論的協(xié)同過濾模型和NCF-i模型在亞馬遜食品數(shù)據(jù)集和亞馬遜嬰幼兒商品評(píng)論數(shù)據(jù)集上訓(xùn)練和測試的結(jié)果,得到結(jié)論:NCF-i模型精度遠(yuǎn)高于NCF模型、FM模型和應(yīng)用商品評(píng)論的協(xié)同過濾模型,且能保持良好的穩(wěn)定性。推薦系統(tǒng)使用NCF-i模型進(jìn)行離線訓(xùn)練會(huì)得到更優(yōu)秀的推薦結(jié)果。但由于使用神經(jīng)網(wǎng)絡(luò)的計(jì)算比較復(fù)雜,當(dāng)用戶和商品規(guī)模巨大時(shí),會(huì)消耗大量的資源以及時(shí)間,因此無法將模型應(yīng)用于實(shí)時(shí)在線推薦。所以NCF-i模型的下一步發(fā)展方向是減少資源消耗以及減少耗費(fèi)的時(shí)間,將其應(yīng)用到大規(guī)模數(shù)據(jù)的實(shí)時(shí)推薦系統(tǒng)中。
參考文獻(xiàn):
[1] 項(xiàng)亮. 推薦系統(tǒng)實(shí)戰(zhàn)[M]. 北京:人民郵電出版社,2012.
[2] RICCI F,ROKACH L,SHAPIRA B. Introduction to recommender systems handbook[M]. Boston:Springer,2011.
[3] WIETSMA R T A,RICCI F. Product reviews in mobile decision aid systems[C]. PERMID,2005: 15-18.
[4] RICCI F, WIETSMA R T A. Product reviews in travel decision making[M]. Information and communication technologies in tourism 2006. Vienna:Springer,2006.
[5] ACIAR S,ZHANG D,SIMOFF S,et al. Recommender system based on consumer product reviews[C]. Proceedings of the 2006 IEEE/WIC/ACM International Conference on Web Intelligence,2006:719-723.
[6] CHEN L, CHEN G, WANG F. Recommender systems based on user reviews: the state of the art[J].? User Modeling and User-Adapted Interaction, 2015, 25(2): 99-154.
[7] ZHANG Z,ZHANG D,LAI J. urCF: user review enhanced collaborative filtering[EB/OL]. https://onlinelibrary.wiley.com/doi/abs/10.1002/int.20495, 2014.
[8] XU J,ZHENG X,DING W. Personalized recommendation based on reviews and ratings alleviating the sparsity problem of collaborative filtering[C]. 2012 IEEE Ninth International Conference on e-Business Engineering. IEEE, 2012: 9-16.
[9] RAGHAVAN S, GUNASEKAR S, GHOSH J. Review quality aware collaborative filtering[C]. Proceedings of the sixth ACM conference on Recommender systems. ACM, 2012: 123-130.
[10] HE X, LIAO L, ZHANG H, et al. Neural collaborative filtering[C]. Proceedings of the 26th International Conference on World Wide Web,2017:173-182.
[11] LEE M,CHOI P,WOO Y. A hybrid recommender system combining collaborative filtering with neural network[C]. International conference on adaptive hypermedia and adaptive web-based systems,2002:531-534.
[12] ZHANG Y, JIN R, ZHOU Z H. Understanding bag-of-words model: a statistical framework[J]. International Journal of Machine Learning and Cybernetics, 2010, 1(1-4): 43-52.
[13] LEVY O, GOLDBERG Y. Neural word embedding as implicit matrix factorization[C]. Advances in neural information processing systems,2014: 2177-2185.
[14] RONG X. Word2vec parameter learning explained[J].? arXiv preprint arXiv,2014(1411): 2738-2751.
[15] KIM Y. Convolutional neural networks for sentence classification[J].? Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, 2014(1):1746-1751.
[16] TANG P,WANG H,KWONG S. G-MS2F: Googlenet based multi-stage feature fusion of deep CNN for scene recognition[J].? Neurocomputing,2017(225): 188-197.
[17] ZHANG Y,WALLACE B.? A sensitivity analysis of (and practitioners guide to) convolutional neural networks for sentence classification[EB/OL].? http://xueshu.baidu.com/usercenter/paper/show?paperid=b901e951b6b7d7cdf13750b008dd66ad&site=xueshu_seResearchGate
[18] CAVNAR W B,TRENKLE J M. N-gram-based text categorization[C]. The 3rd annual symposium on document analysis and information retrieval,1994:161-175.
[19] 周志華. 機(jī)器學(xué)習(xí)[M]. 北京:清華大學(xué)出版社,2016.
[20] HERLOCKER J L,KONSTAN J A,TERVEEN L G,et al. Evaluating collaborative filtering recommender systems[J]. ACM Transactions on Information Systems (TOIS),2004,22(1):5-53.
[21] FENG Z,HUIYOU C. Employing bp neural networks to alleviate the sparsity issue in collaborative filtering recommendation algorithms [J]. Journal of Computer Research and Development,2006(4): 14-21.
(責(zé)任編輯:杜能鋼)