沈鐵孫龍,付曉東,+,岳 昆,劉 驪,劉利軍
1.云南省計算機(jī)應(yīng)用技術(shù)重點(diǎn)實(shí)驗(yàn)室(昆明理工大學(xué)),昆明650600
2.昆明理工大學(xué)信息工程與自動化學(xué)院,昆明650500
3.云南大學(xué)信息學(xué)院,昆明650504
近年來,互聯(lián)網(wǎng)的蓬勃發(fā)展致使網(wǎng)絡(luò)信息量呈指數(shù)級增長,網(wǎng)絡(luò)大數(shù)據(jù)給人們帶來嚴(yán)重的信息過載問題,導(dǎo)致用戶難以準(zhǔn)確獲取與其需求相符合的信息。推薦系統(tǒng)能夠根據(jù)用戶歷史行為數(shù)據(jù),分析其潛在偏好,為用戶提供個性化推薦,成為緩解信息過載問題的有效手段。目前,推薦系統(tǒng)已應(yīng)用于電子商務(wù)(如Amazon、阿里巴巴)、社交網(wǎng)絡(luò)(如Facebook、Twitter)、電影推薦(如Netflix)、音樂推薦(如Last.fm)、新聞推薦(如GoogleNews、今日頭條等)等領(lǐng)域。
現(xiàn)有推薦系統(tǒng)主要是基于歷史信息的推薦,以用戶評分矩陣作為主要的用戶偏好信息[1]。用戶評分具有主觀性,不同用戶打分標(biāo)準(zhǔn)不同,進(jìn)而不同用戶對同一商品的評分不可比較,導(dǎo)致推薦效果不佳[2-3]。同時用戶評分矩陣通常較為稀疏,而推薦系統(tǒng)模型期望稠密輸入,稀疏輸入帶來性能下降,因此現(xiàn)有推薦算法普遍面臨評分矩陣稀疏,難以分析提取用戶偏好的問題[2],也造成了實(shí)際推薦效果不佳。多數(shù)推薦平臺為用戶提供了交互接口,如點(diǎn)贊、評論等。在線評論是用戶對項(xiàng)目感受的具體反饋,這些反饋信息通常以非結(jié)構(gòu)文本形式存在,合理分析用戶評論信息能夠?qū)?xiàng)目特征及用戶偏好進(jìn)行精細(xì)刻畫。基于用戶評論、基于用戶隱式反饋信息的推薦算法在解決冷啟動、推薦準(zhǔn)確性以及可解釋性等方面具有重要潛力[4]。然而當(dāng)前受到文本信息挖掘技術(shù)、用戶潛在特征建模技術(shù)等方面的限制,基于評論信息分析的推薦算法進(jìn)展并不明顯[3]。
目前的研究廣泛認(rèn)為基于模型的推薦系統(tǒng)推薦效果優(yōu)于基于歷史信息的推薦系統(tǒng)推薦效果,特別是在稀疏數(shù)據(jù)上效果更好[5]。以模型為基礎(chǔ)的協(xié)同過濾推薦算法需分析提取“用戶-項(xiàng)目”特征矩陣以進(jìn)行用戶推薦。用戶特征不同直接導(dǎo)致用戶偏好不同,但以模型為基礎(chǔ)的協(xié)同過濾推薦算法僅考慮分析提取影響項(xiàng)目特征的關(guān)鍵因素而未考慮分析提取影響用戶特征的重要因素,這類傳統(tǒng)模型往往將用戶潛在特征向量隨機(jī)初始化,并賦予一個假定的正態(tài)分布,導(dǎo)致這些推薦系統(tǒng)模型中沒有任何一項(xiàng)數(shù)據(jù)變化可以對用戶潛在特征建模結(jié)果產(chǎn)生直接影響。另外基于用戶的推薦系統(tǒng)模型往往將用戶的評論、評分的信息直接近似作為用戶特征,傳統(tǒng)推薦系統(tǒng)中這些數(shù)據(jù)引用方式和這些數(shù)據(jù)本身不足以支撐獲取用戶的本質(zhì)特征。這些特征的近似也不能滿足個性化推薦的需求。沒有對用戶本質(zhì)特征的分析,推薦結(jié)果無法匹配用戶個性。用戶特征模型的不完整,同時也導(dǎo)致了冷啟動問題和數(shù)據(jù)稀疏問題,需要大量的用戶數(shù)據(jù)和歷史行為信息才能為用戶推薦滿意的項(xiàng)目[6]。
針對上述問題,提出一種融合人格特征提取的推薦算法。構(gòu)建人格特征提取神經(jīng)網(wǎng)絡(luò),從評論信息中獲取人格特征進(jìn)行用戶建模,將人格這種非結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換為結(jié)構(gòu)數(shù)據(jù)。輸入用戶評論及評分信息,輸出用戶人格得分。人格是一種心理構(gòu)造,可用于描述和解釋人類的行為。通過人格模型的引入,解決推薦系統(tǒng)“用戶-項(xiàng)目”模型面臨的用戶特征缺失問題,提取人格特征作為用戶本質(zhì)特征,為個性化推薦系統(tǒng)的改進(jìn)提供了新的思路。本文主要工作包括三方面:
(1)將人格這一心理學(xué)領(lǐng)域概念引入推薦系統(tǒng),并將其作為影響用戶特征表示的主要因素進(jìn)行用戶特征模型建模。
(2)設(shè)計人格提取神經(jīng)網(wǎng)絡(luò)模型,用于獲取用戶評論中反映的BIG FIVE 人格得分。
(3)設(shè)計融合人格感知的協(xié)同學(xué)習(xí)框架,將用戶人格特征和項(xiàng)目的評論文本語義分析特征融合到概率推薦模型中,根據(jù)學(xué)習(xí)結(jié)果進(jìn)行推薦,并在真實(shí)數(shù)據(jù)集上進(jìn)行了全面的驗(yàn)證。
個性化推薦的目標(biāo)是通過對影響用戶偏好的自身及外界因素進(jìn)行分析建模,以獲取用戶潛在的興趣內(nèi)容并推薦給用戶[7]。以所用方法來進(jìn)行劃分,目前主流的推薦方法主要包括基于內(nèi)容的推薦算法(contentbased recommender)[7]、協(xié)同過濾算法(collaborative filtering)[8]、混合推薦算法(hybrid recommender)[9]。
基于內(nèi)容的推薦算法通過抽取各個項(xiàng)目的屬性特征,分析用戶歷史行為構(gòu)建用戶對項(xiàng)目的偏好向量,然后計算用戶偏好向量與候選項(xiàng)目特征向量的相似性,向用戶推薦相似度高的項(xiàng)目。該方法特征提取困難,局限于文本資源推薦,很難挖掘用戶潛在興趣[3-4]。
基于協(xié)同過濾的推薦算法可分為兩個類別:基于內(nèi)存的推薦(memory-based methods)與基于模型的推薦(model-based methods)[10]。其中基于內(nèi)存的推薦僅僅將“用戶-項(xiàng)目”歷史評分記錄作為數(shù)據(jù)源,沒有利用用戶的上下文信息。研究發(fā)現(xiàn)僅僅依靠“用戶-項(xiàng)目”歷史評分記錄作為依據(jù),在實(shí)際應(yīng)用場景中其準(zhǔn)確性與適用性都存在很大問題[11]。
基于模型的協(xié)同過濾推薦又可稱為隱語義模型(latent factor model)。使用統(tǒng)計和機(jī)器學(xué)習(xí)技術(shù),從“用戶-項(xiàng)目”評分矩陣中分解出兩個低階矩陣,分別表示用戶和項(xiàng)目的隱藏特征矩陣,通過隱藏特征預(yù)測用戶評分[12-14]。已有多種模型被用于基于模型的協(xié)同過濾方法,如貝葉斯模型[15]、矩陣分解模型[10]、潛在語義分析模型[16]、深度學(xué)習(xí)模型[10]等。基于矩陣分解的方法,如SVD(singular value decomposition)[5]、NMF(non-negative matrix factorization)等,根據(jù)高維用戶-項(xiàng)目評分矩陣學(xué)習(xí)用戶、項(xiàng)目的低維向量表示,并將其用于推薦任務(wù)。此類方法在處理大規(guī)模數(shù)據(jù)時有良好表現(xiàn)。為了緩解協(xié)同過濾算法數(shù)據(jù)稀疏性和冷啟動問題,研究人員將深度學(xué)習(xí)模型引入推薦領(lǐng)域用于隱藏特征的學(xué)習(xí)。文獻(xiàn)[6]將2 層受限玻爾茲曼機(jī)(restricted Boltzmann machines,RBM)用于協(xié)同過濾,該文獻(xiàn)首次提出基于深度學(xué)習(xí)的協(xié)同過濾模型。文獻(xiàn)[10]利用用戶信息、歷史行為等多源異構(gòu)數(shù)據(jù),將深度神經(jīng)網(wǎng)絡(luò)用于YouTube 視頻推薦系統(tǒng)的候選集生成模塊和精排模塊,推薦效果顯著提升。Google提出Wide&Deep 學(xué)習(xí)模型[17]用于手機(jī)APP 推薦,該模型聯(lián)合訓(xùn)練一般的線性模型(wild)和多層感知機(jī)模型(deep),使其同時具有記憶能力和泛化能力。目前的研究廣泛認(rèn)為基于模型的推薦結(jié)果優(yōu)于基于歷史信息的推薦,特別是在稀疏數(shù)據(jù)上效果更好[18]。
若以基于何種信息進(jìn)行用戶推薦來劃分個性化推薦方法,可將個性化推薦算法分為基于評分的推薦算法、基于評論的推薦算法、融合評分及評論的推薦算法和利用其他歷史信息的推薦算法等?;谠u分的推薦算法面臨數(shù)據(jù)稀疏、冷啟動等問題,近年來許多研究者將評論信息融入?yún)f(xié)同過濾算法解決上述問題。研究人員綜合考慮了評分信息以及評論信息,提出了一種矩陣分解推薦模型(probabilistic matrix factorization,PMF)[16]。該模型假設(shè)存在一個用戶特征矩陣和一個項(xiàng)目特征矩陣,通過概率模型方法求解出這兩個矩陣,并將兩個矩陣的乘積作為用戶的最終評分預(yù)測矩陣。但該模型未考慮造成用戶特征差異的影響因素,假設(shè)影響用戶特征的影響因素隨機(jī),隨機(jī)初始化用戶特征參數(shù)。文獻(xiàn)[19]提出一種綜合考慮評論文本以及項(xiàng)目和用戶特征矩陣的模型。該模型在文獻(xiàn)[16]的基礎(chǔ)上使用卷積神經(jīng)網(wǎng)絡(luò)將用戶對項(xiàng)目的評論文本特征向量與項(xiàng)目特征矩陣結(jié)合,從而提升了模型預(yù)測的準(zhǔn)確率。
文獻(xiàn)[20]提出一個混合了自注意力機(jī)制和自編碼器的協(xié)同過濾推薦模型,通過基于物品的協(xié)同過濾實(shí)現(xiàn)來挖掘物品與物品之間的局部依賴關(guān)系,同時采用注意力網(wǎng)絡(luò)來為用戶不同的歷史交互物品和目標(biāo)物品的相似度計算分配不同的權(quán)重。該方法采用注意力機(jī)制來分配不同相似度計算的權(quán)重,以獲得最終的推薦結(jié)果,可為推薦結(jié)果帶來一定效果提升,但使用的核心方法本質(zhì)上依然是傳統(tǒng)的基于近鄰的協(xié)同過濾推薦方法,并未直接獲取到用戶特征這一直接影響推薦結(jié)果關(guān)鍵信息。文獻(xiàn)[21]采用一種融合序列的生成對抗網(wǎng)絡(luò)生成模型來重現(xiàn)用戶喜歡的項(xiàng)目序列,從而實(shí)現(xiàn)推薦,一定程度上緩解了傳統(tǒng)詞嵌入方法中相似項(xiàng)目向量之間的聯(lián)系不強(qiáng)的問題。文獻(xiàn)[22]從內(nèi)容推薦入手,提出一個基于多層注意力表示的推薦模型,利用用戶屬性信息和歌曲的內(nèi)容信息挖掘用戶對歌曲的偏好特征,利用注意力網(wǎng)絡(luò)提升了推薦性能。
上述研究在進(jìn)行推薦時都假設(shè)影響用戶偏好的用戶特征的影響因子是隨機(jī)的,沒有考慮到有影響因子直接會對用戶偏好造成影響,往往采用獲取實(shí)際的推薦結(jié)果逆推的方式擬合這種影響,不利于解決冷啟動等推薦系統(tǒng)面臨的問題。這些研究僅考慮項(xiàng)目特征對推薦結(jié)果的影響,而未考慮不同用戶特征對推薦結(jié)果的影響,沒有對用戶特征進(jìn)行表示,更沒有考慮引入人格、情感等作為用戶特征表示的影響因子。
人格是一種持續(xù)伴隨著個體的行為及人際交互模式[7],在一段時間內(nèi)它是穩(wěn)定且可以預(yù)測的。相關(guān)研究[7-8]表明人格會影響個體的興趣以及偏好,研究顯示,人格與個體的偏好具有很強(qiáng)的關(guān)聯(lián)性。具有相同人格的個體可能具有相同的偏好以及行為模式[12],這為結(jié)合人格因素進(jìn)行用戶建模及偏好預(yù)測工作提供了可能。人格模型的引入在四方面對推薦算法有促進(jìn)作用[10,17,22]:(1)人格得分可直接用于用戶潛在特征的構(gòu)建,有助于表示用戶特征;(2)心理學(xué)領(lǐng)域?qū)IG FIVE 人格特征模型進(jìn)行過廣泛、深入的驗(yàn)證[21],證明該模型確實(shí)可用于客觀、準(zhǔn)確的人格表示,而人格因素直接對用戶偏好產(chǎn)生主要影響[7],將人格模型應(yīng)用于推薦系統(tǒng),能夠合理表征用戶偏好,為用戶做出合理、客觀的推薦;(3)BIG FIVE 五項(xiàng)人格特征得分包含了不同用戶間人格的豐富對比關(guān)系,利用多維度的對比關(guān)系能夠合理區(qū)分不同用戶的不同偏好取向,為用戶做出多樣性推薦;(4)通過人格模型將用戶的潛在特征聯(lián)系起來,能夠提升推薦系統(tǒng)推薦結(jié)果的可解釋性(人格相似的用戶更可能被推薦相同的項(xiàng)目)。人格不僅能反映個人行為,還會對人類偏好產(chǎn)生重要影響[5]。但人格這一重要數(shù)據(jù)在推薦系統(tǒng)的應(yīng)用上存在兩個難點(diǎn),導(dǎo)致當(dāng)前人格推薦系統(tǒng)研究較少:(1)人格信息難以獲取,難以識別。文獻(xiàn)[9]提出一種基于性格(temperament)的建模模型,該模型根據(jù)Keirsey 理論[8]將信息空間劃分為32 個性格段。實(shí)驗(yàn)結(jié)果表明,基于性格的信息過濾方法在準(zhǔn)確率和有效性上均優(yōu)于基于內(nèi)容的信息過濾方法。文獻(xiàn)[10]提出一個基于人格的音樂推薦系統(tǒng),該系統(tǒng)通過心理學(xué)揭示的人格特質(zhì)與音樂偏好的聯(lián)系來進(jìn)行音樂推薦。這些研究獲取人格特征的信息需求量遠(yuǎn)遠(yuǎn)大于推薦系統(tǒng)通常能夠提供的信息量。往往需要通過調(diào)查問卷等方式獲取人格特征信息,這些研究并未利用在線用戶評論文本中隱藏的豐富人格信息。(2)目前尚未有研究者建立一個將包括人格在內(nèi)的情感數(shù)據(jù)應(yīng)用于推薦系統(tǒng)建模的合理模型,如何將人格數(shù)據(jù)引入推薦系統(tǒng)模型并與推薦任務(wù)產(chǎn)生關(guān)聯(lián)是一個新的挑戰(zhàn)。
本文擬采用BIG FIVE 人格模型對推薦系統(tǒng)用戶特征進(jìn)行刻畫。大五人格模型(BIG FIVE model)是現(xiàn)代心理學(xué)中描述最高級組織層次的五方面的人格特質(zhì),這五大人格特質(zhì)構(gòu)成了人的主要性格[5],它由五個基本特征組成:開放性(openness)、盡責(zé)性(conscientiousness)、外傾性(extraversion)、宜人性(agreeableness)、神經(jīng)質(zhì)性(neuroticism)[10]。在心理學(xué)實(shí)驗(yàn)中每個人格特征由1~7 之間的實(shí)數(shù)評分確定。心理學(xué)研究發(fā)現(xiàn),從個人性格發(fā)展的角度上來說,“BIG FIVE”人格特質(zhì)通常處于長期穩(wěn)定狀態(tài),即使經(jīng)歷重大人生事件,成人的性格特質(zhì)也不會發(fā)生太大的變化[17]?!癇IG FIVE”模型是一種已在心理學(xué)界被廣泛引用的人格模型,也是自20世紀(jì)80年代以來人格研究者們在人格描述模式上達(dá)成一致共識的最終成果[23]。人格特征數(shù)據(jù)的應(yīng)用為推薦系統(tǒng)用戶建模提供了一個新的視野,它滿足作為推薦系統(tǒng)用戶表征數(shù)據(jù)的三個條件:(1)共同性。心理學(xué)研究[24]指出人格會影響個體的興趣以及偏好,人格與個體的偏好具有很強(qiáng)的關(guān)聯(lián)性。具有相同人格的個體可能具有相同的偏好以及行為模式。(2)特異性。在心理學(xué)實(shí)踐中[6],不同的BIG FIVE 人格特征常常作為不同對象心理特征的重要區(qū)分指標(biāo)。(3)穩(wěn)定性。相關(guān)心理學(xué)研究[7-8]表明人格是一種持續(xù)伴隨著個體的行為及人際交互模式,在一段時間內(nèi)它是穩(wěn)定且可以預(yù)測的。
由于人格因素直接影響人類偏好的重要特性,本文將人格模型用于用戶特征建模,補(bǔ)充推薦系統(tǒng)“用戶-項(xiàng)目”特征模型中缺失的用戶特征信息,同時增強(qiáng)項(xiàng)目特征提取性能。最后,本文通過理論分析與實(shí)驗(yàn)驗(yàn)證了方法的合理性和有效性。
本文討論輸入不完整的評分矩陣R∈RN×M,以及用戶評論C和項(xiàng)目評論X,用提出的模型計算分析,輸出預(yù)測評分矩陣R*。
由于基于模型的協(xié)同過濾推薦系統(tǒng)中用戶特征建模的缺失,本文提出一種融合人格特征提取的推薦算法,根據(jù)用戶的評論信息及歷史行為信息,結(jié)合人格提取神經(jīng)網(wǎng)絡(luò)提取用戶人格得分,作為用戶特征模型的主要影響因子;同時對項(xiàng)目的評論信息進(jìn)行特征提取,作為項(xiàng)目特征模型的主要影響因子。結(jié)合提出的協(xié)同學(xué)習(xí)框架將用戶特征和項(xiàng)目特征整合到概率推薦模型中,向用戶推薦更符合其偏好的項(xiàng)目。
圖1 融合人格特征的概率矩陣模型Fig.1 Probability matrix model incorporating personality characteristics
為了解決文本中的人格發(fā)掘問題,目前大多數(shù)研究都聚焦于使用人為手段從文本中提取特征,將其添加到人格特征中[16]。這些人為設(shè)計的聯(lián)系往往是文本淺層特征的提取,并沒有直接從用戶評論文本本身獲取豐富的深層特征。因此需要設(shè)計模型對文本中體現(xiàn)的用戶人格進(jìn)行提取。
圖2 Personality-nn 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Personality neural network frame diagram
2.2.1 文本預(yù)處理
由于具有不同人格的用戶在使用標(biāo)點(diǎn)符號、表情以及大小寫時有不同的使用習(xí)慣,不對這些特殊字符進(jìn)行特殊處理。用戶常在一個單詞末尾使用多個重復(fù)的字符來加強(qiáng)情緒表達(dá)(例如“I’m happyy!”和“I’m happyyyy!”),并且重復(fù)數(shù)量不同可能會顯示不同人格傾向,在預(yù)處理過程中保留這些單詞,但如果重復(fù)字母數(shù)量過多則在后續(xù)的詞嵌入訓(xùn)練中可能會被視為多個不同的單詞進(jìn)而影響預(yù)測的準(zhǔn)確度,因此設(shè)定一個英文單詞后面最多可以含有5個重復(fù)的字母,如果超出這個閾值,則最多保留5個重復(fù)字母。
2.2.2 詞嵌入
為了更好地對用戶評論所包含的深層語義信息進(jìn)行建模,采用谷歌發(fā)布的BERT 模型進(jìn)行文本詞嵌入,它用Transformer 的雙向編碼器表示。與其他語言表示模型不同,BERT 旨在通過聯(lián)合調(diào)節(jié)所有層中的上下文來預(yù)先訓(xùn)練深度雙向表示。因此,預(yù)訓(xùn)練的BERT 表示可以通過一個額外的輸出層進(jìn)行微調(diào),適用于問答任務(wù)和語言推理等任務(wù),無需針對具體任務(wù)做大幅架構(gòu)修改[10]。使用Google 官方的uncased_L-12_H-768_A-12 作為預(yù)訓(xùn)練模型。使用personality 數(shù)據(jù)集進(jìn)行訓(xùn)練,personality 數(shù)據(jù)集包含了用戶ui的歷史評論數(shù)據(jù)xj以及心理學(xué)專家對其進(jìn)行的BIG FIVE人格評估得分。加載personality 數(shù)據(jù)集中用戶評論數(shù)據(jù)X進(jìn)行訓(xùn)練。之后將同一個用戶的所有評論聚合成段落,構(gòu)建詞嵌入矩陣Me。
2.2.3 對深層語義信息的有監(jiān)督學(xué)習(xí)
與其他的情緒提取文本處理任務(wù)不同,用戶評論所顯示的人格信息受時間因素影響極小,在很長的時間序列(例如一年)內(nèi)不會產(chǎn)生較大波動[7],并不適宜采用更有利于捕獲長期語義特征的RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))模型。在捕獲短周期語義信息的任務(wù)中,CNN 模型比RNN 模型效果更好[12]。因此,本文提出一種基于CNN(卷積神經(jīng)網(wǎng)絡(luò))的段落編碼模型,將同一個用戶的所有評論通過該神經(jīng)網(wǎng)絡(luò)進(jìn)行編碼,模型如圖3 所示。該模型參考基于CNN 網(wǎng)絡(luò)的Iception 模型[13]設(shè)置,段落編碼網(wǎng)絡(luò)包含了4 個CNN模塊和一個池化模塊(MaxPooling),一個級聯(lián)層和一個全連接層。其中一個卷積模塊包含兩個卷積層,第一層分別含100 個大小為1 和大小為5 的卷積過濾器(Conv)。在第一個卷積層之上是批正則化層(batch nomalization)以及一個ReLU 函數(shù)激活層(ReLU activation)。第二個卷積層分別包含50 個大小為3 的卷積過濾器和50 個大小為5 的卷積過濾器。其中每個卷積核的步長都設(shè)置為1。之后將這5部分特征整合輸出到全連接層得到項(xiàng)目文本的最終向量表示矩陣De。
圖3 基于CNN 的段落編碼模型Fig.3 CNN-based document encoder
2.2.4 模型訓(xùn)練及預(yù)測
本文使用均方誤差(mean square error,MSE)作為模型訓(xùn)練的目標(biāo)函數(shù),公式如式(1)所示:
其中,n表示用戶總數(shù),表示用戶第K項(xiàng)人格特征的預(yù)測得分(K∈{O,C,E,A,N}),表示用戶i第K項(xiàng)人格特征的真實(shí)得分。使用相同的網(wǎng)絡(luò)模型設(shè)置針對5 項(xiàng)人格得分訓(xùn)練5 個神經(jīng)網(wǎng)絡(luò)。
訓(xùn)練完成后,從神經(jīng)網(wǎng)絡(luò)模型中提取段落編碼模型的輸出作為每個用戶所有評論的最終深度語義信息特征向量。將這些特征輸入到常見的四種回歸模型中,從而預(yù)測用戶人格得分。
2.3.1 Per-BERT MF 的概率模型
本小節(jié)設(shè)計了一個考慮人格和文本向量的矩陣分解模型(personality and BERT matrix factorization,Per-BERT MF)。圖1 展示了Per-BERT MF 的總體模型,該模型在進(jìn)行用戶建模時考慮其評論文本的文本向量以及該用戶的人格得分。假設(shè)針對當(dāng)前“用戶-特征”模型存在一個潛在用戶特征矩陣U∈R,以及一個潛在項(xiàng)目特征矩陣V∈R,當(dāng)前任務(wù)是找到用戶和項(xiàng)目的潛在特征模型矩陣U以及V,它們的乘積(U)TV構(gòu)成了預(yù)測的評分矩陣R*。
定義2所有用戶對項(xiàng)目的評分信息用R∈RN×M表示。
定義3用戶ui對所有項(xiàng)目的評論信息用ci(i=1,2,…,n) 表示。所有用戶評論的集合用C表示,即C={c1,c2,…,cn}。
定義4項(xiàng)目vj獲得的所有用戶評論信息用xj(j=1,2,…,m) 表示。所有項(xiàng)目獲得的評論集合用X表示,即X={x1,x2,…,xn}。
R與U、V滿足以下概率模型:
其中,N(x|μ,σ2)表示均值為μ,變量為σ2的高斯正態(tài)分布的概率密度函數(shù)。Iij是一個指示函數(shù),當(dāng)用戶對項(xiàng)目進(jìn)行過評分時,Iij為1,否則為0。
因此用戶潛在特征的條件概率分布模型如下:
另外,一個項(xiàng)目的潛在特征模型由三部分組成:(1)使用BERT 模型,將vj的評論文本xj向量化作為內(nèi)部權(quán)重矩陣W。(2)項(xiàng)目vj的評論文本xj。(3)高斯分布的噪聲參數(shù)。因此項(xiàng)目的潛在特征模型表示如下:
對于每一個W中的權(quán)重,使用均值為零的高斯分布作為先驗(yàn)概率(這是最常用的先驗(yàn)概率模型)。
因此,項(xiàng)目潛在特征矩陣的概率模型表示如下:
2.3.2 模型最優(yōu)化方法
使用最大后驗(yàn)估計[22]將用戶潛在特征矩陣與項(xiàng)目潛在特征矩陣優(yōu)化目標(biāo)函數(shù)計算如下:
采用坐標(biāo)下降法[23],優(yōu)化潛在特征向量。計算V或U的最優(yōu)解:
W詞嵌入權(quán)重矩陣與BERT 模型內(nèi)部的神經(jīng)網(wǎng)絡(luò)隱層以及激活函數(shù)密切相關(guān)。當(dāng)U與V固定時,可以將損失函數(shù)看作具有正則項(xiàng)的平方誤差函數(shù):
通過反向傳播算法,對權(quán)重矩陣W進(jìn)行優(yōu)化。
Per-BERT MF 算法的學(xué)習(xí)過程如算法1 所示:
算法1Per-BERT MF 算法
輸入:用戶-項(xiàng)目評分矩陣R、用戶評論文本C、項(xiàng)目評論文本X、用戶人格評分P。
輸出:潛在用戶特征矩陣U、潛在項(xiàng)目特征矩陣V。
1.隨機(jī)初始化U、V、權(quán)重矩陣W
2.fori≤ndo
3.根據(jù)式(3)、式(4)初始化U
4.end for
5.forj≤mdo
6.根據(jù)式(5)、式(6)、式(7)初始化V
7.end for
8.repeat
9.fori≤ndo
10.根據(jù)式(10)更新ui
11.end for
12.forj≤mdo
13.根據(jù)式(11)更新vj
14.end for
15.repeat
16.forj≤mdo
17.根據(jù)式(12)更新W
18.end for
19.until convergence
20.until 訓(xùn)練結(jié)束
算法1 中,通過步驟1~6 對項(xiàng)目、用戶進(jìn)行表征。之后根據(jù)表征結(jié)果采用最小化損失函數(shù)值的方式,更新項(xiàng)目及用戶潛在矩陣,最終輸出用戶、項(xiàng)目的低維表征矩陣。
用戶的最終預(yù)測評分可表示為:
為驗(yàn)證提出的融合人格的用戶偏好預(yù)測模型的性能,本文使用上述人格預(yù)測模型獲得的用戶人格得分結(jié)合用戶評分及評論數(shù)據(jù)使用Per-BERT MF 模型生成用戶偏好預(yù)測,并對其準(zhǔn)確性進(jìn)行驗(yàn)證。
本文采用亞馬遜數(shù)據(jù)集[20]對Per-BERT MF 模型的評分與實(shí)際評分誤差、準(zhǔn)確率、F1 值、AUC(area under curve)等性能指標(biāo)進(jìn)行評估與驗(yàn)證。本文使用的3 個亞馬遜數(shù)據(jù)集,分別是游戲數(shù)據(jù)集、電影電視數(shù)據(jù)集以及改進(jìn)工具數(shù)據(jù)集。采用如下預(yù)處理步驟對這3 個數(shù)據(jù)集進(jìn)行統(tǒng)一預(yù)處理:(1)刪除停用詞以及出現(xiàn)詞頻高于0.5 的單詞;(2)計算每個單詞的tfidf(term frequency-inverse document frequency)分?jǐn)?shù),并截取其中排名最高的20 000 個單詞作為詞匯表;(3)截取每項(xiàng)評論中的前200 個單詞。數(shù)據(jù)集信息統(tǒng)計如表1 所示,這3 個數(shù)據(jù)集各有特點(diǎn):游戲數(shù)據(jù)集用戶數(shù)量最大,項(xiàng)目數(shù)量也最多,但用戶的平均評論數(shù)較少,平均每名用戶僅進(jìn)行了9.5 條項(xiàng)目評價。與之相比,電影和電視數(shù)據(jù)集項(xiàng)目數(shù)量最少,但每名用戶平均發(fā)表了18.6 條評論。而工具數(shù)據(jù)集與其他兩個數(shù)據(jù)集相比,用戶數(shù)量與項(xiàng)目數(shù)量的比值最小,該數(shù)據(jù)集中每個項(xiàng)目平均僅有1.6 名用戶對其進(jìn)行評價,而在電影與電視數(shù)據(jù)集中每個項(xiàng)目平均有8 名用戶對其進(jìn)行評價。
表1 數(shù)據(jù)集信息統(tǒng)計Table 1 Statistics of datasets
另外,在模型訓(xùn)練中,參考文獻(xiàn)[22]的設(shè)置,通過嘗試,設(shè)置丟棄率為0.2,學(xué)習(xí)率設(shè)定為0.001,批處理尺寸設(shè)置為128。
實(shí)驗(yàn)運(yùn)行硬件環(huán)境為:4 核Intel?Xeon?E3-1225CPU,3.8 GHz 主頻,16 GB 內(nèi)存,GTX2070super顯卡PC 主機(jī)。實(shí)驗(yàn)運(yùn)行的軟件環(huán)境為:Windows 10操作系統(tǒng),TensorFlow2.4,Pytorch1.8,Python3.8.2。
為驗(yàn)證模型的有效性,本文使用八種推薦算法與Per-BERT MF 進(jìn)行對比。
(1)PMF(概率矩陣分解)是一種標(biāo)準(zhǔn)的評分預(yù)測模型,通過概率模型預(yù)測用戶和商品特征。處理稀疏且不平衡的數(shù)據(jù),向用戶提供推薦結(jié)果時效果良好。
(2)SVD++將傳統(tǒng)的奇異值分解模型進(jìn)行了擴(kuò)展,在奇異值分解模型的基礎(chǔ)上添加了一組項(xiàng)目特征以對項(xiàng)目相似性進(jìn)行建模。
(3)ConvMF(卷積概率矩陣分解)將CNN(卷積神經(jīng)網(wǎng)絡(luò))集成到PMF 中。大量實(shí)驗(yàn)結(jié)果表明,即使在評級數(shù)據(jù)非常稀疏的情況下,ConvMF 仍顯著優(yōu)于目前最先進(jìn)的推薦模型[5]。
(4)DeepCoNN(深度矩陣分解)[17]提出了一個從評論文本中共同學(xué)習(xí)項(xiàng)目屬性和用戶行為的深度模型。該模型被命名為DeepCoNN(deep cooperative neural networks),在幾個基準(zhǔn)數(shù)據(jù)集上進(jìn)行的實(shí)驗(yàn)證明了該模型的有效性。
(5)NARRE(neural attentional rating regression with review-level explanations)模型利用自注意力機(jī)制為每個評論賦予權(quán)重。實(shí)驗(yàn)證明該模型表現(xiàn)優(yōu)于大部分的基準(zhǔn)模型以及DeepMF 等神經(jīng)網(wǎng)絡(luò)模型[18]。
(6)TARMF[20]模型使用一個基于自注意力機(jī)制的雙向遞歸神經(jīng)網(wǎng)絡(luò),從評論文本中分別提取出用戶和項(xiàng)目的文本特征,從矩陣分解模型中抽取隱藏特征。在學(xué)習(xí)過程中將這兩個特征彼此互相近似來互相學(xué)習(xí),最終獲得缺失評分預(yù)測。
(7)ANR(aspect-based neural recommender)[21]提出的模型在預(yù)測級別方面的重要程度時,使用了共同關(guān)注的方法(co-attention),可以同時關(guān)注用戶和物品之間的細(xì)粒度關(guān)系。
(8)CARL(context-aware neural model to learn user-item representations)[22]使用一種融合上下文感知的神經(jīng)網(wǎng)絡(luò)模型預(yù)測用戶的項(xiàng)目評分。
本文采用均方誤差(MSE)對實(shí)驗(yàn)結(jié)果中評分預(yù)測值與真實(shí)值的誤差進(jìn)行評估。MSE 是所有項(xiàng)目真實(shí)評分和預(yù)測評分誤差的平方和的平均值,公式如下:
其中,n表示用戶評價數(shù)量,rij表示用戶i對項(xiàng)目j的真實(shí)評分,表示用戶i對項(xiàng)目j的預(yù)測評分。MSE值越小說明模型預(yù)測得分越接近真實(shí)值。
另外,本文采用點(diǎn)擊率預(yù)估方法(click-through rate prediction,CTR)[21]對模型的推薦效果進(jìn)行評估。使用AUC、Precision、F1 指標(biāo)對本文模型及其他對比模型進(jìn)行比較。實(shí)驗(yàn)數(shù)據(jù)集中評分位于1~5 的區(qū)間內(nèi),根據(jù)評分的分布將CTR 模型中的推薦閾值設(shè)置為3.5(例如實(shí)驗(yàn)?zāi)P皖A(yù)測用戶Ui對項(xiàng)目Vj的評分為4.5 分,大于推薦閾值3.5,是正樣本,則CTR 模型預(yù)測用戶Ui會對項(xiàng)目Vj進(jìn)行點(diǎn)擊,進(jìn)而進(jìn)行推薦。反之,則為負(fù)樣本)。
Precision、Recall、F1 的公式如下:
其中,TP表示把正樣本成功預(yù)測為正,TN表示把負(fù)樣本成功預(yù)測為負(fù),F(xiàn)P表示把負(fù)樣本錯誤地預(yù)測為正,F(xiàn)N表示把正樣本錯誤地預(yù)測為負(fù)。Precision及F1 值越大說明結(jié)果越準(zhǔn)確。
本文提出的Per-BERT MF 模型及其他對比模型在所有數(shù)據(jù)集上所得出的預(yù)測與真實(shí)的均方誤差如表2 所示,在每列中最低的MSE 值使用粗體標(biāo)明。表2 的實(shí)驗(yàn)結(jié)果顯示,Per-BERT MF 模型在所有數(shù)據(jù)集上表現(xiàn)均優(yōu)于其他對比模型。
表2 各模型在Amazon 數(shù)據(jù)集上的MSE 值Table 2 MSE of each model on Amazon datasets
表2 結(jié)果表明,考慮用戶評論的預(yù)測模型(如ConvMF、NARRE、TARMF、Per-BERT MF 等)在結(jié)果上均優(yōu)于僅將用戶評分作為輸入的預(yù)測模型(如PMF、SVD++)。實(shí)驗(yàn)證明使用評論與評分組合作為預(yù)測模型的輸入因素相比較單獨(dú)使用評分作為預(yù)測模型的輸入因素提高了預(yù)測質(zhì)量,獲得了更好的預(yù)測結(jié)果。評論信息包含了更多潛在的用戶及項(xiàng)目特征。
其次,在使用深度學(xué)習(xí)技術(shù)的推薦模型中,使用attention(自注意力)機(jī)制進(jìn)行特征提取的模型(如TARMF、Per-BERT MF 等)在預(yù)測結(jié)果上的表現(xiàn)均優(yōu)于未使用attention 機(jī)制的模型(如ConvMF 等)。相比較使用詞袋(bag-of-word)模型進(jìn)行特征提取的模型,attention 機(jī)制所提取的特征對上下文信息進(jìn)行了良好的概括。從而在提取特征用于評分預(yù)測的實(shí)驗(yàn)中取得了更好的結(jié)果。
如表2 所示,Per-BERT MF 模型在3 個數(shù)據(jù)集上的表現(xiàn)均優(yōu)于其他對比模型。Per-BERT 建立一個用戶的人格模型,提取用戶評論信息中的情感特征,并轉(zhuǎn)化為人格得分。通過將人格得分引入評分預(yù)測模型,提高了預(yù)測結(jié)果的準(zhǔn)確性。
表3 及表4 的實(shí)驗(yàn)結(jié)果表明,本文提出的模型在Amazon-Video Games 及Amazon-Movie&TV 數(shù)據(jù)集上推薦表現(xiàn)均優(yōu)于其他對比模型。說明本文提出的模型除預(yù)測用戶評分準(zhǔn)確率之外,向用戶推薦未評價項(xiàng)目的有用性方面也有良好的表現(xiàn)。表5 顯示Per-BERT MF 模型在Amazon-Tools Improvement 上的推薦表現(xiàn)略遜于ANR 模型,優(yōu)于除ANR 之外的其他模型。主要原因是Amazon-Tools Improvement 數(shù)據(jù)集內(nèi)用戶評論數(shù)量及評論平均字?jǐn)?shù)遠(yuǎn)少于其他數(shù)據(jù)集,本文提出的模型更依賴用戶評論信息。
表3 Amazon-Video Games數(shù)據(jù)集上的指標(biāo)對比Table 3 Index comparison on Amazon-Video Games dataset
表4 Amazon-Movie&TV 數(shù)據(jù)集上的指標(biāo)對比Table 4 Index comparison on Amazon-Movie&TV dataset
表5 Amazon-Tools Improvement 數(shù)據(jù)集上的指標(biāo)對比Table 5 Index comparison on Amazon-Tools Improvement
本文提出了一種新的推薦模型Per-BERT MF,該模型解決了用戶的特征表示及項(xiàng)目的上下文信息表示問題。同時設(shè)計了一個新的Per-NN 神經(jīng)網(wǎng)絡(luò)用于從用戶評論中提取用戶的人格特征得分,并將人格特征得分作為用戶的特征表示集成到概率分解模型PMF 中,同時使用BERT 提取用戶對項(xiàng)目評論文本的上下文信息。最終集成用戶特征和項(xiàng)目特征進(jìn)行評分預(yù)測。實(shí)驗(yàn)結(jié)果表明Per-BERT MF 模型性能優(yōu)于其他流行的推薦模型。下一步的研究工作主要圍繞優(yōu)化用戶和項(xiàng)目特征的提取方式。