?

融合用戶和商品評論的雙通道CNN推薦算法

2019-08-12 02:35馮興杰徐一雄曾云澤
現代電子技術 2019年14期
關鍵詞:推薦系統特征提取

馮興杰 徐一雄 曾云澤

關鍵詞: CNN推薦算法; 推薦系統; 特征提取; 文本矢量化; 抽象特征映射; 評分預測

中圖分類號: TN911?34; TP301.6 ? ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)14?0121?06

Dual channel CNN recommendation algorithm combining user and product reviews

FENG Xingjie, XU Yixiong, ZENG Yunze

(School of Computer Science and Technology, Civil Aviation University of China, Tianjin 300300, China)

Abstract: The recommendation model based on scoring matrix is widely used. However, it ignores the large amount of semantic information in the comments that reflects the user′s interests, and the data sparsity problem still exists although it has achieved certain recommendation accuracy. In allusion to the above problems, a Double?channel CNN recommendation algorithm (C?DCNN) that fuses user reviews and product reviews is proposed. The user and product review texts are vectorized as word vectors, and then the users and the items are extracted by using two CNN networks respectively. Finally, the abstract features of the user and the items are mapped to the same feature space through the dot product in the shared layer to predict the user′s scoring for a particular item. The results of some experiments on the public datasets of Amazon, Yelp, and Beer show that the models MSE on different datasets is smaller than other benchmark algorithms, which also alleviate the problem of data sparsity effectively.

Keywords: CNN recommendation algorithm; recommendation system; characteristic extraction; text vectorization; abstract feature mapping; scoring prediction

0 ?引 ?言

在過去10年中,隨著互聯網的興起,數據量呈現出爆炸式的增長[1]。為了更好地在信息中挖掘出有價值的信息呈現給客戶,誕生了許多形式的推薦系統。例如用戶相似度推薦算法[2]、用戶隱因子反饋[3]、評論文本的情感[4?6]以及情境感知推薦系統等,發現目前主流的推薦算法都是基于顯性評分的,盡管它們達到了一定的推薦精度,但忽略了評論中大量可用的語義信息。傳統的推薦方法主要有兩類:基于內容的推薦[7?8]和協同過濾推薦[9?10}。雖然傳統的推薦方法在提高推薦系統精度方面有著較好的效果,但評分矩陣所具有的稀疏性、推薦的冷啟動和擴展性等問題依然存在。本文研究如何利用評論文本來優化推薦模型。

1 ?相關工作

隨著深度學習的崛起,基于神經網絡的文本內容挖掘方法,在文本的分類、聚類、情感分析等相關自然語言處理的任務中,逐漸形成一個熱潮[11]。深度學習通過組合低層特征形成更加稠密的高層語義抽象,從而自動發現數據的隱含特征表示,解決了傳統機器學習中需要人工設計特征的問題。

文獻[12]介紹的詞頻統計思想最先應用于自動分類之中,從而開啟了文本挖掘領域的研究。文獻[13]的研究顯示,評論文本在推薦系統中的應用主要分為兩類:用戶建模和物品建模。評論文本中最常見的建模方式來自于信息檢索領域,在這種方式中,用戶和物品可以直接使用與其相關的評論文本來建模。文獻[14]利用用戶評論學習商品特征在不同主題上的分布及用戶對商品不同特征的偏好程度,把商品特征和用戶偏好的契合度引入傳統的協同過濾算法中,提高了推薦準確率。文獻[15]采用LDA模型發現Yelp評論文本的子話題后再進行預測評分。文獻[16]在實驗中發現評論文本的情感分析也有助于提高預測精度。使用文本建模是解決評分矩陣稀疏性最為直接的方法,但大部分只有正反兩類情感,且傳統方法更多的是將評論文本分成用戶集和商品集,分別對用戶集和商品集進行挖掘,得出各自的潛在主題分布,沒有考慮相互之間的交互帶來的影響,缺乏對于評論文本的充分挖掘。在此基礎上,本文提出了融合用戶和商品評論的雙通道CNN推薦算法(Combine?Double CNN,C?DCNN)。

2 ?聯合用戶評論和商品評論的推薦算法

2.1 ?本文使用符號的定義

本文所用符號定義如下:[Netu],提取用戶行為偏好特征的網絡;[Neti],提取物品特征的網絡;[Mu],用戶[u]的評論的詞向量映射矩陣;[Mi],物品[i]的評論的詞向量映射矩陣;[t],卷積核的窗口大小;[Kj],卷積層中的第[j]個卷積核;[oj],卷積層第[j]個神經元的輸出;[Fu],[Netu]經過全連接層后的輸出;[Fi],[Neti]經過全連接層后的輸出;[g],[Fu]和[Fi]進行拼接后的向量;[yui],用戶[u]對物品[i]的預測評分。

2.2 ?模型結構

本文提出的C?DCNN模型整體結構如圖1所示。該模型包含兩個平行網絡,左邊的網絡[Netu]主要用來提取用戶的行為偏好特征,右邊的網絡[Neti]主要用來提取物品的特征,最后通過一個共享層整合兩個網絡的輸出從而預測用戶的評分。模型的第一層是詞向量映射層,用戶評論和物品評論會被映射成詞向量矩陣作為卷積層的輸入;第二層和第三層都是卷積神經網絡層,主要用來提取用戶行為偏好和物品在高級抽象空間中的特征表達;第四層是全連接層。由于[Netu]和[Neti]的唯一不同就是第一層的詞向量映射層,因此接下來的章節主要敘述[Netu]的處理細節,對應[Neti]的處理步驟同[Netu]。

2.3 ?詞向量映射層

圖2為Amazon評論數據集前10行。其中reviewerID代表用戶ID;asin代表商品ID;overall代表用戶對商品的評分;userReviews代表用戶在所有商品上的評價集合;movieReviews代表商品的所有評價集合。實驗中分別對userReviews和movieReviews中的評價用Word2vec映射成一定維度的稠密向量,再輸入到C?DCNN左右兩個卷積模型中進行推薦。

詞向量映射[f:M→Rn],表示根據詞字典M將詞映射到[n]維向量的函數,C?DCNN模塊中n取值為50。在詞向量映射層,評論被映射為詞向量矩陣去挖掘語義信息。首先將用戶[u]的所有評論詞向量合并為一個文檔[d],該文檔的長度固定為包含[n]個詞,因此該用戶的評論詞向量矩陣[M]為:

[M=θ(d1)⊕θ(d2)⊕…⊕θ(dn)] (1)

式中:[dk]表示文檔[d]中第[k]個詞k=1,2,…,n;[θ(dk)]表示將該詞[dk]映射到相應的[n]維詞向量空間。

2.4 ?卷積模塊

第二層是卷積神經網絡層,該層用于提取用戶[u]的評論詞向量矩陣[Mu]的抽象特征,假設共有[m]個神經元,某一個神經元[j]使用詞窗大小為[t]的卷積核[Kj∈Rc×t]。因此對詞向量矩陣[Mu],每一個卷積核[Kj]的卷積結果可以表示為:

[κj=f(Mu?Kj+bj)] ? ? ? ? (2)

式中:符號“[?]”表示卷積操作;[bj]是偏移項;[f]是激活函數ReLUs,其表達式為:

[f(x)=max{0,x}] ? ? ? ? ? ? ? (3)

圖3是卷積模塊中的MaxPooling層,它使用的是一維MaxPooling,詞窗大小設置為2。例如,在第一個詞窗范圍內的9和3,則取最大值9。

通過MaxPooling層,卷積操作的輸出[κi]將會被縮減到一個固定大小的向量:

[oj=max{κ1,κ2,…,κ(n-t+1)}] (4)

式(4)是一個卷積核的處理結果,該模型一共使用[k]個卷積核共同提取多種不同的特征,因此[k]個卷積核的輸出向量可表示為:

[O=o1,o2,…,ok] ? ? ? ? ? (5)

Dropout是一種防止神經網絡過擬合的有效機制,每一輪訓練中,隨機失活部分隱藏層的神經元使得每次訓練的網絡都不一樣。本文實驗中取Dropout的概率為0.5,也就是說,訓練時每一個連接都有50%的概率被去除,而在測試時保留所有連接。

BN層的主要作用是允許訓練網絡使用較大的學習率,加快網絡收斂速度。在每次梯度下降時,通過mini?batch來對相應的激活函數做規范化操作,使得結果(輸出信號的各個維度)的均值為0,方差為1。

在經過第二個卷積層后,數據輸入到全連接層,最后得到用戶[u]的高級抽象特征向量[Fu∈Rd×1],全連接層的具體表達式為:

[Fu=f(W·O+b′)] ? ? ? ? ?(6)

式中:矩陣[W]是全連接層的權重參數;[b′]是全連接層的偏移項。最后,可以分別得到用戶卷積網絡[Netu]和物品卷積網絡[Neti]的輸出[Fu,Fi]。

2.5 ?共享層

[Fu,Fi]是處于不同特征空間的用戶特征和物品特征,為了準確地預測出用戶對物品的評分,需要將它們映射到相同的特征空間。首先將用戶特征向量[Fu]和物品特征向量[Fi]進行拼接操作,得到一個向量[g=(Fu,Fi)]。盡管[Fu,Fi]處于不同的特征空間,但是這兩個空間是存在交集的,也就是它們潛在的相互作用。為了進一步捕捉該相互作用,在評分預測函數加入了[Fu,Fi]的點積項[FTuFi],則用戶[u]對物品[i]的評分預測函數[yui]的表達式為:

[yui=w0+i=1gwigi+FTuFi] ?(7)

3.5 ?模型結構討論與分析

為了驗證C?DCNN雙通道結構的合理性、能有效緩解數據稀疏性以及使用BN層來提高訓練速度的必要性,下文分別將具有雙通道結構的C?DCNN與單網絡結構的SC?DCNN做對比。下面分別介紹C?DCNN與SC?DCNN的區別:

1) C?DCNN。其具有兩個網絡[Netu]和[Neti]:[Netu]主要從該用戶的評論提取該用戶的隱特征;[Neti]主要從該物品的評論提取該物品的隱特征。最后使用一個共享層來整合兩個網絡的輸出至相同的特征空間進行評分預測。

2) SC?DCNN。其只使用一個網絡[Net],該網絡具體的卷積層結構與[Netu]一樣。將用戶評論矩陣[Mu]和物品評論矩陣[Mi]拼接成一個矩陣[M]作為[Net]的輸入。由于只有一個網絡,因此取消共享層,即損失函數取消點積項。

如表4所示,分別將C?DCNN和SC?DCNN應用在數據集Yelp,Amazon,Beer來對比兩個模型的評分預測MSE??梢钥闯?, C?DCNN在3個數據集上的平均MSE比 SC?DCNN減少0.381。原因在于雙通道的參數比單網絡的參數多1倍,C?DCNN更能細致地捕獲用戶和物品的隱特征,而且雙通道結構的[Netu]和[Neti]是并行結構,互不干擾,能夠分別專注地提取用戶和物品高級抽象的隱特征。最后通過額外的共享層將兩個網絡的隱特征信息映射到相同的特征空間,充分挖掘用戶隱特征和物品隱特征的潛在親和度,因而達到精準預測評分的效果。

冷啟動問題目前普遍存在于推薦系統中,特別是當新用戶加入系統時,它們可用的評分是有限的,系統從它們的評分來學習出隱含特征并不容易。實驗中發現在測試集上,當用戶組和評分量很少時,本文提出的C?DCNN模型的MSE明顯優于傳統的單通道結構模型,有效緩解了數據稀疏性。

3.6 ?C?DCNN模型穩定性分析

為了驗證C?DCNN模型的穩定性,實驗中數據集劃分采用五折交叉驗證,并進行了8輪實驗。結果如圖5所示,8輪實驗中的驗證集損失值大體趨勢上與訓練輪數呈負相關,而且在整體的訓練過程中不會出現大幅度的抖動,能夠以較大的學習率到達最低的損失值。實驗結果表明,C?DCNN模型具有良好的穩定性。

4 ?結 ?論

本文提出融合用戶和商品評論的雙通道CNN推薦算法(C?DCNN)。相比傳統利用評分矩陣的模型,所提算法利用文本詞向量的C?DCNN有效緩解了數據稀疏性帶來的影響,極大地提高了預測的準確率。此外,實驗證明了將用戶評論和商品評論分別使用兩個網絡進行處理的合理性,并表明C?DCNN訓練過程具有良好的穩定性。

本文關注利用評論文本進行推薦,在今后的研究中將會考慮用戶、商品特征隨時間變化,潛在特征的權重,以及推薦系統中情境對推薦結果的影響等因素。

參考文獻

[1] 黃立威,劉艷博,李德毅.基于深度學習的推薦系統[J].計算機學報,2017(40):1?29.

HUANG Liwei, LIU Yanbo, LI Deyi. Recommendation system based on deep learning [J]. Chinese journal of computers, 2017(40): 1?29.

[2] 徐志明,李棟,劉挺,等.微博用戶的相似性度量及其應用[J].計算機學報,2014,37(1):207?218.

XU Zhiming, LI Dong, LIU Ting, et al. The similarity measure of Weibo users and its application [J]. Chinese journal of computers, 2014, 37(1): 207?218.

[3] 余剛,王知衍,邵璐,等.基于奇異值分解的個性化評論推薦[J].電子科技大學學報,2015,44(4):605?610.

YU Gang, WANG Zhiyan, SHAO Lu, et al. Personalized comment recommendation based on singular value decomposition [J]. Journal of University of Electronic Science and Technology of China, 2015, 44(4): 605?610.

[4] 申昌,冀俊忠.基于雙通道卷積神經網絡的文本情感分類算法[J].模式識別與人工智能,2018,31(2):158?166.

SHEN Chang, YAN Junzhong. Text sentiment classification algorithm based on two?channel convolutional neural network [J]. Pattern recognition and artificial intelligence, 2018, 31(2): 158?166.

[5] 李涵昱,錢力,周鵬飛.面向商品評論文本的情感分析與挖掘[J].情報科學,2017,35(1):51?55.

LI Hanyu, QIAN Li, ZHOU Pengfei. Affective analysis and mining for commodity comment texts [J]. Information science, 2017, 35(1): 51?55.

[6] 李勇敢,周學廣,孫艷,等.中文微博情感分析研究與實現[J].軟件學報,2017,28(12):3183?3205.

LI Yonggan, ZHOU Xueguang, SUN Yan, et al. Research and implementation of sentiment analysis in Chinese weibo [J]. Journal of software, 2017, 28(12): 3183?3205.

[7] 冷亞軍,陸青,梁昌勇.協同過濾推薦技術綜述[J].模式識別與人工智能,2014,27(8):720?734.

LENG Yajun, LU Qing, LIANG Changyong. Overview of collaborative filtering recommendation techniques [J]. Pattern recognition and artificial intelligence, 2014, 27(8): 720?734.

[8] 單京晶.基于內容的個性化推薦系統研究[D].長春:東北師范大學,2015.

SHAN Jingjing. Research on content?based personalized recommendation system [D]. Changchun: Northeast Normal University, 2015.

[9] 王瑞琴,蔣云良,李一嘯,等.一種基于多元社交信任的協同過濾推薦算法[J].計算機研究與發展,2016,53(6):1389?1399.

WANG Ruiqin, JIANG Yunliang, LI Yixiao, et al. A collaborative filtering recommendation algorithm based on multiple social trusts [J]. Journal of computer research and development, 2016, 53(6): 1389?1399.

[10] 陸坤,謝玲,李明楚.一種融合隱式信任的協同過濾推薦算法[J].小型微型計算機系統,2016,37(2):241?245.

LU Kun, XIE Ling, LI Mingchu. A Collaborative filtering recommendation algorithm based on implicit trust [J]. Microcomputer systems, 2016, 37(2): 241?245.

[11] SILVER D, HUANG A, MADDISON C J, et al. Mastering the game of Go with deep neural networks and tree search [J]. Nature, 2016, 529(7587): 484?489.

[12] 楊霞,黃陳英.文本挖掘綜述[J].科技信息,2009(33):82.

YANG Xia, HUANG Chenying. Summary of text mining [J]. Science and technology information, 2009(33): 82.

[13] 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.

[14] 譚云志,張敏,劉奕群,等.基于用戶評分和評論信息的協同推薦框架[J].模式識別與人工智能,2016,29(4):359?366.

TAN Yunzhi, ZHANG Min, LIU Yiqun, et al. Collaborative recommendation framework based on user rating and comment information [J]. Pattern recognition and artificial intelligence, 2016, 29(4): 359?366.

[15] HUANG J, ROGERS S, JOO E. Improving restaurants by extracting subtopics from yelp reviews [C]// Proceedings of Final Submission of the iConference. Berlin, Germany, 2014: 1?5.

[16] MUKHERJEE S, BASU G, JOSHI S. Incorporating author preference in sentiment rating prediction of reviews [C]// Proceedings of the 22nd International World Wide Web Conference(WWW). Rio de Janeiro, Brazil, 2013: 47?48.

猜你喜歡
推薦系統特征提取
基于Gazebo仿真環境的ORB特征提取與比對的研究
基于Daubechies(dbN)的飛行器音頻特征提取
一種基于LBP 特征提取和稀疏表示的肝病識別算法
數據挖掘在選課推薦中的研究
基于用戶偏好的信任網絡隨機游走推薦模型
基于個性化的協同過濾圖書推薦算法研究
個性化推薦系統關鍵算法探討
淺談Mahout在個性化推薦系統中的應用
關于協同過濾推薦算法的研究文獻綜述
基于DSP的直線特征提取算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合