朱千謙,藍(lán)雯飛,孫惠,張雨綺,田鵬
(中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,武漢 430074)
隨著互聯(lián)網(wǎng)的崛起與發(fā)展,人們的生活發(fā)生了翻天覆地的變化.生活中的各個(gè)領(lǐng)域,如醫(yī)療、交通、購物、娛樂等都充斥著大量的數(shù)據(jù),雖然網(wǎng)絡(luò)中的數(shù)據(jù)呈現(xiàn)指數(shù)級的增長給人們帶來了便利,但是海量數(shù)據(jù)又增加了人們獲取有效數(shù)據(jù)的難度.數(shù)據(jù)過載使得從海量數(shù)據(jù)中挖掘有效信息成為一個(gè)難以解決的問題.近年來,推薦算法被證明在實(shí)際場景中能夠有效地解決數(shù)據(jù)過載的問題,因此推薦算法成為國內(nèi)外專家學(xué)者研究的熱點(diǎn)領(lǐng)域.
協(xié)同過濾推薦算法和基于內(nèi)容的推薦算法是傳統(tǒng)推薦算法的代表.其中,協(xié)同過濾推薦算法通過用戶與系統(tǒng)的交互行為來分析其興趣偏好,為興趣相似的用戶推薦類似的物品;基于內(nèi)容的推薦算法則是根據(jù)物品的元數(shù)據(jù),挖掘物品之間的相關(guān)性,然后基于用戶的歷史偏好為用戶推薦相似的物品.
當(dāng)系統(tǒng)中數(shù)據(jù)量過大的時(shí)候,用戶難以獲取稀疏分布在系統(tǒng)中的有效數(shù)據(jù).為了解決這個(gè)問題,系統(tǒng)需要多維度分析用戶交互行為的特征,通過特征來獲取更多關(guān)聯(lián)性的數(shù)據(jù),繼而解決數(shù)據(jù)稀疏性的問題.因?yàn)橛脩舻脑u論信息是反映用戶興趣偏好的重要載體,所以國內(nèi)外研究人員致力于從用戶評論信息中提取更多的有效數(shù)據(jù).
GUANG等[1]和CATALDO等[2]率先利用了非負(fù)矩陣分解和狄利克雷分布的方式提取了評論的主題分布和主題中每一個(gè)詞的分布,實(shí)現(xiàn)了一種比單一評分?jǐn)?shù)據(jù)的模型更加精確的推薦方式.但是,這兩種方式?jīng)]有考慮到評論文本中詞與詞之間的依賴關(guān)系.BAO等[3]提出一種TopicMF模型,該模型利用矩陣分解的方式將用戶-物品評分矩陣進(jìn)行分解來提取用戶和物品的潛在因子,同時(shí)使用非負(fù)矩陣分解的方法從評論中提取主題,并將主題因子與用戶物品潛在因子進(jìn)行關(guān)聯(lián),但當(dāng)主題因子和用戶物品潛在因子稀疏時(shí),相關(guān)聯(lián)的因子缺失會降低推薦質(zhì)量.WU等[4]設(shè)計(jì)了一種基于上下文感知的用戶-物品表示學(xué)習(xí)模型,該模型通過兩個(gè)獨(dú)立的學(xué)習(xí)組件,分別利用用戶的評論數(shù)據(jù)和評分交互數(shù)據(jù),動(dòng)態(tài)地學(xué)習(xí)用戶的交互特征.由于該模型訓(xùn)練量較大,當(dāng)兩種交互特征的耦合度較高時(shí),特征數(shù)據(jù)較少,導(dǎo)致無法根據(jù)用戶的交互特征進(jìn)行精確推薦.不同的評論信息對于某一個(gè)具體目標(biāo)的重要性是不一樣的,MPCN[5]模型利用評論級別的共注意力機(jī)制,挑選出最重要的評論,然后利用詞級別的注意力機(jī)制來提取重要評論的特征信息,但該模型會忽略低級別的評論信息,導(dǎo)致評論特征信息提取不全面而降低推薦的準(zhǔn)確率.
上述方法雖然致力于不斷提升推薦算法的質(zhì)量,但只能提取文本的淺層信息,無法獲取文本中上下文的依賴關(guān)系.由于BiLSTM能夠雙向捕獲上下文的語義依賴關(guān)系,為了全面提取用戶評論短文本中的特征信息,在可獲取用戶評論數(shù)據(jù)的場景下,本文提出了一種基于ALBERT-BiLSTM模型的協(xié)同過濾推薦算法(ALBERT-BiLSTM Model Based Collaborative Filtering Recommendation Algorithm)ABFR算法,ABFR算法先利用ALBERT模型對用戶評論信息進(jìn)行預(yù)處理,將普通文本轉(zhuǎn)化為詞向量,繼而使用BiLSTM網(wǎng)絡(luò)分析詞向量間的情感傾向.將用戶評論短文本中的情感傾向轉(zhuǎn)化為評分?jǐn)?shù)據(jù)填充到用戶評分矩陣中,再結(jié)合矩陣中情感分析的評分?jǐn)?shù)據(jù)和用戶對物品的評分?jǐn)?shù)據(jù)來為用戶提供個(gè)性化推薦,最后通過對比實(shí)驗(yàn)證明算法的有效性.
BERT模型參數(shù)量大,使用BERT模型進(jìn)行預(yù)訓(xùn)練需要更高的計(jì)算能力和更多的時(shí)間開銷,為了解決這個(gè)問題,LAN等[6]提出了ALBERT模型,模型結(jié)構(gòu)如圖1所示.
圖1 ALBERT模型結(jié)構(gòu)Fig.1 Structure of ALBERT model
圖1中[E1,E2,…,En-1,En]是原始文本向量,trm是Transformer模型[7],模型的輸出包含了表示全部文本上下文信息的向量,每個(gè)向量[T1,T2,…,Tn-1,Tn]包含了一條完整序列的文本信息.
BiLSTM神經(jīng)網(wǎng)絡(luò)通過拼接前后向隱藏層向量,提取詞向量之間的語義依賴關(guān)系,這樣就能夠充分考慮上下文信息,挖掘語料中的情感傾向.BiLSTM的結(jié)構(gòu)如圖2所示.
圖2中,LSTML和LSTMR分別是前向傳遞模塊和后向傳遞模塊,XN表示N位置上的詞向量輸入,hLN和hRN分別是N位置的前向傳遞隱層輸出和后向傳遞隱層輸出.最后BiLSTM模型的輸出結(jié)果是前向和后向輸出結(jié)果的均值[hLN,hRN].
圖2 BiLSTM結(jié)構(gòu)圖Fig.2 BiLSTM structure diagram
為了佐證評論文本中的情感傾向信息是否對推薦算法的精確度有正向影響,本文提出基于ALBERT-BiLSTM的情感分析模型來挖掘用戶評論數(shù)據(jù)中的情感傾向并根據(jù)情感傾向進(jìn)行個(gè)性化推薦.首先評論語料信息進(jìn)入ALBERT層進(jìn)行預(yù)訓(xùn)練,ALBERT層將一條評論語句轉(zhuǎn)化為多個(gè)詞向量.詞向量傳入BiLSTM層中,BiLSTM通過前向LSTM和后向LSTM來捕獲詞向量間雙向的語義依賴信息分析用戶評論文本中的情感傾向;然后將情感傾向進(jìn)行二分類,分為積極情感和消極情感傳入情感數(shù)值化層.情感數(shù)值化層將情感傾向進(jìn)行數(shù)值化處理,數(shù)值化處理方式可以表示為:
將情感數(shù)值化評分代入到用戶評分矩陣,此時(shí)用戶評分矩陣中的數(shù)據(jù)為普通評分?jǐn)?shù)據(jù)和情感數(shù)值化評分?jǐn)?shù)據(jù)的并集.最后,通過用戶相似度計(jì)算公式挖掘鄰域用戶,根據(jù)用戶對物品的評分對相似物品進(jìn)行聚類,為鄰域用戶提供個(gè)性化推薦,見圖3.
圖3 ABFR算法的模型圖Fig.3 Model diagram of ABFR algorithm
因?yàn)閰f(xié)同過濾推薦算法的原理是通過計(jì)算用戶相似度和物品相似度來構(gòu)建最近鄰居集合,并為最近鄰居推薦用戶偏好相似的物品,所以用戶相似度和物品相似度計(jì)算是推薦算法的核心.
3.2.1 用戶相似度
在用戶-物品評分矩陣中,因?yàn)閮蓚€(gè)用戶對相同物品評分的均方差越小則表示兩個(gè)用戶相似度越高,所以本文使用用戶評分均方差來計(jì)算用戶相似度,計(jì)算方式可以表示為:
其中,Iu,v表示用戶u和用戶v都評價(jià)過的物品集合,msd(u,v)表示用戶u和用戶v對相同物品評分的均方差,則用戶的相似度的計(jì)算方式可以表示為:
3.2.2 物品相似度
WENG等[8]指出在用戶對物品評分?jǐn)?shù)據(jù)稀疏的情況下,針對物品的特征屬性對物品進(jìn)行聚類能夠在一定程度上緩解數(shù)據(jù)稀疏性導(dǎo)致物品相似度度量不準(zhǔn)確的問題.物品相似度的計(jì)算方式可以表示為:
其中,F(xiàn)為物品的特征總數(shù),fi表示物品i所具有的特征數(shù),fj表示物品j所具有的特征數(shù).故公式(4)中的分子表示物品i和物品j所具有相同特征的個(gè)數(shù),分母表示物品特征總數(shù)和物品i,j都不具有的特征數(shù)的差值.
3.2.3 物品相似度歸一化
XIANG等[9]發(fā)現(xiàn)在基于物品相似度的協(xié)同過濾推薦算法中,如果將物品的相似矩陣按照矩陣最大值進(jìn)行歸一化可以提高推薦的準(zhǔn)確率.而KARYPIS等[10]提出對物品的相似矩陣按照矩陣最大值進(jìn)行歸一化可以提高推薦算法的覆蓋率和多樣性.因此,當(dāng)物品的相似矩陣構(gòu)建以后可以按照公式(5)進(jìn)行歸一化,物品相似度計(jì)算方式可以進(jìn)一步表示為公式(5):
其中,Sim'item(i,j)表示物品i和物品j的相似度,max表示相似度矩陣的最大值.
用戶u對物品i的評分計(jì)算方式可以表示為:
其中,S(u)表示與當(dāng)前用戶相似度最高的前n個(gè)用戶所組成的集合,Iu,v表示用戶u和用戶v共同評分的物品的集合.Simuser(u,v)是用戶u和用戶v通過公式(3)計(jì)算得到的相似度.rvi表示用戶v對物品i的評分表示用戶u對物品的平均評分表示用戶v對物品的平均評分.
實(shí)驗(yàn)數(shù)據(jù)來自于豆瓣電影評論數(shù)據(jù)集——DMSCD數(shù)據(jù)集,通過分時(shí)多次爬取,在各個(gè)時(shí)間段內(nèi)對熱門電影爬取用戶評論數(shù)據(jù),爬取的字段包括用戶id、用戶名稱、觀看時(shí)間、電影id、電影名稱、評論信息.該數(shù)據(jù)集包含了129490個(gè)獨(dú)立用戶對58514部電影的1048446條評論信息,達(dá)到實(shí)驗(yàn)所需數(shù)據(jù)量.本實(shí)驗(yàn)先將數(shù)據(jù)進(jìn)行清洗,將重復(fù)記錄、邏輯錯(cuò)誤記錄和信息缺失記錄剔除,剩余987494條數(shù)據(jù),按照8∶2的比例設(shè)置訓(xùn)練集和測試集.
實(shí)驗(yàn)參數(shù)設(shè)置如表1所示.
表1 實(shí)驗(yàn)參數(shù)Tab.1 Experimental parameters
本實(shí)驗(yàn)使用準(zhǔn)確率(Accuracy)作為情感分類對比實(shí)驗(yàn)的評價(jià)指標(biāo),使用精確率(Precision)和召回率(Recall)[11]作為推薦模型對比實(shí)驗(yàn)的評價(jià)指標(biāo).
(1)準(zhǔn)確率:被正確分類的樣本數(shù)占全體樣本數(shù)的比例,準(zhǔn)確率越高,分類器的分類效果越好.具體的計(jì)算方式可以表示為:
(2)精確率:在訓(xùn)練集中,針對目標(biāo)用戶u所推薦的物品列表中真正的正樣本占預(yù)測為正的樣本的比例.具體的計(jì)算方式可以表示為:
(3)召回率:在訓(xùn)練集中,針對目標(biāo)用戶u推薦的物品列表中有多少正例被正確預(yù)測.具體的計(jì)算方式可以表示為:
其中,TP是正確預(yù)測出的正樣本個(gè)數(shù);TN是正確預(yù)測出的負(fù)樣本個(gè)數(shù);FP是錯(cuò)誤預(yù)測出的正樣本個(gè)數(shù);FN是錯(cuò)誤預(yù)測出的負(fù)樣本個(gè)數(shù).
近年來,研究人員在文本情感分析領(lǐng)域提出了基于機(jī)器學(xué)習(xí)的SVM[12]模型來解決非線性高維度情感分析的問題.隨著神經(jīng)網(wǎng)絡(luò)的發(fā)現(xiàn),國內(nèi)外學(xué)者先后利用RNN[13]、RNTN[14]、LSTM[15]、BiLSTM[16]和CNN[17]網(wǎng)絡(luò)挖掘文本的情感傾向.
(1)SVM:支持向量機(jī),是一個(gè)非常高效的分類模型,通過尋找不同情感的分界面,使得情感二分類的樣本盡量落在分界面的兩邊,可用于檢測評論文本中詞所在類別所表達(dá)的情感.
(2)RNN:循環(huán)神經(jīng)網(wǎng)絡(luò),能夠挖掘出具有序列特性的時(shí)序信息和語義中包含的情感信息.
(3)RNTN:遞歸張量神經(jīng)網(wǎng)絡(luò),通過往詞向量中添加一個(gè)矩陣來組成一個(gè)詞向量-矩陣的形式,RNTN能夠允許乘法類型的詞向量之間相互作用,可以用于處理復(fù)雜的詞向量數(shù)據(jù).
(4)LSTM:長短期記憶網(wǎng)絡(luò),通過有效保存長距離單向詞向量的語義信息,根據(jù)詞向量之間的語義依賴關(guān)系對情感信息進(jìn)行分類.
(5)BiLSTM:雙向長短期記憶網(wǎng)絡(luò),通過對詞向量之間語義依賴關(guān)系進(jìn)行雙向解析,對情感信息進(jìn)行分類.
(6)CNN:卷積神經(jīng)網(wǎng)絡(luò),通過捕捉詞向量的短距離語義依賴特征來獲取文本中的局部信息,對文本中的局部信息進(jìn)行解析從而獲取文本中的情感信息.
為了對比不同方法針對文本情感分析的準(zhǔn)確性,本節(jié)在DMSCD數(shù)據(jù)集上進(jìn)行了情感分類任務(wù),將算法使用的ALBERT-BiLSTM分類模型與多個(gè)模型進(jìn)行了對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表2.
表2 情感分類對比實(shí)驗(yàn)數(shù)據(jù)結(jié)果統(tǒng)計(jì)Tab.2 Comparative experimental data statistics of emotion classification %
如表2所示,在情感分類的任務(wù)上,BiLSTM相較于傳統(tǒng)的機(jī)器學(xué)習(xí)方法有著顯著的性能提升.BiLSTM通過雙向捕捉詞向量之間的語義依賴關(guān)系使得情感分類的準(zhǔn)確率達(dá)到了82.6%,這一結(jié)果與SVM方法相比準(zhǔn)確率提升了6.4%,與CNN卷積神經(jīng)網(wǎng)絡(luò)方法相比準(zhǔn)確率提升了1.1%.本算法所使用的基于ALBERT-BiLSTM的情感分類方法相較于BiLSTM方法在對單句情感分類的實(shí)驗(yàn)上準(zhǔn)確率提升了2.8%;在對所有句子情感分類的實(shí)驗(yàn)上準(zhǔn)確率提升了3.1%.實(shí)驗(yàn)證明,本文所使用的基于ALBERTBiLSTM的情感分類方法具有更好的分類效果.
為了比較ABFR算法和其他算法在電影推薦場景下精確率的優(yōu)劣,本節(jié)在豆瓣電影評論數(shù)據(jù)集上進(jìn)行了對比實(shí)驗(yàn),對比算法如下:
(1)基于熱度的推薦算法(TopPop):按照電影評分的人數(shù)來確定電影的熱度,電影評分人數(shù)越多則該電影的熱度越高,篩選出熱度最高的前N部電影推薦給當(dāng)前用戶.
(2)基于用戶的推薦算法(UserKNN):尋找與當(dāng)前用戶相似度最高的前k個(gè)用戶,然后推薦相似用戶感興趣的電影給當(dāng)前用戶.
(3)基于物品的推薦算法(ItemKNN):將與當(dāng)前用戶感興趣的電影相似的電影推薦給當(dāng)前用戶.
(4)加權(quán)正則的矩陣分解方法(WRMF)[18]:通過將用戶的隱式反饋行為轉(zhuǎn)化為用戶對電影偏好可信度的權(quán)重,將用戶偏好可信度較高的電影推薦給當(dāng)前用戶.
(5)稀疏線性模型推薦方法(SLIM)[19]:通過以一個(gè)稀疏矩陣R作為權(quán)重,來給矩陣打分,通過線性的方式學(xué)習(xí)電影之間的相似度,為用戶推薦與其偏好電影相似的電影.
針對上述推薦算法預(yù)測結(jié)果的精確率和召回率進(jìn)行實(shí)驗(yàn).在DMSCD數(shù)據(jù)集上分別進(jìn)行top5和top10推薦,精確率的實(shí)驗(yàn)結(jié)果如表3所示,召回率的實(shí)驗(yàn)結(jié)果如圖4所示.
表3 DMSCD數(shù)據(jù)集上的不同模型精確率對比結(jié)果Tab.3 Comparison results of precision of different models on DMSCD dataset
圖4 DMSCD數(shù)據(jù)集上不同模型的召回率Fig.4 Recall of different models on DMSCD dataset
從表3可知,本文所提出的ABFR算法相較于基線算法:基于用戶的推薦算法和基于物品的推薦算法在精確率上有顯著的提升.這是因?yàn)锳BFR算法能夠精準(zhǔn)地捕捉到用戶對電影評論文本中的情感傾向,將情感傾向二值化代入到用戶對電影的評分矩陣中,有效解決了評分矩陣中數(shù)據(jù)稀疏性的問題,從而能夠更加精確地進(jìn)行推薦.由于ABFR算法引入了神經(jīng)網(wǎng)絡(luò)來更好地學(xué)習(xí)語料文本中的信息進(jìn)而獲取詞向量之間的語義依賴關(guān)系,從而能夠更好地融合雙向語義關(guān)聯(lián)信息,因此ABFR算法相較于加權(quán)正則的矩陣分解方法和稀疏線性模型推薦方法精確率也有所提升.
從圖4可知,在DMSCD數(shù)據(jù)集上進(jìn)行top10、top20、top30、top40推薦的實(shí)驗(yàn),ABFR算法的召回率指標(biāo)優(yōu)于其他推薦模型,證明ABFR算法具有優(yōu)秀的推薦性能.
在可獲取用戶評論數(shù)據(jù)的場景下,為了挖掘用戶對電影評論信息中的情感傾向,根據(jù)用戶的情感傾向來為用戶推薦感興趣的電影,本文提出了一個(gè)基于ALBERT-BiLSTM模型的推薦算法ABFR.ABFR算法首先利用ALBERT模型對評論短文本語料進(jìn)行預(yù)訓(xùn)練并轉(zhuǎn)化為詞向量,然后使用BiLSTM網(wǎng)絡(luò)來挖掘詞向量之間的語義依賴關(guān)系并分析語料信息的情感傾向,將分析出的情感以評分的形式代入到用戶-物品評分矩陣中,最后利用相似度算法來為當(dāng)前用戶推薦感興趣的電影.實(shí)驗(yàn)結(jié)果表明:本文提出的ABFR算法能夠有效地利用評論信息判斷用戶的情感傾向,更加準(zhǔn)確地挖掘用戶的興趣點(diǎn).ABFR算法在精確率和召回率兩個(gè)評價(jià)指標(biāo)上都明顯優(yōu)于其他推薦方法.未來還會考慮通過分析用戶的社交關(guān)系來強(qiáng)化相似度的計(jì)算,期望能夠進(jìn)一步提升推薦算法的性能.
中南民族大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年3期