胡海星,王宜貴,袁衛華,張志軍,秦倩倩
(山東建筑大學計算機科學與技術學院,山東濟南 250101)
互聯網的迅速發展,為用戶提供了更便利的購物方式,同也為用戶帶來選擇困擾,如何在眾多信息中發現感興趣的商品,成為電商平臺亟待解決的問題。在該情況下,推薦系統發揮著越來越重要的作用,其可根據用戶歷史行為和偏好推薦當前用戶可能感興趣的商品,為用戶提供個性化推薦服務。
傳統推薦算法中,主流的協同過濾(Collaborative Filtering,CF)算法通過學習用戶和商品的顯式或隱式交互為用戶推薦商品。其中,矩陣分解技術(Matrix Factorization,MF)較為常用,該技術將用戶和商品映射成兩個低秩矩陣,通過內積方式獲取預測評分。PMF概率矩陣分解模型則利用矩陣分解思想結合高斯概率函數優化預測與實際評分的差值。盡管矩陣分解技術在推薦系統中能取得良好的性能,但該技術缺乏高階特征交互學習能力,無法學習用戶復雜的評分行為。
相比評分數據,評論文本包含了更豐富的語義信息,可反映用戶偏好,并且能對推薦結果提供合理性解釋。此外,評論文本通常還包含了商品特征信息?;赥F-IDF(Term Frequency-Inverse Document Frequency)推薦算法利用用戶評論中的詞頻信息表示用戶偏好進行推薦,但無法挖掘用戶評論的語義信息?;谥黝}模型的推薦算法通常采用詞袋模型,雖然考慮了用戶的評論語義,利用評論提取潛在特征,但算法結合上下文學習用戶評論語義信息的能力不足,無法有效提升推薦性能。
近年來,深度學習已經成功應用于計算機視覺、自然語言處理等領域,在基于評論文本的推薦系統中也取得了很好的效果。ConvMF 模型利用卷積神經網絡(Convolutional Neural Network,CNN)從商品評論中提取特征,結合概率矩陣分解和用戶評分數據獲得預測評分,但未能考慮用戶評論特征的重要性。DeepCoNN構建并行神經網絡,聯合建模用戶和商品的評論特征用于推薦。D-ATTN模型和NARRE 模型加入了注意力機制,用于捕捉評論中的重要特征,并利用矩陣分解方法獲取預測評分。DAML 模型在捕獲用戶和商品特征后,使用神經因子分解機進行特征交互。HAUP 模型使用基于雙向門控循環單元網絡(Bidirectional Gated Recurrent Units,Bi-GRU)的神經網絡以處理評論的長期依賴,挖掘評論中單詞和句子的信息,聯合建模用戶和商品特征,取得了較好的推薦性能。然而,以上方法也存在以下問題:
(1)大部分研究通常采用靜態編碼詞向量表示文本特征嵌入,然而在實際中同一單詞在不同上下文環境中表達的意義不一致,無法表達單詞的多義性,導致模型對語義理解存在偏差。例如ConvMF、DeepCoNN、D-attn、NARRE、DAML等均使用word2vec或Glove等靜態編碼詞向量對詞向量進行預訓練,使每個單詞的嵌入表達與所處的上下文語境無關,因此會造成語義理解偏差,影響模型性能。
(2)在獲取用戶和商品特征后,將其進行并行拼接后直接進行評分預測,忽略了用戶和商品特征在交互時不同推薦結果的貢獻程度。例如DeepCoNN、DAML、Dattn、NARRE等進行特征并行拼接后通過矩陣分解或因子分解機(Factorization machine,FM)方法獲取預測評分,忽略了二者對推薦結果的不同貢獻。
通過上述分析,本文提出了基于評論文本的自適應特征提取推薦(Adaptive Feature Extraction Recommendation,AFER)模型,該模型利用動態詞向量預訓練模型BERT以解決靜態詞向量無法適應一詞多意的問題,采用Bi-GRU 網絡提取用戶和商品評論的全局特征,加入注意力機制突出文本中的重要信息,抑制噪聲信息。在此基礎上,將用戶和商品評論通過門控層(Gating Layer)進行自適應特征拼接,自適應平衡用戶和商品特征的重要程度,增強其相關性。最后,利用因子分解機進行特征交互獲得預測評分。實驗表明,本文模型整體優于基準模型。
本文工作主要貢獻如下:①基于AFER 模型使用預訓練模型BERT 獲取評論嵌入,以解決一詞多意問題,提高評論特征表示能力,使用Bi-GRU 神經網絡提取用戶和商品評論特征,使用注意力機制抑制噪聲數據,提高特征表達能力;②針對特征并行拼接策略未考慮用戶和商品特征在交互時對推薦結果貢獻程度的問題,提出AFER 模型自適應特征拼接策略,以捕捉用戶和商品之間的細微差別以平衡二者重要程度。通過自適應拼接特征,增強二者交互的相關性,提高預測評分精度;③在6個Amazon 數據集上的實驗表明,AFER 模型優于基準模型。
該方法常基于評論文本提取特征信息以提高評分預測 性能。HFT和CTR利用LDA(Latent Dirichlet Allocation)挖掘評論文本的潛在主題,通過矩陣分解得到預測評分。TopicMF通過非負矩陣分解(NMF)得到評論文本的潛在主題,并將該主題分布映射到矩陣分解后的用戶和商品潛在因子。此外,該模型通過調整變換函數以應對潛在因素的不同重要程度。RBLT線性結合評分矩陣的潛在因素和評論文本的潛在主題表示用戶和商品的特征,獲得預測評分。RMR采用高斯混合模型對評論文本進行主題建模學習。上述模型在處理評論文本時,均基于詞袋模型捕獲評論的詞頻信息,無法保持詞序信息,忽略了評論中豐富的上下文信息。此外,該方法僅學習評論的淺層線性特征,未能充分提取其非線性特征。
隨著深度學習在推薦領域的發展,基于評論文本與深度學習的推薦方法被廣泛應用。ConvMF利用卷積神經網絡和靜態詞向量嵌入提高推薦性能,但該模型僅考慮商品評論信息,忽略了用戶評論信息的重要性。Deep-CoNN提出雙塔結構模型,利用兩個平行卷積神經網絡分別對用戶和商品評論信息進行特征提取,通過因子分解機捕捉用戶和商品特征間的交互信息。但DeepCoNN 缺少對評論文本細粒度的特征交互。TransNets擴展了Deep-CoNN,引入額外的隱藏層將用戶和商品的潛在特征轉換為用戶對商品的評論,而在測試時生成相應的評論進行預測評分。NGMM受到DeepCoNN 啟發,使用混合高斯層替代因子分解機模擬用戶對商品評分。
近年來,注意力機制被廣泛應用以提升推薦性能。其通過模擬人腦處理信息方式,在面對大量信息時聚焦重要信息。D-attn在DeepCoNN 基礎上引入局部和全局注意力以捕獲評論文本的重要信息。NARRE加入注意力機制對每個評論進行評分,但僅通過矩陣分解方式預測評分,未能在交互層面上捕捉二者的相關性。MPCN加入協同注意力機制,在句子和單詞級上選擇最具代表性的評論信息以表示用戶偏好和商品屬性。HAUP利用注意力機制根據單詞重要性識別重要的評論信息以捕獲特征。DAML引入交互注意力機制以捕捉用戶和商品評論的相關性,但未考慮句子級的細粒度信息和用戶偏好。此外,在神經網絡中,Bi-GRU 不僅能從前向傳播獲取信息,還能利用反向信息,獲取更多重要特征,相比單向門控循環單元(Gated Recurrent Units,GRU)網絡提取的文本特征更全面。
在自然語言處理任務中使用單詞嵌入方法表達文本向量已被證明效果較好,例如詞性標記、語法分析、機器翻譯等。但該方法屬于靜態詞向量,其詞嵌入表達不會隨上下文發生改變,存在一詞多意問題。因此引入動態詞向量解決該問題。2018 年Google 提出動態詞向量預訓練模型BERT在11 項自然語言處理任務中取得了出色的效果。BERT 是一種基于Transformer 雙向編碼器使用掩碼語言模型和下一句子預測的雙任務訓練模型,可充分描述詞、句子級及句間關系特征。在基于評論文本推薦中,DeepCLFM、SIFN和U-BERT均使用預訓練模型BERT 得到評論嵌入表達,與使用靜態詞向量模型相比,預測性能提升較大。
本文提出的AFER 模型首先使用動態詞向量技術BERT 解決了靜態詞向量單詞的多義性問題,得到與評論文上下文相關的評論文本嵌入;其次針對特征并行拼接策略無法平衡用戶和商品特征在交互時,推薦結果貢獻程度問題,引入自適應特征拼接機制,動態平衡二者的重要程度;最后通過因子分解機進行特征交互,以獲得更精確的預測評分。
u
,i
,r
,w
),其中u
表示用戶,i
表示商品,r
表示用戶u
對商品i
在1~5 整數范圍內的評分,w
表示用戶u
對商品i
的評論。d
表示用戶u
對商品評論的集合,d
表示商品i
接收用戶評論的集合。本文模型通過詞嵌入技術得到評論文本d
和d
的詞向量,利用深度學習技術從評論詞向量中提取用戶和商品特征,預測用戶u
對商品i
的評分,最終達到為用戶提供個性化推薦服務目的。本文所用符號及含義由表1 可見。Table 1 Symbol description表1 符號說明
Fig.1 Architecture of AFER model圖1 AFER 模型結構
2.2.1 與上下文相關的評論嵌入
嵌入層:讀取數據集中的評論文本,構建用戶評論集d
={w
,w
,w
,…w
}和商品評論集d
={w
,w
,w
,…w
}。其中,m
,n
表示集合中評論的數量,w
,a
∈[1,m
]表示用戶對商品的一條評論,w
,b
∈[1,n
]表示商品接收的一條評論。當用戶∕商品評論個數少于m∕n 時,使用c
維零向量補充,反之則截取前m∕n 條評論。預訓練模型BERT 采用雙向Transformer 模型,結合自注意力機制在大規模語料庫預訓練基礎上,根據當前任務語料庫進行微調,得到適合當前任務的詞嵌入表示。用戶評論集d
作為BERT 的輸入,輸出向量表示為O
,商品評論集d
對應的輸出為O
。O
,O
表示如式(1)-式(2)所示。O
∈R
,O
∈R
,c
為BERT 基礎版的詞向量維度768。2.2.2 基于注意力機制的雙向特征提取
Bi-GRU 層:單向GRU 從前向后單向傳播,容易丟失重要信息,無法充分使用評論文本特征向量。本文基于評論文本嵌入表達,使用Bi-GRU 分別從前向和后向分別對O
,O
進行深層特征提取。l
為GRU 網絡的隱藏單元數量。此外,在GRU 網絡中采用Dropout 技術防止過擬合問題。注意力層:將h
和h
輸入全連接層前,AFER 模型利用注意力機制抑制Bi-GRU 網絡產生的特征冗余。通過注意力機制獲取用戶和商品評論的注意力得分a
∈R
,a
∈R
,如式(6)-式(7)所示。利用注意力得分對每條評論進行加權求和,得到用戶評論集特征
doc
∈R
,如式(8)所示。doc
∈R
,如式(9)-式(11)所示。w
,w
∈R
,w
,w
∈R
均為隨機初始化并可訓練的參數,t
表示可設置的注意力機制向量維度,m
和n
為用戶和商品的評論數量,h
,h
表示從用戶和商品評論中提取的特征向量,b
,b
為偏置項。全連接層:將用戶特征doc
和商品特征doc
表示送入全連接層進行整合,用戶和商品特征維度為k
,用戶u
偏好和商品i
屬性的最終特征表示為fea
,fea
∈R
,如式(12)-式(13)所示。W
、W
∈R
為全連接層的權重參數,
k
表示特征中可設置的隱因子數量,doc
和doc
表示用戶和商品的評論特征,b
、b
為全連接層的偏置項。2.2.3 自適應特征拼接
W
,W
∈R
為權重向量,因為G 的范圍為[0,1],因此采用sigmoid
激活函數,b
為偏置項。W
∈R
表示在特征拼接過程中隨機初始化的權重矩陣,Z
表示經過自適應特征拼接后的自適應特征。2.2.4 評分預測
輸出層:將自適應特征Z
送入因子分解機得到用戶和商品的特征交互y
,如式(17)所示。w
∈R
表示變量,w
∈R
為因子分解機一次項的權重,<v
,v
>為向量的內積,表示捕獲二階項交互的權重。本模型目標為用戶對商品的預測評分,常用的損失函數為平方損失,即AFER模型的Loss損失函數如式(19)所示。
為了優化目標函數,本文選擇自適應矩估計(Adam)優化模型,比傳統的SGD 收斂更快。此外,本文在AFER中設置Dropout 以防止發生過擬合現象。
3.1.1 數據集
為了驗證AFER 模型的有效性,本文在6個亞馬遜公開評論數據集中進行實驗,數據集來自Amazon5-core:Baby,Grocery_and_Gourmet_Food,Instant_Video,Office_Product,Musical_Instruments,Automotive(簡稱為Baby、GandGF、IV、OP、MI、Auto)。在數據集中,僅使用每個樣本的4個特征:用戶ID、商品ID、用戶對商品的評分(1~5 的整數)及用戶對商品的評論文本,統計數據如表2 所示。
Table 2 Data set表2 數據集
3.1.2 評價指標
為了評估AFER 模型性能,本文將其與以下6個基準模型進行比較。
(1)PMF。概率矩陣分解引入高斯分布利用評分數據學習用戶和商品的特征。本文模型從評論信息和深度學習的優勢與其進行比較。
(2)ConvMF。商品評論經過靜態詞嵌入后,使用CNN 學習商品評論特征,然后將商品特征和用戶評分相結合,利用概率矩陣分解進行評分預測。本文模型從用戶和商品聯合建模的角度與其進行比較。
(3)DeepCoNN。深度協同神經網絡,基于兩個并行CNN 分別從用戶和商品的靜態評論嵌入中學習各自的特征,并行拼接后利用因子分解機進行交互獲得預測評分。本文模型從動態評論嵌入、注意力機制及特征交互前的處理方面進行對比。
(4)D-attn。雙注意力模型,利用全局和局部雙重注意力機制以增強用戶和商品特征的可解釋性,利用矩陣分解預測評分。本文模型從詞嵌入和特征交互過程上與其進行對比。
(5)NARRE。神經注意力回歸模型,利用卷積神經網絡和注意力機制學習用戶和商品特征,利用LFM 實現評分預測。本文模型從動態評論嵌入和特征交互角度與其比較。
(6)DAML。雙注意力交互學習模型,從評分數據和評論文本中學習用戶和商品特征,通過神經因子分解機實現特征間的交互。本文模型在輸入信息、評論嵌入、交互前的特征處理等方面與該模型進行對比。
本文將每個評論數據集按照8∶1∶1 的比例隨機分為訓練集、驗證集和測試集。本文參數設置如下:
(1)PFM 模型中,使用高斯函數初始化用戶和商品的潛在特征。
(2)深度學習模型中,學習率設置為0.002,Dropout 設置為0.5,由于顯存限制,DAML 模型Batch Size 設置為16,其余深度學習模型Batch Size 均設置為128;在NARRE 模型和DAML 模型中ID 嵌入維度為32;在注意力機制模型中注意力權重向量維度為100;在卷積神經網絡的文本處理模型中,卷積核大小設置為3,個數設置為100;以上預訓練的靜態詞向量模型為GoogleNews-vectors-negative300.bin,嵌入維度為300。
(3)預訓練模型BERT 版本為uncased_L-12_H-768_A-12,隱因子數量設置為32,Dropout 設置為0.5,Bi-GRU網絡中使用隱藏單元個數為100,注意力層向量維度為50。此外,使用的Tensorflow 庫在Python3 上實現。
如表3 結果對比所示,僅利用評分數據的PMF 模型預測效果低于其他使用評論數據模型。在使用評論數據模型中,DeepCoNN 模型的效果優于僅建模商品特征的ConvMF 模型,因為DeepCoNN 模型在考慮用戶和商品評論重要性的同時,建模用戶和商品特征。D-attn 模型引入注意力機制對比DeepCoNN 模型在效果上有所提升。NARRE模型為了提升評論的有效性,提出句子級注意力機制以評估每個評論。該模型在整體效果上有所提升,但數據集較小會導致模型性能變差。DAML 模型使用交互注意力機制以提高用戶和項目特征的相關性,利用神經因子分解機進行特征交互,增強特征交互能力。通過對比實驗,DAML 模型在中等數據集上的效果整體優于其他模型。
本文模型性能在各數據集上均有提升,其中在MI 數據集中效果最好,提升了5.80%;Baby 數據集則最差,僅提升了0.96%。AFER 模型通過引入動態詞向量解決了一詞多意問題,并且提出自適應特征交互機制,以平衡用戶和商品特征間各自的重要程度,彌補用戶和商品特征并行拼接的不足,提升了模型預測評分精度。
Table 3 Comparison of MSE results表3 MSE 結果對比
本文在Baby,GandGF、IV、OP、Auto、MI 共6個數據集上分析了隱因子數量、GRU 隱藏單元數量及注意力權重向量維度對推薦性能的影響。
圖2 展示了在[16,32,64,128,256]范圍內,全連接層不同的隱因子數量對AFER 模型性能的影響,隨著隱因子數量增多,模型性能逐漸變差。因為隱因子數量增多會引入更多訓練參數,過擬合風險增大,導致模型性能下降。由圖2 可見,當隱因子數量設置為32 時效果最好,因此本文在實驗中將隱因子數量設置為32。
Fig.2 The impact of latent factor number on model performance圖2 隱因子數量對模型性能的影響
GRU 隱藏單元數量是GRU 神經網絡輸出的隱藏層大小,表示從評論中提取特征的長度。本文從[50,100,150,200,250]范圍內搜索GRU 隱藏單元數量對AFER 模型的影響。從圖3 中可見,隨著隱藏單元數量增多,AFER 模型在MSE 上沒有呈現線性提升,在50~100 間,整體呈下降趨勢,而在100~250 區間,結果逐漸變差。說明隱藏單元數量在某個閾值時可達到最優效果,反之則會增加預測誤差。綜合6個數據集上的表現,本文選取GRU 隱藏單元的大小為100。
本文將注意力向量維度限定在[10,30,50,70,90]范圍,觀察其對AFER 模型性能的影響。由圖4 可見,當值超過50 后,模型性能逐漸變差。因此,在本文將注意力權重向量維度設置為50。
本文使用以下3個變體與AFER 模型進行比較,分析每個組件在模型中的重要程度。
(1)AFER-word2vec。預訓練階段采用靜態詞向量word2vec 替代BERT 以進行文本嵌入表達。
(2)AFER-noAtte。不使用注意力機制的AFER 模型。
(3)AFER-noAdaptive。不使用自適應拼接機制的進行特征拼接AFER 模型。
Fig.3 The impact of GRU hidden unit number on model performance圖3 GRU 隱藏單元數量對模型性能的影響
Fig.4 The impact of attention vector dimension on model performance圖4 注意力向量維度對模型性能的影響
AFER 模型和三個變體模型結果對比如圖5 所示。由圖5 可見,AFER-word2vec 由于使用了靜態詞向量word2vec,其語義理解上的偏差導致了其性能最差。因此,動態詞向量BERT 能提高對評論的語義理解能力,通過獲取與上下文相關的評論嵌入表達可有效提高模型的推薦性能。在AFER 模型中,注意力機制用于突出評論的重要信息,抑制噪聲信息。AFER-noAtte 模型性能低于AFER模型,證明了注意力機制的有效性。AFER 和AFER-noAdaptive 的結果對比展示了自適應機制的有效性,結果表明簡單的特征拼接策略會忽略用戶和商品特征之間差異,而基于門控層的自適應特征拼接可彌補其不足,增強二者間的相關性,提升模型性能。
Fig.5 Comparison of ablation study results圖5 消融實驗結果對照
本文基于評論文本提出了AFER 模型,利用預訓練模型BERT 得到適合當前任務與上下文相關的動態詞嵌入表示,解決詞向量靜態編碼方法帶來的語義偏差問題;其次在考慮交互前特征拼接策略和用戶商品間存在的不平衡性,設計了一種自適應特征拼接機制,平衡用戶和商品各自的重要程度,增強二者相關性;最后在6個公開數據集上的實驗結果表明,本文提出的模型可有效降低評分預測誤差。未來將關注用戶對商品的評論時間及評論的時間跨度,考慮用戶在短期發生的興趣偏移對推薦性能的影響。