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