摘要:針對評論文本的個性化推薦算法包括多個功能層。數(shù)據(jù)預(yù)處理層將用戶對物品的評語轉(zhuǎn)化為詞向量,從而降低算法的計算效率。卷積神經(jīng)網(wǎng)絡(luò)層對預(yù)處理后的數(shù)據(jù)進行卷積操作,形成評論語句的上下文表達方法。注意力層分為三層注意力機制和協(xié)同注意力機制兩種運行模式,用于提取用戶和物品的個性化特征。預(yù)測評論層以量化方式對個性化推薦算法進行評價,相關(guān)評價指標(biāo)為均方誤差。經(jīng)數(shù)據(jù)檢驗,該推薦算法的性能優(yōu)于PMF、UserCF等同類推薦算法。
關(guān)鍵詞:評論文本;個性化推薦算法;卷積神經(jīng)網(wǎng)絡(luò)
引言
推薦算法在互聯(lián)網(wǎng)中應(yīng)用廣泛,當(dāng)前已經(jīng)形成了多種技術(shù)路徑。評論文本是用戶對商品、物品的文字性評價,相關(guān)數(shù)據(jù)具有客觀性和廣泛性??茖W(xué)處理評論信息有利于構(gòu)建基于評論內(nèi)容的個性化推薦算法模型,其設(shè)計難點在于如何從數(shù)據(jù)中提取特征信息,同時還需要有效解決數(shù)據(jù)稀疏造成的冷啟動問題。
1. 算法實現(xiàn)原理
1.1 算法原理概述
評論文本是指互聯(lián)網(wǎng)用戶對特定事物的網(wǎng)頁文字性評論內(nèi)容。以電子商務(wù)為例,用戶對商品的評論內(nèi)容通常包括功能、質(zhì)量、性價比、喜愛度等。算法模型以評論文本為線索,在用戶和商品之間建立聯(lián)系,從而實現(xiàn)個性化推薦,主要的建模依據(jù)為網(wǎng)頁歷史評論數(shù)據(jù)、物品和用戶的已知屬性。
1.2 算法實現(xiàn)流程
針對評論文本的個性化推薦算法以卷積神經(jīng)網(wǎng)絡(luò)(CNN)為基礎(chǔ),其基本實現(xiàn)流程為輸入用戶/項目數(shù)據(jù)→匹配用戶和項目的屬性→判斷是否已產(chǎn)生用戶/項目評論數(shù)據(jù)→算法處理→推薦輸出。新物品或者新注冊的平臺用戶暫時未產(chǎn)生評論文本,部分物品或用戶的文本評論數(shù)據(jù)過少,以上兩類情況不利于推薦算法的應(yīng)用,采用冷啟動方式對其進行處理[1]。
2. 數(shù)據(jù)稀疏的處理方式
算法須利用大量的數(shù)據(jù)訓(xùn)練模型,在這一過程中持續(xù)進行優(yōu)化,直到完成收斂。用戶和物品的推薦關(guān)系模型提煉自大量的評論文本數(shù)據(jù),一旦出現(xiàn)文本數(shù)據(jù)稀疏的問題,算法模型將難以獲得良好的性能,甚至無法完成個性化推薦,在理論研究中也將這一現(xiàn)象稱為冷啟動[2]。處理數(shù)據(jù)稀疏問題的方法為引入用戶/物品屬性信息。在網(wǎng)絡(luò)平臺中錄入新物品時通常需設(shè)置類別、用途、性能參數(shù)、材質(zhì)、價格、品牌等屬性,常見的用戶屬性為年齡和性別。屬性信息可作為建立推薦關(guān)系的依據(jù)。例如,化妝品的主要推薦對象為女性消費者。在研究過程中利用屬性相似度表征不同用戶/物品在推薦方向上的一致性。假設(shè)用戶A、B的性別分別為G1、G2,則這兩位用戶的性別屬性相似度按照下式進行計算[1]。
顯然,用戶和物品都具有多個屬性,既可計算單一屬性的相似度,亦可計算多個屬性的綜合相似度,后者的計算方法為求取單一屬性相似度的平均值。如果一個新注冊的用戶和一個評論數(shù)據(jù)充足的老用戶具有較高的屬性相似度,那么新用戶的推薦內(nèi)容可借鑒老用戶,從而提高對新用戶的個性化推薦效果。
3. 針對評論文本的個性化推薦算法
3.1 數(shù)據(jù)預(yù)處理
評論文本由詞匯和句子組成,而卷積神經(jīng)網(wǎng)絡(luò)擅長處理數(shù)學(xué)問題,因而需利用自然語言處理技術(shù)將文字信息轉(zhuǎn)化為低維度的數(shù)學(xué)向量。Word2Vec是一種成熟的詞向量訓(xùn)練模型,其輸入為經(jīng)過特殊編碼(通常為One-Hot編碼)的詞語,輸出為表示該詞語的向量[3]。假設(shè)用戶u對物品k發(fā)表了n條評論語句,其中任意一條評論文本表示為Si,則一條評論中的語句集合du,k=(S1,S2,...,Sn)。語句Si中含有j個詞匯,則Si=(s1,s2,...,sj)。使用Word2Vec處理所有詞匯,將其轉(zhuǎn)化為詞向量。
3.2 卷積神經(jīng)網(wǎng)絡(luò)層
3.2.1 卷積處理
每句評論中的若干個詞匯形成一個詞向量矩陣,其中的每一行元素代表文本中的一個詞匯。假設(shè)一句評語中含有5個詞匯,經(jīng)過轉(zhuǎn)化后形成了一個5×5的矩陣。詞匯是評論文本中最小的特征提取單元,卷積核的長、寬應(yīng)滿足詞匯全覆蓋。對于5×5的詞向量矩陣,可將卷積核的長寬設(shè)置為2×5、3×5或者5×5。以2×5的卷積核為例,將用戶評論的語句逐條輸入卷積神經(jīng)網(wǎng)絡(luò),其計算表達式如下。
式中,將激活函數(shù)記為 ,卷積核中涉及的參數(shù)表示為Uw,卷積操作中的偏置項記為bw。另外,語句中的詞匯存在上下文關(guān)系,表示為W(i-kW):(i+kW)。卷積操作的結(jié)果為詞匯wi的上下文表示方法,記為Ciw。于是,一個含有m個詞匯的語句經(jīng)卷積神經(jīng)網(wǎng)絡(luò)層處理后的結(jié)果可表示為(C1w,C2w,...,Cmw)。
3.2.2 激活函數(shù)
在該算法中,激活函數(shù)的作用是提取神經(jīng)元的特征,常用的激活函數(shù)包括sigmoid函數(shù)、ReLU函數(shù)、tanh函數(shù)等。結(jié)合研究內(nèi)容的特點,選用ReLU函數(shù)提取詞匯特征,其計算方法如下。
3.3 注意力層
注意力機制的主要作用為挖掘用戶和物品之間的關(guān)系,尤其是用戶選擇物品時的偏好,根據(jù)其挖掘維度上的差異,可分為三個層次。
3.3.1 詞匯層
在針對評論文本的個性化推薦算法中,用戶對物品的評語是構(gòu)建模型的核心依據(jù),但每一句評語中均包含有多個詞匯,用戶偏好與詞匯之間的聯(lián)系程度可能存在一定的差異性。假設(shè)用戶對手機產(chǎn)品的評論為“這部手機的續(xù)航時間不夠長”,在Word2Vec訓(xùn)練前先將其轉(zhuǎn)化為英文:“The battery life of this mobile phone is not long enough”。能夠表達用戶選擇偏好的關(guān)鍵詞為battery life 、not long enough。鑒于此,基于詞匯層的注意力機制用于區(qū)分不同詞匯的重要性。
網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)庫中利用ID對不同用戶、不同物品進行唯一性標(biāo)識,用戶ID詞向量記為Uid,物品ID記為Wid,用戶u對物品w的個性化注意力向量可表示為式(4)。
該公式的實現(xiàn)原理為MLP(多層感知機),W1表示分配給用戶u的權(quán)重值,b1為對應(yīng)的偏置項。將qwu作為參數(shù),按照詞匯層注意力機制可產(chǎn)生如下表達式。
式中,卷積神經(jīng)網(wǎng)絡(luò)可學(xué)習(xí)的參數(shù)記為A1,一個評論語句中第k個詞匯的詞向量可表示為Ckw,與之相對應(yīng)的詞匯權(quán)重值記為akw。按照以上計算公式,評論語句S的整體表示方法為式(6)。
3.3.2 語句層
與詞匯類似,用戶可對同一個物品發(fā)表多條評論語句,因而語句之間也存在重要性差異,需分配差異化的權(quán)重值[4]。語句層次的卷積處理方式可參照詞匯層,假設(shè)用戶u對物品k發(fā)表了n條評論語句,利用ReLU函數(shù)求得語句Sj對應(yīng)的上下文特征以及用戶在語句層的個性化注意力向量qsu。依據(jù)相關(guān)計算方法求得任意評論語句的注意力權(quán)重計算表達式(aks),對評論語句的上下文表示方法進行加權(quán)求和,最終得到評論的上下文表示結(jié)果[2]。
3.3.3 評論層
在評論層需建立用戶和物品之間的注意力網(wǎng)絡(luò)模型,方法與詞匯層、語句層基本一致。將用戶ID的轉(zhuǎn)化為詞向量,嵌入算法中。分別求得用戶評論級別的個性化注意向量(qdu)、任意評論的上下文表示方法(dk)以及任意評論的注意力權(quán)重(akd),各個指標(biāo)的計算方法可參考詞匯級。
3.4 共同注意力機制
用戶對物品的評論為多對多關(guān)系,一個用戶可評價多個物品,一個物品能夠接受多個用戶的評價。在三級注意力機制中,個性化推薦分別從用戶和物品兩個角度進行建模,但二者之間的協(xié)同交互性未能體現(xiàn)。從物品角度看,不同用戶評論文本的重要性存在區(qū)別。從用戶角度看,其對物品的關(guān)注度也各不相同。在針對評論文本的個性化推薦算法中設(shè)計了共同注意力機制,用于構(gòu)建涵蓋用戶和物品的個性化特征提取方法。深度學(xué)習(xí)中的Co-Attention網(wǎng)絡(luò)在這一過程中發(fā)揮了關(guān)鍵性作用。相對于三級注意力機制,其改進點為在計算用戶對應(yīng)評論的權(quán)重時引入物品因素,物品對應(yīng)評論的權(quán)重計算中引入用戶因素,激活函數(shù)選用tanh函數(shù)[3]。
3.5 評分預(yù)測層
在注意力層分別構(gòu)建了物品和用戶的個性化特征提取模型,評分預(yù)測層的核心功能是在這一基礎(chǔ)上對二者進行融合與量化評分,得到預(yù)測結(jié)果,其計算方法如式(7)。
式中,將用戶的個性化特征記為Pu,對應(yīng)的評分偏置項為bu。將物品的個性化特征記為Pi,對應(yīng)評分偏置項為bi。對物品i的所有評分求取平均值,記為。評分原理為用戶對物品打分,分值范圍介于最小值和最大值之間。但一部分用戶習(xí)慣于打高分,其他用戶在評分中更為謹(jǐn)慎,打低分的可能性更高。偏置項和的引入能夠有效避免打分偏好對預(yù)測結(jié)果的不利作用[5]。是一種預(yù)測分值,與實際的(用戶真實評分)可能存在差異,在預(yù)測過程中需控制二者之間的差值,在數(shù)學(xué)中利用損失函數(shù)描述差值控制效果,如式(8)。
式中,將訓(xùn)練集記為,u和i分別表示用戶和物品,表示訓(xùn)練集中的所有用戶和物品。
4. 算法仿真檢驗
4.1.1 數(shù)據(jù)源
由于模型檢驗需要大量的數(shù)據(jù),而數(shù)據(jù)的收集存在合法性問題,故選用網(wǎng)絡(luò)上的開源數(shù)據(jù)集,以亞馬遜的商品評論信息和評分信息為數(shù)據(jù)源。選擇五種品類的商品,其對應(yīng)的評價用戶及評論數(shù)據(jù)如表1所示,其中的數(shù)據(jù)稀疏性指評論數(shù)量與用戶和物品乘積的比值。另外,關(guān)于數(shù)據(jù)稀疏引起的冷啟動問題,可利用開源的MovieLens數(shù)據(jù)集,其來源為電影評分網(wǎng)站[4]。
4.1.2 實驗環(huán)境
算法在運行過程中需一次性處理較大規(guī)模的數(shù)據(jù),因而對計算機硬件提出了較高的要求。在實驗過程中采用主頻為3.70GHz的CPU,計算機內(nèi)存設(shè)計為16G,硬盤存儲空間設(shè)置為1TB。算法編寫采用Python語言,利用Numpy、Pandas搭建運行環(huán)境。
4.1.3 核心評價指標(biāo)
算法性能的評價指標(biāo)為均方誤差(MSE),其計算方法如下。
4.1.4 冷啟動仿真
冷啟動用于解決數(shù)據(jù)稀疏的問題,常規(guī)處理思路為隨機推薦,但效果差強人意。故研究中計算了用戶/物品的屬性相似度,根據(jù)相似屬性實施推薦操作。為了驗證后者的實際效果,采用隨機推薦和屬性相似度推薦兩種方法分別處理相同的數(shù)據(jù)集(數(shù)據(jù)取自仿真實驗數(shù)據(jù)集)。結(jié)果顯示:基于屬性相似度的冷啟動處理方法在影像游戲類商品的推薦效果上比隨機推薦提升了6.77%,工具類物品提升了5.30%,數(shù)字音樂產(chǎn)品提升了6.64%,辦公用品提升了4.22%,樂器類物品提升了7.6%??梢姡芯恐刑岢龅睦鋯犹幚矸椒ㄈ鎯?yōu)于隨機推薦[5]。
4.1.5 針對評論文本的個性化推薦算法仿真
為了檢驗針對評論文本的個性化推薦算法(PRBR)的實際應(yīng)用效果,為其設(shè)置多個對照組,包括UserCF算法、PMF算法、CARL算法等,表2統(tǒng)計了目標(biāo)組和對照組的實驗結(jié)果。從中可知,在PRBR算法下,五類商品的MSE均小于對照算法,明顯優(yōu)于PMF算法、UserCF算法。略好于CARL算法、NRPA算法以及DeepCoNN算法。
結(jié)語
針對評論文本的個性化推薦算法將用戶對物品的評論數(shù)據(jù)作為線索,從中提取用戶個性化特征及物品個性化特征。該算法建立在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)之上,同時融入了注意力機制。為提升算法運行效率,提前利用Word2Vec訓(xùn)練評論語句,使其從文字轉(zhuǎn)化為向量。算法的核心功能層為CNN層和注意力層,針對數(shù)據(jù)稀疏的問題專門設(shè)計了冷啟動機制,以屬性相似度為推薦依據(jù)。
參考文獻:
[1]莊周.文學(xué)作品的個性化推薦算法研究與實現(xiàn)[D].北京郵電大學(xué),2019.
[2]楊莉明.個性化推薦在移動新聞資訊傳播中的應(yīng)用、影響與反思[J].新聞與傳播評論,2020,73(2):47-58.
[3]劉品潔.語言識別下的數(shù)據(jù)庫信息個性化推薦算法[J].信息技術(shù),2022,(8): 191-196.
[4]鄧?yán)?,古發(fā)輝,李海平.用戶多興趣下的個性化推薦算法分析[J].信息與電腦(理論版),2019,(3):69-71.
[5]熊孝全.面向微博內(nèi)容的個性化推薦算法的研究[D].蘇州大學(xué),2019.
作者簡介:魏鏡酈,本科,講師,研究方向:數(shù)學(xué)與應(yīng)用數(shù)學(xué)。