国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

融合評分矩陣和評論文本的Deep-FRR評分預測模型

2020-11-25 07:59陳佳興
蘭州交通大學學報 2020年5期
關鍵詞:向量矩陣因子

侯 越,謝 斌,陳佳興

(蘭州交通大學 電子與信息工程學院,蘭州 730070)

推薦系統(tǒng)已經廣泛的應用于電子商務、視聽娛樂、社交網絡和新聞門戶中,并且取得了極大的成功[1].協(xié)同過濾算法是推薦系統(tǒng)常用的技術手段,該算法通過用戶-項目評分矩陣計算用戶、項目間的相似度為用戶進行推薦.隨著互聯網技術的飛速發(fā)展,推薦系統(tǒng)的用戶和項目數量呈現指數級增長,用戶打分項目不足項目總數的1%,致使評分矩陣極其稀疏,相似度計算趨于困難,使得推薦系統(tǒng)質量急劇下降.為緩解評分矩陣的稀疏性問題,研究人員提出了許多基于評分預測的推薦模型來填充評分矩陣.文獻[2]提出一種基于矩陣分解(matrix factorization,簡寫為MF)的協(xié)同過濾方法,將每個用戶和項目分別映射成兩個隱含因子向量,以兩向量的內積作為用戶對項目的預測評分.為提升模型的性能,基于矩陣分解的改進模型相繼出現.文獻[3]提出一種基于概率論圖模型(probabilistic matrix factorization,簡寫為PMF)的矩陣分解改進方法,該模型假設用戶對項目的評分滿足正態(tài)分布,通過最大似然估計來優(yōu)化用戶、項目的隱含因子矩陣,取得了較好的效果.

近年來,隨著深度學習在自然語言處理、計算機視覺等領域的長足進步,許多學者開始將深度神經網絡應用于推薦系統(tǒng).文獻[4-5]提出一種深度矩陣分解(deep matrix factorization,簡寫為DMF)模型,該模型將用戶和項目的隱含因子向量輸入神經網絡得到預測評分.與傳統(tǒng)矩陣分解模型相比,深度矩陣分解模型可以更好地學習到用戶和項目間的非線性關系.文獻[6-8]提出一種利用受限玻爾茲曼機(restricted boltzmann machine,簡寫為RBM)的方法解決評分矩陣的稀疏性問題,文獻[9-10]采用自編碼機(auto-encoders,簡寫為AES)的方法,通過用戶-項目評分矩陣建模進行評分預測.

除了用戶對項目的評分外,評論文本也包含了用戶對項目的喜愛程度及項目自身的屬性特征,因此,一些基于評論文本特征提取的評分預測模型被相繼提出.文獻[11]提出利用潛狄利克雷模型(latent dirichlet allocation,簡寫為LDA)提取評論數據集中用戶和項目的隱含語義特征來進行評分預測的思路,文獻[12]使用卷積神經網絡(convolutional neural networks,簡寫為CNN)提取項目描述的文本特征,并結合PMF模型進行評分預測,但該方法僅考慮了項目的評論文本,卻忽略了用戶的評論文本.文獻[13]提出一種Deep-CoNN(deep cooperative neural network)模型,該模型通過兩個并行的CNN網絡分別提取用戶評論文本和項目評論文本的特征,并將這兩個特征表示成低維向量,通過隱因子分解機來進行評分預測.

但既有的基于評論文本特征提取的評分預測模型僅考慮了評論文本本身,卻沒有充分挖掘評分矩陣中用戶、項目隱含因子間的交互關系.基于此,提出一種融合了用戶-項目評分矩陣和評論文本的深度學習評分預測模型(deep fusion of rating matrix and review text,Deep-FRR),其中,矩陣分解模塊和深度矩陣分解模塊用于提取用戶和項目間的線性和非線性交互關系,卷積神經網絡模塊用于提取用戶和項目評論文本中的潛在語義特征,然后在融合層實現三模塊的融合,并通過全連接層進行評分預測.最后,采用五個亞馬遜的公開數據集對本文的Deep-FRR模型和其它評分預測模型進行對比實驗,并詳細分析Deep-FRR模型的隱含因子數、詞向量初始化方式對預測性能的影響.

1 Deep-FRR模型結構設計

將不同的深度學習模型進行融合可使融合模型擁有子模型各自的優(yōu)點,從而提高模型性能.鑒于此,本文融合傳統(tǒng)矩陣分解模塊、深度矩陣分解模塊、卷積神經網絡模塊,提出一種融合用戶-項目評分矩陣和評論文本的評分預測模型Deep-FRR,其模型結構如圖1所示,該模型采用矩陣分解模塊和深度矩陣分解模塊對用戶和項目間的線性和非線性關系進行建模,同時使用卷積神經網絡模塊提取了用戶評論文本和項目評論文本的語義特征,然后將評論特征向量、線性和非線性特征向量進行融合,最后通過全連接層進行評分預測.

1.1 矩陣分解模塊

給定一個用戶-項目評分矩陣R,矩陣分解的目標是將R近似分解成兩個隱含因子矩陣PN×K和QM×K的乘積,即R≈PTQ,其中:N表示用戶數量;M表示項目數量;K代表隱含因子數目.假設有3個用戶和4個項目,且隱含因子向量的維度為3,則矩陣分解過程可用圖2表示.

通過矩陣分解,每個用戶u和項目i可以分別用一個K維的隱含因子向量pu和qi表示,則用戶u對項目i的預測評分被表示為對應隱含因子向量的內積,即

(1)

然后通過隨機梯度下降法最小化式(2)的損失函數來分別求解隱含因子矩陣.

(2)

其中:rui表示用戶u和項目i的真實評分;λ1和λ2分別表示用戶隱含因子向量pu和項目隱含因子向量qi的正則化系數;Iui是指示函數,如果用戶u對項目i有評分,則Iui=1,否則Iui=0.

(3)

式中:⊙符號表示將兩個向量求內積.

1.2 深度矩陣分解模塊

(4)

式(4)中,令z0=f(pu,qi)=pu⊕qi,表示將兩個K維向量拼接成一個2K維向量,然后將z0輸入h層神經網絡σ1,σ2,…,σh,wh代表第h層神經網絡的權重,bh代表第h層的偏置,ah代表第h層的激活函數,這里使用ReLu激活函數,具體過程如下:

(5)

1.3 卷積神經網絡模塊

Deep-FRR模型利用圖3所示的兩個并行的卷積神經網絡分別從用戶評論文本和項目評論文本中提取了用戶u和項目i的評論文本特征[15],由于兩個卷積神經網絡對評論文本的處理方法相同,下面僅對提取用戶u的評論文本特征的過程進行說明.

對每個用戶u,把他所有的j條評論組成一個評論集合Du={du1,du2,…,duj},然后對Du進行去停用詞、分詞處理,再通過word2vec[16]技術將Du映射成n×k的詞向量矩陣Cn×k,并將此詞向量矩陣Cn×k作為卷積神經網絡輸入層的輸入,其中:n表示評論集Du中的單詞數;k表示詞向量的維度.

然后,卷積層通過大小為h×k的濾波器以步長1自上而下滑動來提取詞向量矩陣Cn×k的局部特征,如式(6)所示.

ci=f(ω·xi∶i+h-1+b),

(6)

其中:f是ReLU函數;ω代表卷積核;xi∶x+h-1代表Cn×k中從i到i+h-1共h行詞向量;b是偏置項.通過卷積層,最終得到詞向量矩陣Cn×k的局部特征矩陣C=[c1,c2,…,cn-h+1].

對卷積層之后得到的局部特征矩陣采用最大池化的方法,用最大特征代替局部特征,得到局部特征的最優(yōu)解oi:

oi=max{c1,c2,…,cn-h+1}.

(7)

之后,將所有局部特征的最優(yōu)解拼接起來得到用戶u的評論文本局部特征表達Ou=[o1,o2,…,on].

將Ou輸入全連接層,得到用戶u的評論文本特征向量du:

du=wu·Ou+bu,

(8)

其中:wu表示全連接層的權重;bu代表全連接層的偏置項.

(9)

1.4 融合層

(10)

(11)

其中,w和b分別表示全連接層的權重與偏置.

2 實驗設計

2.1 實驗數據與實驗平臺

在亞馬遜的5個商品評論數據集上進行實驗,數據集的基本情況如表1所列.由表1可知,5個所選數據集全部為高稀疏程度數據集,符合模型所需實驗要求.實驗所用平臺為Windows10 64位系統(tǒng),Intel-i5 CPU,16GByte內存,開發(fā)環(huán)境為python3.6,并使用了Keras 2.2.4深度學習框架.

表1 亞馬遜商品評論數據集Tab.1 Amazon product review dataset

2.2 實驗參數設置

模型參數選取的好壞直接影響評分預測精度,經多次實驗驗證,表2中各類模型參數設置能顯著提升模型預測性能.

表2 模型參數設置Tab.2 Parameter setting

2.3 評價指標

實驗采用均方誤差(mean-square error,簡寫為MSE)作為評價指標,MSE越小代表模型的性能越好,MSE的計算公式如下:

(12)

其中:T代表測試集樣本數.

2.4 對比實驗模型

將提出的Deep-FRR模型與下列評分預測模型進行對比實驗:

1) MF:矩陣分解模型.

2) PMF:概率矩陣法分解模型.

3) DMF:深度矩陣分解模型.

4) Deep-CoNN:采用了兩個CNN網絡分別提取用戶評論文本和項目評論文本的特征來預測評分的模型.

表3為不同模型間的對比,√表示模型使用了該項,×表示模型未使用該項.由表3可知,MF模型和PMF模型僅使用了評分矩陣,而DMF在使用了評分矩陣的基礎上,采用了神經網絡進行建模,Deep-CoNN模型僅使用了評論文本,而模型Deep-FRR同時使用了評分矩陣和評論文本作為神經網絡模型的輸入.

表3 不同模型對比Tab.3 Comparison of different models

3 模型精度分析

實驗選擇80%的數據集樣本作為訓練集,用剩余20%的數據集樣本作為測試集,通過表4中的參數分析,將隱含因子數K設為75,詞向量初始化方式設為GloVe-Trained,上述模型在測試集上的MSE對比結果如表5所列.從相對提升百分比來看,同一數據集上Deep-FRR模型的MSE較其他最優(yōu)預測模型提升明顯.

表4 不同參數實驗結果Tab.4 Experimental results under different parameters

從與其它模型的比較來看:基于神經網絡的預測模型如DMF、Deep-CoNN的預測精度均高于MF模型和PMF模型,說明采用了神經網絡的預測模型擁有更強的非線性擬合能力;基于用戶和項目評論文本特征提取的Deep-CoNN模型在測試集上的表現優(yōu)于僅使用項目評分矩陣的模型MF、PMF和DMF,而本文提出的融合了項目評分矩陣及項目和用戶評論文本的Deep-FRR模型在測試集上的預測精度均高于上述模型,且相對于Deep-CoNN模型的提升最高可達14%,說明Deep-FRR模型可以同時學習到用戶-項目間的線性和非線性交互關系以及用戶評論文本和項目評論文本中的語義表達.

4 Deep-FRR模型影響因子分析

由模型訓練過程可知,隱含因子數和詞向量初始化方法分別影響著Deep-FRR模型矩陣分解模塊和文本特征提取模塊的性能,為研究這兩個關鍵參數對Deep-FRR模型性能的綜合影響,選擇不同的隱含因子數和詞向量初始化方法在5個數據集上進行多次實驗,其中隱含因子數從{15,25,50,75,100,150,200}中選擇.詞向量的初始化方法有以下三種:

1) Random:隨機初始化每個詞的詞向量,然后通過后續(xù)的訓練去動態(tài)的調整.

2) GloVe-Static:使用GloVe預訓練的詞向量,在訓練過程中不再調整該詞向量.

3) GloVe-Trained:使用GloVe預訓練的詞向量,并且在后續(xù)訓練模型的過程中不斷自動調整.

4.1 詞向量影響分析

表5是不同參數條件下,Deep-FRR模型在5個數據集上的預測精度對比.由表5可知,在不同隱含因子數下,使用預訓練詞向量GloVe-Static和GloVe-Trained的模型,總體性能優(yōu)于使用隨機初始化詞向量的模型,說明在數據集稀疏的情況下,使用預訓練詞向量,可以更好地挖掘評論文本中隱含語義特征.而使用了GloVe-Trained的模型綜合表現要優(yōu)于使用GloVe-Static的模型,說明在使用預訓練詞向量之后再根據數據集自身的特點進行動態(tài)的微調,可以使模型獲得更好的性能.

表5 不同模型的實驗結果Tab.5 Experimental results of different models

4.2 隱含因子數影響分析

為分析隱含因子數對模型性能的影響,根據上述結論選擇了GloVe-Trained方式初始化詞向量,并比較不同隱含因子數下Deep-FRR模型在5個數據集上的預測精度差異,其結果如圖4所示.

由圖4可知,隨著隱含因子數的增加,除Instant Video數據集之外,Deep-FRR模型在其它4個數據集上的MSE整體呈下降趨勢,因為Instant Video數據集中用戶數和物品數目很少,所以在隱含因子數較小的情況下能夠學習到用戶和物品之間的交互關系.由于太多的隱含因子數目會使模型的參數數量增多,在訓練時會消耗更多的計算機資源,因此,經過綜合考慮,在實驗中將隱含因子數設為75較為合適.

5 結論

提出了一種融合用戶-項目評分矩陣和評分文本的Deep-FRR評分預測模型,該模型可同時學習用戶-項目間的線性、非線性交互關系及用戶、項目評論文本中的語義特征表達.實驗結果表明,本文Deep-FRR模型具有更低的預測誤差,選取隱含因子數75和GloVe-Trained詞向量初始化方法能有效提升預測精度.鑒于機器硬件性能受限等原因,本次實驗在模型文本處理模塊僅選擇了部分評論文本進行了特征提取,而沒有采用全部評論文本,因此,未來將在機器性能提升的條件下在更大數量的文本數據集上進行實驗,以進一步提升模型的預測精度和性能.

猜你喜歡
向量矩陣因子
我刊2021年影響因子年報
我刊2021年影響因子年報
向量的分解
聚焦“向量與三角”創(chuàng)新題
山藥被稱“長壽因子”
多項式理論在矩陣求逆中的應用
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉圓錐曲線
矩陣
矩陣
翁源县| 泰兴市| 天柱县| 博白县| 突泉县| 沾益县| 固安县| 昭平县| 新竹县| 清水河县| 华宁县| 山东| 吴堡县| 桃园县| 甘肃省| 措勤县| 江孜县| 安康市| 泽普县| 祥云县| 娄底市| 利津县| 东明县| 万全县| 井研县| 滨海县| 美姑县| 常熟市| 疏附县| 颍上县| 广安市| 铁岭县| 文山县| 静海县| 胶州市| 嘉峪关市| 三门峡市| 宜君县| 浦北县| 涡阳县| 清水河县|