• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種融合用戶動態(tài)偏好和注意力機制的跨領(lǐng)域推薦方法

      2022-05-27 01:06:56錢忠勝俞情媛李端明孫志旺
      小型微型計算機系統(tǒng) 2022年6期
      關(guān)鍵詞:領(lǐng)域因子算法

      錢忠勝,涂 宇,俞情媛,李端明,孫志旺

      (江西財經(jīng)大學(xué) 信息管理學(xué)院,南昌 330013)

      1 引 言

      隨著大數(shù)據(jù)時代的到來,各種各樣軟件產(chǎn)生了大量的信息,這些海量信息使人們的日常生活變得更加豐富.但是,這個過程中也出現(xiàn)了一些不可避免的問題,例如信息泛濫和信息迷航.在此環(huán)境下,為了讓每個用戶能夠獲取自己想要的信息,針對不同用戶的個性化推薦技術(shù)應(yīng)運而生.當(dāng)前,相關(guān)研究人員將個性化推薦技術(shù)應(yīng)用于各個領(lǐng)域的資源推薦,除了電影、音樂、體育之外,還包括了電子商務(wù)、基于位置的服務(wù)、醫(yī)療等領(lǐng)域.

      傳統(tǒng)推薦算法大都關(guān)注用戶的顯性偏好.隨著電商系統(tǒng)的發(fā)展壯大,越來越多的用戶參與其中,但大部分用戶只對一小部分商品有需求,也只會對部分商品進行評分,進而導(dǎo)致評分矩陣變得十分稀疏.因此,僅分析用戶的評分只能得到關(guān)于用戶的片面信息.主題模型是一種統(tǒng)計模型,主要挖掘潛在特征,并發(fā)現(xiàn)其中的抽象主題.通過主題模型提取各個項目評論的主題分布,并結(jié)合用戶對項目的評分,可獲取用戶的偏好分布信息,大大減少了數(shù)據(jù)的稀疏性.

      一般來說,無論是一小段話還是一整篇文章,總會有一個中心思想,那些與中心思想關(guān)聯(lián)度較高的詞出現(xiàn)的頻率通常高于其它詞.例如,在一篇介紹地區(qū)風(fēng)景的文章中,“高樓”、“瀑布”、“樹木”等詞出現(xiàn)的評論會相對較高,與之不相關(guān)或者相關(guān)度較低的詞出現(xiàn)的次數(shù)明顯減少.潛在狄利克雷分布(LDA)是一個3層貝葉斯概率模型,總體分為3部分,分別是詞、主題、文檔.LDA以若干個主題來表達將所有文本中的特征,不同文本隸屬于某個主題的程度以概率的方式呈現(xiàn).

      大部分用戶的歷史記錄中存在著一系列項目,但是這些內(nèi)容不一定能完全表達用戶的興趣.如果用戶在過去很長的一段時間都喜歡聽輕音樂,而最近卻聽了一首搖滾樂,這并不能代表用戶喜歡此類歌曲,可能這段時間這種類型的歌曲比較受歡迎,故不能將它們視為同等重要.當(dāng)一個項目具有許多主題時(如音樂的歌手、作曲者、類型、時間等),用戶往往會更傾向于其中的某個或多個.

      基于注意力的模型是一種流行的深度學(xué)習(xí)方法,已成功應(yīng)用于問答、神經(jīng)機器翻譯和語音識別等領(lǐng)域.基于注意力的模型有助于選擇最相關(guān)的信息,而不是使用所有可用的信息.

      一般來說,注意力機制對模型的學(xué)習(xí)效果能帶來明顯的提升.更重要的是,所獲得的中間注意力分?jǐn)?shù)可為預(yù)測提供富有成效的解釋.例如,在問答中,注意力可顯示生成的答案與相應(yīng)上下文的相關(guān)性.

      目前,大多數(shù)推薦技術(shù)都為單領(lǐng)域的,即僅利用用戶在單一領(lǐng)域的興趣對用戶進行推薦,而多領(lǐng)域相結(jié)合的推薦技術(shù)較少.通過單領(lǐng)域推薦能獲取的信息十分有限,往往只有用戶的一部分記錄,難以全面了解用戶,進而使得推薦效果變得不可靠,準(zhǔn)確度降低.跨領(lǐng)域推薦[1-5]技術(shù)能綜合考慮用戶在不同領(lǐng)域的偏好信息,相對于單領(lǐng)域推薦冷啟動問題有了明顯的改善.不僅如此,跨領(lǐng)域推薦系統(tǒng)還能通過分析用戶在不同領(lǐng)域的偏好,使得推薦結(jié)果更具有多樣化的特點.

      跨領(lǐng)域推薦可就不同側(cè)面,分為不同的場景.根據(jù)領(lǐng)域間的交叉關(guān)系,可劃分為用戶部分重疊、用戶完全重疊、用戶完全不重疊、項目部分重疊、項目完全重疊、項目完全不重疊.用戶/項目完全重疊的情況較為少見,若用戶/項目完全不重疊,則難以實現(xiàn)跨領(lǐng)域推薦,而用戶/項目部分重疊的情況較為常見.為了便于實現(xiàn)跨領(lǐng)域推薦,本文選取的應(yīng)用場景為領(lǐng)域間部分用戶重疊.

      人工神經(jīng)網(wǎng)絡(luò)模擬人的思維,將所有接收到的信息并行處理,然后按一定的方式轉(zhuǎn)換,得到最終的結(jié)果.BP神經(jīng)除了基礎(chǔ)的前饋傳到以外,還包含了反向傳播機制,在較強的擬合能力基礎(chǔ)上,增加了泛化能力和容錯能力,能夠很好地解決分類與回歸問題.將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于跨領(lǐng)域推薦,能夠發(fā)現(xiàn)不同領(lǐng)域用戶偏好的對應(yīng)關(guān)系,充當(dāng)了領(lǐng)域間的橋梁.

      基于以上討論,本文提出了基于用戶動態(tài)偏好和注意力機制的跨領(lǐng)域推薦方法.項目的評論信息包含了項目本身的相關(guān)特征,LDA主題模型能夠提取這些信息,將項目的評論信息轉(zhuǎn)換為項目的主題分布.將評分、時間以及項目主題分布三者結(jié)合,并引入注意力機制,得到用戶動態(tài)偏好.接著,使用BP神經(jīng)網(wǎng)絡(luò)發(fā)掘不同領(lǐng)域間用戶偏好的映射關(guān)系,將用戶在源領(lǐng)域的偏好映射到目標(biāo)領(lǐng)域,并與用戶的目標(biāo)領(lǐng)域偏好結(jié)合.最后,利用用戶的偏好相似度來預(yù)測其對項目的評分.

      論文的余下部分安排如下:第2節(jié)介紹了相關(guān)工作,描述了跨領(lǐng)域推薦的相關(guān)技術(shù),以及LDA主題模型在推薦系統(tǒng)中的應(yīng)用.第3節(jié)詳細描述了本文采用的相關(guān)算法,3.1節(jié)介紹了基于主題模型的用戶動態(tài)偏好提取過程,3.2節(jié)介紹了基于BP神經(jīng)網(wǎng)絡(luò)的跨領(lǐng)域興趣映射過程,3.3節(jié)對整體模型進行整合,給出最終的推薦框架.第4節(jié)展開實驗設(shè)計與結(jié)果分析.第5節(jié)對全文進行總結(jié),給出存在的不足及進一步的研究.

      2 相關(guān)工作

      無論是在社交網(wǎng)站還是電商系統(tǒng)中,用戶的評論信息往往遠多于用戶的評分信息,能更好地反應(yīng)用戶對商品的喜好程度以及觀點.主題模型能夠處理項目的文本信息,統(tǒng)計每個項目相關(guān)文本中的詞語,根據(jù)統(tǒng)計的結(jié)果來判斷哪些詞匯可以作為主題,以及作為主題的概率.

      張航等[6]提出了negLDA模型,在LDA模型的基礎(chǔ)上,結(jié)合用戶對項目的負(fù)面與正面評分,對用戶的偏好進行綜合評價,進而使得用戶對項目的評分預(yù)測效果更佳.董晨露等[7]提出了TTCF模型,在User-CF算法的基礎(chǔ)上,加入了評論信息與艾賓浩斯遺忘曲線,同時計算用戶的整體相似度,進而利用相似用戶來進行評分預(yù)測.彭敏等[8]提出了SACF模型,利用LDA主題模型挖掘用戶評論信息中的偏好分布,再結(jié)合情感分析技術(shù)預(yù)測用戶在項目屬性面上的評分.最后,結(jié)合用戶在屬性面上的評分與總體評分,計算不同用戶之間的相似度,使用協(xié)同過濾的方法預(yù)測用戶對未評分物品的評分值.高娜等[9]提出了嵌入LDA主題模型的協(xié)同過濾推薦算法,通過LDA主題模型對標(biāo)簽信息進行處理,提取用戶與項目的主題分布,最后結(jié)合用戶評分與主題分布計算用戶的相似度.張斌等[10]提出了TSM/Forc推薦方法,通過LDA主題模型將用戶與項目的標(biāo)簽信息關(guān)聯(lián)起來,再利用一個模型從整體上對這些文本信息進行融合分析.

      近年來,深度學(xué)習(xí)算法的性能越來越好,能夠很好地提取深層特征,已被廣泛使用.注意力機制是一種深度學(xué)習(xí)研究模式,能使無用信息的影響最小化.

      謝恩寧等[11]提出了DeepCF-A模型,在已有的DNN基礎(chǔ)上結(jié)合注意力機制,提高了隱式數(shù)據(jù)中潛在特征的提取效率,進而使推薦性能有了很大改善.羅洋等[12]提出了一種融合注意力LSTM的推薦算法,基于已有的用戶評分及其它相關(guān)信息,通過自編碼器提取用戶的隱向量.然后結(jié)合LSTM與注意力機制將項目的輔助信息轉(zhuǎn)換為項目的隱向量.最后,將用戶與項目的隱向量結(jié)合預(yù)測評分.趙赟等[13]提出了一種基于注意力機制與文本信息的用戶關(guān)系抽取方法,通過分析任意兩個用戶的評論信息來判斷兩者是否存在好友關(guān)系,若兩者之間具有好友關(guān)系,則將兩者信息進行拼接,輸入包含LSTM層和注意力層的網(wǎng)絡(luò)中.苑威威等[14]提出了一種基于自注意力機制的混合推薦算法,結(jié)合多重自注意力機制與DNN處理降維后的數(shù)據(jù)獲取用戶的潛在偏好,進而得到用戶潛在偏好相似性與項目相似性.最后,結(jié)合兩種相似性對用戶進行項目推薦.

      Yuan等[15]提出了ACA-GRU模型,在循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入上下文信息,以區(qū)分評分序列中每個項目重要性,進而預(yù)測用戶的動態(tài)偏好.Chen等[16]提出了DeepUCF+a模型,在傳統(tǒng)的UserCF基礎(chǔ)上,使用深度神經(jīng)網(wǎng)絡(luò)與注意力機制來區(qū)分每一個物品的被購買記錄中不同用戶的重要性,使算法性能更佳.

      上述研究均為基于單領(lǐng)域的推薦算法,當(dāng)用戶在該領(lǐng)域數(shù)據(jù)稀疏時,便無法給予精準(zhǔn)的個性化預(yù)測.故引入跨領(lǐng)域推薦,結(jié)合用戶在其它領(lǐng)域的偏好與用戶在目標(biāo)領(lǐng)域的偏好,得到用戶的綜合偏好,為稀疏用戶提供更好的推薦結(jié)果.跨領(lǐng)域推薦系統(tǒng)中的常用技術(shù)包括:基于標(biāo)簽的推薦、遷移學(xué)習(xí)、協(xié)同過濾等.通過對源領(lǐng)域知識的學(xué)習(xí)來填充目標(biāo)領(lǐng)域中的缺失信息,最終完成對用戶的推薦.

      王俊等[17]提出了TRBT模型,在矩陣分解的基礎(chǔ)上結(jié)合了不同領(lǐng)域的評分模式,并通過聚類算法構(gòu)造鄰接圖,最后將評分模式、鄰接圖結(jié)合預(yù)測用戶對未評分項目的評分.Xu等[18]提出了CULS模型,引入信任關(guān)系,用戶之間若相互信任,則他們具有相似的偏好,再通過修改隨機漫步中的轉(zhuǎn)移矩陣進行推薦,將領(lǐng)域間相似的用戶突出顯示.Taneja等[19]提出了提出了一種智能的基于跨領(lǐng)域的推薦方法,該方法通過張量分解技術(shù)更好地捕捉領(lǐng)域間的用戶因素和項目因素之間的交互,提高了預(yù)測的精準(zhǔn)度.Jiang等[20]提出了HRW模型,引入了基于圖的推薦算法,與其他項目領(lǐng)域相連接.通過這種創(chuàng)新的表達方式,來自輔助領(lǐng)域的有用知識可以通過社交領(lǐng)域轉(zhuǎn)移到目標(biāo)領(lǐng)域.

      李林峰等[21]提出了SKP模型,處理用戶在源領(lǐng)域和目標(biāo)領(lǐng)域的評分信息,得到領(lǐng)域間的知識模型以及目標(biāo)領(lǐng)域的知識模型,最后結(jié)合兩者使推薦結(jié)果更準(zhǔn)確.葛夢凡等[22]提出了ITTCF模型,將用戶標(biāo)簽和用戶評分結(jié)合進行跨領(lǐng)域推薦,解決了傳統(tǒng)跨領(lǐng)域推薦算法通常只將評分信息從源領(lǐng)域遷移到目標(biāo)領(lǐng)域,而其它信息均未能發(fā)揮作用的弊端.高升等[23]提出了一種基于潛在因子的跨領(lǐng)域推薦算法,將不同領(lǐng)域的潛在因子聚類,得到跨領(lǐng)域共性特征;再將目標(biāo)領(lǐng)域的潛在因子單獨聚類,得到單領(lǐng)域的個性特征;最后,將兩者加權(quán)求和,用于緩解目標(biāo)領(lǐng)域的數(shù)據(jù)稀疏性.Kumar等[24]提出了一種基于語義聚類的跨領(lǐng)域推薦算法,引入了跨越多個領(lǐng)域的公共語義空間的概念,使用不同領(lǐng)域的語義聚類詞匯的主題建模.

      上述跨領(lǐng)域推薦算法都存在一定的不足,有的未考慮用戶的評論信息,有的未考慮時間因素給評分信息或評論信息帶來的影響,導(dǎo)致挖掘用戶偏好不夠全面.本文將用戶的評分、評論信息用于構(gòu)建動態(tài)偏好,再與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,應(yīng)用于跨領(lǐng)域推薦系統(tǒng)中,能夠更加全面地發(fā)掘用戶的偏好,彌補單領(lǐng)域推薦數(shù)據(jù)稀疏性的不足,并使得偏好的時效性更強.

      3 融合用戶動態(tài)偏好和注意力的跨領(lǐng)域推薦策略

      由于單領(lǐng)域數(shù)據(jù)的稀疏性,使得推薦的準(zhǔn)確度降低,若能將多個領(lǐng)域的數(shù)據(jù)結(jié)合可大大提高推薦結(jié)果的可靠性.本文的跨領(lǐng)域場景為源領(lǐng)域與目標(biāo)領(lǐng)域的部分用戶重疊,學(xué)習(xí)這些共同用戶在不同領(lǐng)域間偏好的映射關(guān)系進而預(yù)測其他用戶的偏好.

      首先利用LDA主題模型[25]提取項目評論中的主題,得到各個項目的主題分布.再結(jié)合用戶對項目的評分,得到用戶的偏好向量.由于用戶的偏好具有時效性,故將時間因子引入用戶偏好向量的構(gòu)建過程.雖然用戶在不同領(lǐng)域的偏好分布不盡相同,但其中也有著一定的對應(yīng)關(guān)系,通過BP神經(jīng)網(wǎng)絡(luò)擬合用戶在源領(lǐng)域與目標(biāo)領(lǐng)域的映射關(guān)系.最后,通過用戶綜合偏好的相似度進行評分預(yù)測.本節(jié)所用的符號說明如表1所示.

      表1 相關(guān)符號說明

      3.1 基于主題模型的用戶動態(tài)偏好提取方法

      現(xiàn)實中的各種項目有著豐富的信息,包含用戶的評分、評論等.大部分用戶的評分意愿都不強,留下的信息也較少,故難以準(zhǔn)確地表達用戶喜好.而用戶對項目的評論信息則包含了項目的某些特征以及用戶的隱式偏好,使用LDA主題模型處理項目的評論信息,得到項目的主題分布.

      3.1.1 基于LDA的項目主題提取

      LDA是一種較為常用的主題概率模型,采用詞袋模型進行文本向量化,即在一篇文檔中僅考慮一個詞匯是否出現(xiàn).它是一個文檔生成的過程,分為詞匯層、主題層、文檔層3個部分,是一種無監(jiān)督的機器學(xué)習(xí)方法.文檔中的每一個詞有一定概率屬于某個主題,而每一個主題也會有一定概率包含某個詞語.其中每一篇文檔可由向量θd=(Pd,1,Pd,2,…,Pd,k)表示,Pd,k表示主題k在文檔d中出現(xiàn)的概率;每一個主題可以由ψk=(Pk,1,Pk,2,…,Pk,n),Pk,n表示詞匯n在主題k中出現(xiàn)的概率.

      LDA模型由包含每個主題的概率分布ψk、每個文檔的主題概率分布θd,以及每個詞匯的主題分配序列Zdj組成.在本文中,每一個文檔的內(nèi)容即為每一個項目所有的評論信息,故文檔層為所有項目的評論信息,各個參數(shù)可通過吉布斯采樣獲取,目標(biāo)似然函數(shù)如式(1)所示.

      (1)

      其中,θZdj表示特定主題的產(chǎn)生概率,φZdj,Wdj表示詞匯Wdj屬于該主題的概率,LDA經(jīng)典模型如圖1所示.

      圖1 LDA主題模型經(jīng)典結(jié)構(gòu)圖

      LDA模型的輸入為項目的評論信息,而這些信息中通常包含大量無意義或與用戶興趣無關(guān)的詞,在文本的預(yù)處理階段需將這些詞剔除,防止模型性能受到影響.

      3.1.2 用戶動態(tài)偏好提取算法

      經(jīng)研究表明[26],大部分用戶更傾向于描述其喜歡的項目特征,而非不喜歡的項目特征,故本文將評論分布作為用戶偏好分布的近似.

      一般地,用戶對項目的偏好程度通常會隨時間的推移以一定的方式變化.在互聯(lián)網(wǎng)領(lǐng)域中,用戶不同時期的偏好對當(dāng)前偏好的影響程度不盡相同,通常近期偏好對當(dāng)前偏好的影響程度高于很久之前的偏好.因此,在計算用戶當(dāng)前偏好時,距離當(dāng)前時間越近的偏好所占的權(quán)重應(yīng)越高.

      受文獻[7]的用戶偏好提取思想的啟發(fā),在完成對項目主題分布的提取后,將其與評分、時間因子、注意力權(quán)重結(jié)合,得到用戶的偏好向量,具體過程如式(2)-式(7)所示:

      (2)

      Query=θquery_index

      (3)

      (4)

      (5)

      (6)

      (7)

      其中tmax表示用戶u最近一次評分時間戳的數(shù)值;tmin表示用戶u最早一次評分時間戳的數(shù)值;tui表示用戶u對項目i評分的時間戳;Attentioni表示用戶偏好的注意力權(quán)重;Wui表示用戶綜合權(quán)重,綜合考慮了注意力權(quán)重與時間權(quán)重因子;rmax表示用戶u對項目評分的最大值,rui表示用戶u對項目i的評分.其過程如算法1所示.

      算法1.基于主題模型的用戶動態(tài)偏好提取算法

      輸入:主題數(shù)K,狄利克雷參數(shù)α、β,用戶評分記錄R,商品評論記錄I

      輸出:用戶偏好分布向量U

      Begin

      1.θ←LDA(α,β,I);

      //提取項目主題分布

      //結(jié)合評分、時間因子、注意力權(quán)重計算偏好權(quán)重

      //(見式(2)-式(6))

      End

      在算法1中,步驟1為使用LDA主題模型提取項目評論的主題分布的過程,步驟2和步驟3為項目主題分布與用戶評分信息、時間因子、注意力權(quán)重結(jié)合的過程.通過這兩個步驟,完成了對用戶偏好分布的提取.

      3.2 基于BP神經(jīng)網(wǎng)絡(luò)的用戶偏好跨領(lǐng)域映射算法

      在不同的領(lǐng)域之間,用戶的偏好亦存在一定的對應(yīng)關(guān)系.例如,喜歡看喜劇片的用戶大都偏向于想看幽默搞笑類的書籍,而喜歡看恐怖片的用戶一般想看靈異恐怖類的書籍.這里通過BP神經(jīng)網(wǎng)絡(luò)完成用戶在不同領(lǐng)域間的興趣映射,利用3.1節(jié)中求得的重疊用戶在源領(lǐng)域和目標(biāo)領(lǐng)域的偏好,構(gòu)建跨領(lǐng)域映射網(wǎng)絡(luò).

      設(shè)Tus為用戶在源領(lǐng)域的偏好向量,Tut為用戶在目標(biāo)領(lǐng)域的偏好向量,將Tus作為輸入,Tut作為輸出,使用BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)Tus和Tut之間的映射關(guān)系,如式(8)-式(12)所示.

      1)輸入層到隱藏層

      b=Wh×x

      (8)

      2)經(jīng)過隱藏層的激活函數(shù)

      h=g(b-γ)

      (9)

      3)隱藏層到輸出層

      β=Wo×h

      (10)

      4)經(jīng)過輸出層的激活函數(shù)

      pre_y=g(β-η)

      (11)

      5)損失函數(shù)

      (12)

      在式(9)和式(11)中,g(x)=relu(x),具體模型結(jié)構(gòu)如圖2所示.

      圖2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖

      算法2.基于BP神經(jīng)網(wǎng)絡(luò)的用戶偏好跨領(lǐng)域映射算法

      輸入:重疊用戶在源領(lǐng)域和目標(biāo)領(lǐng)域的偏好向量,學(xué)習(xí)率

      輸出:訓(xùn)練完成的BP神經(jīng)網(wǎng)絡(luò)

      Begin

      1. initialize(v,w,γ,θ);//初始化參數(shù)

      2.Foriin range(N) //N為數(shù)據(jù)集大小

      3.b←Wh×x; //見式(8)

      4.h←g(b-γ); //見式(9)

      5.β←Wo×h; //見式(10)

      6.pre_y←g(β-θ); //見式(11)

      //損失函數(shù)極小化,見式(12)

      EndFor

      End

      在算法2的步驟1中,將包括權(quán)重矩陣和偏置向量在內(nèi)的各個參數(shù)賦予一個初值;步驟2-步驟6為映射過程,即擬合輸入與輸出的過程.在將用戶源領(lǐng)域的偏好向量映射到目標(biāo)領(lǐng)域后,以一定的方式與用戶在目標(biāo)領(lǐng)域的偏好向量加權(quán)求和,得到用戶的綜合偏好,該過程在下一節(jié)詳細描述.

      3.3 融合用戶動態(tài)偏好和注意力的跨領(lǐng)域推薦框架

      在前兩個小節(jié)(3.1-3.2節(jié))的基礎(chǔ)上,下面從整體上描述跨領(lǐng)域推薦的過程.在將用戶源領(lǐng)域的偏好向量映射到目標(biāo)領(lǐng)域后,需要以一定的方式與用戶目標(biāo)領(lǐng)域的偏好向量加權(quán)求和.

      將推薦系統(tǒng)的范圍由單領(lǐng)域擴展為多領(lǐng)域能有效減少數(shù)據(jù)量不足帶來的影響.若用戶在目標(biāo)領(lǐng)域的數(shù)據(jù)是稀疏的,則通過少量的信息難以準(zhǔn)確地發(fā)掘其偏好.此時,將用戶在源領(lǐng)域的偏好與其在目標(biāo)領(lǐng)域的偏好結(jié)合,可減少數(shù)據(jù)稀疏的影響,我們給出融合用戶動態(tài)偏好和注意力的跨領(lǐng)域推薦策略(Cross-Domain Recommendation Strategy Fusing Users′ Dynamic Preferences and Attention Mechanism,CDRS_FUDPAM),其整體框架如圖3所示.

      圖3 CDRS_FUDPAM跨領(lǐng)域推薦模型的整體框架

      (13)

      在得到用戶綜合偏好向量后,用余弦相似度計算用戶的偏好相似度.用戶m和用戶n的偏好相似度如式(14)所示:

      (14)

      其中,Um表示用戶m的偏好向量,Un表示用戶n的偏好向量.

      在完成對用戶之間相似度的計算后,對每個用戶的相似用戶列表按相似度從大到小排序,選取前K個用戶,通過他們的評分來預(yù)測用戶對未評分項目的評分,如式(15)和式(16)所示:

      (15)

      (16)

      其中Nu表示用戶u的相似用戶列表,rvi表示用戶v對項目i的評分,sim(u,v)表示用戶u和用戶v的相似度.

      融合用戶動態(tài)偏好和注意力的跨領(lǐng)域推薦過程如算法3所示.

      算法3.融合用戶動態(tài)偏好和注意力的跨領(lǐng)域推薦算法

      輸入:源領(lǐng)域用戶評分記錄{Rus},目標(biāo)領(lǐng)域用戶評分記錄{Rut},源領(lǐng)域用戶-項目評論{Is},目標(biāo)領(lǐng)域用戶-項目評論{It}

      輸出:用戶在目標(biāo)領(lǐng)域?qū)ξ丛u分項目的預(yù)測評分

      Begin

      1.Us←T_LDA(Is,Rus);

      //結(jié)合注意力機制、評分、時間因子計算源領(lǐng)域

      //用戶偏好向量(見算法1)

      2.Ut←T_LDA(It,Rut);

      //結(jié)合注意力機制、評分、時間因子計算目標(biāo)領(lǐng)域

      //用戶偏好向量(見算法1)

      //計算用戶的綜合偏好向量(見式(13))

      //計算用戶之間的相似度(見式(14))

      End

      在算法3中,其中步驟1和步驟2為算法1中用戶動態(tài)偏好的提取過程,綜合考慮了注意力機制、評分、時間因子;步驟3為跨領(lǐng)域映射過程,將用戶源領(lǐng)域偏好映射到目標(biāo)領(lǐng)域;步驟4和步驟5為最終的推薦過程,將映射后源領(lǐng)域偏好與目標(biāo)領(lǐng)域偏好結(jié)合,得到用戶的綜合偏好,再通過綜合偏好來計算相似度,進而預(yù)測用戶對未評分項目的評分.

      4 實驗設(shè)計與分析

      本節(jié)首先介紹了實驗環(huán)境以及實驗使用的數(shù)據(jù)集,然后選取了幾種典型的評價指標(biāo)以及相關(guān)的對比算法,最后給出面向用戶動態(tài)偏好和注意力的跨領(lǐng)域推薦方法與其它方法的對比實驗結(jié)果,并進行了詳細的分析.

      4.1 實驗環(huán)境與數(shù)據(jù)集

      4.1.1 實驗環(huán)境

      本文的實驗環(huán)境為Win10 64位操作系統(tǒng),內(nèi)存為32G,處理器為AMD Ryzen 7 3700X 8-Core Process,使用的編程軟件為Pycharm,編程語言為Python,詳情如表2所示.

      表2 實驗環(huán)境

      4.1.2 實驗數(shù)據(jù)集

      為了體現(xiàn)相關(guān)因素對實驗結(jié)果的影響,本文使用亞馬遜影視評分評論數(shù)據(jù)集及其音樂評分評論數(shù)據(jù)集進行實驗,簡稱Video和Music.作為世界上影響力較大的購物平臺之一,亞馬遜擁有海量的數(shù)據(jù),其中包括了圖書、音樂、食品等商品的銷售記錄、評分記錄以及關(guān)聯(lián)商品,用戶可以在亞馬遜網(wǎng)上搜索所需的資源,并對其進行評分以及標(biāo)注.另外,用戶還可以通過郵件發(fā)現(xiàn)感興趣的好友.因此,可用亞馬遜的數(shù)據(jù)集進行跨領(lǐng)域推薦研究.實驗數(shù)據(jù)集包含了用戶ID、項目的ID、用戶對項目的評分以及評論、用戶評論項目的時間,刪除部分異常數(shù)據(jù)后,基本統(tǒng)計信息如表3所示.

      表3 Amazon數(shù)據(jù)集的樣本信息

      該數(shù)據(jù)集為Amazon數(shù)據(jù)集的兩個子數(shù)據(jù)集,由于樣本數(shù)量足夠多,故可用于驗證跨領(lǐng)域推薦模型的性能.雖然整體的樣本數(shù)很多,但大部分用戶只對少數(shù)項目打過分,數(shù)據(jù)極為稀疏,如表4所示.

      從表4可看出,兩個領(lǐng)域的評分?jǐn)?shù)據(jù)都極其稀疏,無論是Video領(lǐng)域還是Music領(lǐng)域.如果僅僅通過評分信息來得出推薦結(jié)果,現(xiàn)有的模型都難以得到滿意的結(jié)果.本文通過LDA模型處理評論信息,同時結(jié)合評分信息,并引入輔助領(lǐng)域的數(shù)據(jù)來緩解目標(biāo)領(lǐng)域的數(shù)據(jù)稀疏性問題.項目的評論信息如表5所示.

      表4 項目評分統(tǒng)計信息

      表5 項目評論統(tǒng)計信息

      從表5可看出,用戶對項目的評論信息十分豐富,無論是評論的數(shù)量還是每條評論的內(nèi)容都足夠多,能較好地緩解數(shù)據(jù)稀疏性帶來的影響.

      4.2 評價指標(biāo)與參數(shù)設(shè)置

      4.2.1 評價指標(biāo)

      平均絕對誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Squared Error,RMSE)是目前推薦系統(tǒng)中較為常見的兩個評價指標(biāo),用于衡量預(yù)測評分和真實評分之間的誤差,而困惑度(Perplexity)可用來衡量概率分布與目標(biāo)文本的匹配程度.故本文使用MAE和RMSE來對比不同算法的性能,用困惑度來選擇合適的主題數(shù),進而設(shè)置其它參數(shù).

      1)平均絕對誤差(MAE)

      由于本文的目標(biāo)是預(yù)測用戶對未瀏覽過的項目的評分,而MAE是評分誤差的平均絕對值,故MAE可作為本文中評分預(yù)測的評價指標(biāo).MAE的計算如式(17)所示:

      (17)

      2)均方根誤差(RMSE)

      除了MAE以外,RMSE也是一種用于衡量預(yù)測評分預(yù)測的準(zhǔn)確性的指標(biāo),反應(yīng)預(yù)測評分與真實評分的標(biāo)準(zhǔn)差.RMSE的計算如式(18)所示:

      (18)

      3)困惑度(Perplexity)

      評價主題模型中主題數(shù)的選取是否合理的指標(biāo),該值與模型的質(zhì)量呈負(fù)相關(guān),即Perplexity越小,主題概率模型的質(zhì)量越高.Perplexity計算如式(19)所示:

      (19)

      其中,P(ri)為第i個項目的全部評論信息的生成概率,Ni為第i個項目的全部評論信息的總詞數(shù).

      4.2.2 參數(shù)設(shè)置

      在實驗過程中,相關(guān)參數(shù)的設(shè)置尤為重要,取值合適的參數(shù)能讓算法性能明顯提升.本文選擇Music作為源領(lǐng)域,Video作為目標(biāo)領(lǐng)域,同時將評分以及評論數(shù)量都少于5的用戶剔除,并將所有數(shù)據(jù)集中的80%和其它20%的數(shù)據(jù)分別作為訓(xùn)練集與測試集.本文的參數(shù)共有3部分,分別是LDA相關(guān)參數(shù),跨領(lǐng)域系數(shù)λ,近鄰數(shù)N.研究表明[27],當(dāng)近鄰數(shù)在30~60之間,推薦效果較好,故本文將近鄰數(shù)設(shè)置為其中值45.

      1)LDA相關(guān)參數(shù)

      LDA的參數(shù)的選擇決定了項目主題的提取效果,其中包括超參數(shù)α、β和主題數(shù)K.根據(jù)歷史經(jīng)驗,將α取值為50/K,β取值為0.01,主題數(shù)K設(shè)置13個值做對比實驗,分別為6,11,16,21,26,31,36,41,46,51,56,61,66.觀察源領(lǐng)域和目標(biāo)領(lǐng)域中Perplexity值隨主題數(shù)K的變化趨勢,如圖4所示.

      圖4 源領(lǐng)域與目標(biāo)領(lǐng)域LDA主題數(shù)對Perplexity值的影響

      從圖4可看出,在源領(lǐng)域中,Perplexity值與主題數(shù)Ks呈負(fù)相關(guān).初始時刻,曲線的下降速率很快.約在Ks=21時下降速率逐漸變緩,說明增加主題數(shù)的效果已不明顯.此后雖然隨著主題數(shù)K的增大,Perplexity值總體減小,但是過擬合的風(fēng)險越來越大,因此Ks=21為最佳主題數(shù),此時的模型性能最好,故選取Ks=21作為源領(lǐng)域LDA的主題數(shù).與源領(lǐng)域類似,在Kt=26時,主題模型對文本的預(yù)測能力最佳,故選取Kt=26作為目標(biāo)領(lǐng)域LDA的主題數(shù).接下來,在Ks=21,Kt=26的條件下設(shè)置后續(xù)參數(shù).

      2)跨領(lǐng)域系數(shù)

      用戶的偏好包括從源領(lǐng)域映射而來的和用戶在目標(biāo)領(lǐng)域的,將這兩部分偏好進行加權(quán)求和,得到用戶的綜合偏好.在Ks=21,Kt=26的條件下,觀察目標(biāo)領(lǐng)域中MAE值隨跨領(lǐng)域系數(shù)的變化趨勢,如圖5所示.

      圖5 跨領(lǐng)域系數(shù)對MAE值的影響

      從圖5中可以看出,隨著跨領(lǐng)域系數(shù)的增大,MAE呈現(xiàn)波浪式變化.剛開始,MAE值隨著跨領(lǐng)域系數(shù)的增大而減小,當(dāng)跨領(lǐng)域系數(shù)達到臨界時,MAE最小.隨后,隨著跨領(lǐng)域系數(shù)的增大,MAE值反而大幅度增大,說明目標(biāo)領(lǐng)域所占的比例應(yīng)大于源領(lǐng)域,當(dāng)兩者所占比例為7:3時,推薦效果最好,故本文的跨領(lǐng)域系數(shù)取值為0.3.

      4.3 對比算法

      本文提出的CDRS_FUDPAM算法結(jié)合用戶評分、評論以及輔助領(lǐng)域信息,主要解決了以下兩個問題.

      問題1.用戶評分與評論相結(jié)合的方式能否降低數(shù)據(jù)稀疏性對推薦結(jié)果的影響.

      系統(tǒng)中大部分用戶的活躍度都不高,往往只對少數(shù)感興趣的項目評分,這導(dǎo)致評分矩陣的稀疏度非常高,進而很難從這有限的信息中充分提取用戶偏好.而評論信息包含了項目的某些特征以及用戶的偏好,信息豐富度遠高于評分矩陣.通過LDA模型處理項目評論信息,再結(jié)合用戶的評分信息可得到用戶的偏好分布,進而降低數(shù)據(jù)稀疏帶來的影響.

      問題2.相比單領(lǐng)域的推薦算法,跨領(lǐng)域推薦算法能否提高評分預(yù)測的精度.

      在單領(lǐng)域推薦系統(tǒng)中,不同用戶的數(shù)據(jù)分布差異很大,有些用戶十分活躍,評分評論數(shù)很多,但大多數(shù)用戶只有很少的歷史記錄.歷史記錄豐富的用戶通常預(yù)測的準(zhǔn)確度較高,而歷史記錄稀少的用戶的偏好通常難以被準(zhǔn)確捕獲.在跨領(lǐng)域推薦中,由于輔助領(lǐng)域的引入,原本缺少的信息在一定程度上得到彌補,進而提高預(yù)測的準(zhǔn)確性.

      為了實現(xiàn)上述目標(biāo),我們將CDRS_FUDPAM與4個目前性能較好的模型進行對比,分別是LFM、SVD++、HFT和USRMF.

      1)LFM:經(jīng)典推薦算法,通過矩陣分解預(yù)測用戶對未評分項目的評分.

      2)SVD++:LFM使用了SVD矩陣分解來求預(yù)測評分,而SVD++在LFM的基礎(chǔ)上加入了隱性特征,使得算法性能得到進一步提高.

      3)HFT[28]:將用戶對項目的評分與評論信息結(jié)合,并融入LDA主題模型,提取用戶更多的隱式偏好,使得推薦性能得到進一步提升.

      4)USRMF[29]:使用LDA主題模型提取項目特征分布,結(jié)合用戶評分得到用戶的偏好分布與項目的隱特征,然后根據(jù)用戶偏好與項目的隱特征得到其近鄰用戶與項目,同時結(jié)合矩陣分解模型使得算法性能進一步改善.

      5)CDRS_FUDPAM:本文提出的模型CDRS_FUDPAM,在使用LDA主題模型提取評論信息并結(jié)合評分信息、時間因子與注意力機制的基礎(chǔ)上,增加輔助領(lǐng)域信息,以降低單領(lǐng)域數(shù)據(jù)稀疏性的影響.

      如表6所示,LFM和SVD++僅僅依賴評分信息,而HFT和USRMF同時使用了評分和評論信息.最后一個是本文使用的CDRS_FUDPAM,除了評分與評論信息,還加入了不同領(lǐng)域的信息,能夠更全面地發(fā)掘用戶的偏好.

      表6 不同模型特點對比

      4.4 評分預(yù)測分析與討論

      4.4.1 評分預(yù)測對比

      通常,模型的性能受多個因素限制,本文通過隱因子數(shù)來對比各個模型的性能差異,隱因子數(shù)過少,所獲取的信息太少,造成模型欠擬合問題;隱因子數(shù)過多,容易過擬合.故分別設(shè)定隱因子數(shù)為6,11,16,21,…,66,觀察各模型性能隨隱因子數(shù)的變化趨勢.對于主題模型(HFT、USRMF和CDRS_FUDPAM),隱因子數(shù)和主題數(shù)相等,其中CDRS_FUDPAM的隱因子數(shù)為目標(biāo)領(lǐng)域的主題數(shù).對于矩陣分解模型(LFM和SVD++),隱因子數(shù)等于用戶或商品的隱向量長度.各模型MAE和RMSE值隨隱因子數(shù)的變化趨勢分別如圖6和圖7所示.

      圖6 隱因子數(shù)對MAE值的影響

      圖7 隱因子數(shù)對RMSE值的影響

      圖6中,X軸為隱因子數(shù),Y軸為MAE值.圖中的各個曲線變化趨勢表明,MAE值一開始與隱因子數(shù)呈負(fù)相關(guān),當(dāng)達到最小值后,繼續(xù)增大隱因子數(shù),MAE值的變化趨勢與之前相反.這說明若要充分提取模型的特征就需要足夠的隱因子數(shù),隱因子數(shù)過少便無法實現(xiàn).此時,通過增加隱因子數(shù)可以更充分地提取模型的特征.當(dāng)隱因子數(shù)超過臨界點后,繼續(xù)增加隱因子數(shù)無法改善模型的性能.

      圖7中,X軸為隱因子數(shù),Y軸為RMSE值.與MAE值隨隱因子數(shù)的變化趨勢類似,RMSE值一開始隨著隱因子數(shù)的增加而減小,當(dāng)達到最小值后,繼續(xù)增大隱因子數(shù),RMSE值非但不減小反而呈增大趨勢.這說明隱因子數(shù)過少時,增加隱因子數(shù)可以更充分地提取模型的特征.當(dāng)隱因子數(shù)超過臨界點后,繼續(xù)增加隱因子數(shù)無法改善模型的性能.

      4.4.2 實驗討論

      本文共選取了4種不同的典型算法與提出的CDRS_FUDPAM算法做對比,并對相應(yīng)的結(jié)果進行分析.從圖6中可看出,MAE值和RMSE值隨著隱因子數(shù)的增加,均呈下降趨勢.當(dāng)隱因子數(shù)超過臨界值時,繼續(xù)增加隱因子數(shù),模型的性能沒有得到改善,反而越來越差,說明此時模型逐漸趨于過擬合狀態(tài).而CDRS_FUDPAM算法的整體性能均優(yōu)于其它算法,說明輔助領(lǐng)域信息的引入能夠有效改善數(shù)據(jù)稀疏帶來的影響.

      綜上所述,LFM和SVD++算法僅利用了數(shù)據(jù)集中的評分信息,但評分信息通常由于數(shù)據(jù)的稀疏性和評分的隨意性而難以完全反映用戶的偏好,故這兩種算法的MAE值和RMSE值偏高.而HFT和 USRMF在上面基礎(chǔ)上添加了評論信息,使用LDA發(fā)掘項目的隱特征,算法性能較前兩種算法有明顯提升.而本文提出的CDRS_FUDPAM算法加入了輔助領(lǐng)域信息,同時結(jié)合注意力機制,使得推薦的準(zhǔn)確性與時效性得到進一步提升.

      5 總結(jié)與下一步工作

      本文給出了一種基于用戶動態(tài)偏好和注意力的跨領(lǐng)域推薦方法,嘗試解決冷啟動、數(shù)據(jù)稀疏性以及偏好時效性等傳統(tǒng)推薦算法的問題.此方法將LDA提取的項目主題分布與用戶的評分信息結(jié)合,得到用戶動態(tài)偏好,同時引入時間權(quán)重因子與注意力機制使得用戶的偏好更有時效性.最后,將源領(lǐng)域和目標(biāo)領(lǐng)域的用戶偏好進行加權(quán)融合,使得推薦的準(zhǔn)確度進一步增強,推薦結(jié)果也更加豐富.

      論文的主要貢獻如下:

      1)通過LDA模型將項目的評論信息轉(zhuǎn)換為項目的主題分布,再結(jié)合用戶對項目的評分,得到用戶的動態(tài)偏好.由于同時利用了評分和評論,使得評分?jǐn)?shù)據(jù)稀疏性帶來的影響明顯減小.

      2)引入時間影響因子與注意力機制,將用戶每個時刻的偏好與時間因子權(quán)重、注意力權(quán)重結(jié)合,使得對用戶整體偏好的估計更為準(zhǔn)確.

      3)利用BP神經(jīng)網(wǎng)絡(luò)來獲取源領(lǐng)域與目標(biāo)領(lǐng)域之間用戶偏好的映射關(guān)系,并將此映射關(guān)系應(yīng)用于所有用戶的偏好,將其從源領(lǐng)域映射到目標(biāo)領(lǐng)域,再結(jié)合目標(biāo)領(lǐng)域單獨的推薦結(jié)果,使得最終推薦結(jié)果更加準(zhǔn)確.

      本文也存在一定的不足,對于冷啟動用戶和項目而言,推薦的準(zhǔn)確性仍有待提高.另外,用戶與項目的很多隱式特征并未充分利用.熱門程度較高的項目往往具有較高的評分,而熱門程度較低項目的評分往往具有隨機性.接下來的工作將逐步加入用戶的社交網(wǎng)絡(luò)、用戶的標(biāo)簽、資源的熱門程度等影響因子,提取更多的隱式特征用以改善模型的效果.

      猜你喜歡
      領(lǐng)域因子算法
      因子von Neumann代數(shù)上的非線性ξ-Jordan*-三重可導(dǎo)映射
      一些關(guān)于無窮多個素因子的問題
      影響因子
      影響因子
      基于MapReduce的改進Eclat算法
      領(lǐng)域·對峙
      青年生活(2019年23期)2019-09-10 12:55:43
      Travellng thg World Full—time for Rree
      進位加法的兩種算法
      一種改進的整周模糊度去相關(guān)算法
      新常態(tài)下推動多層次多領(lǐng)域依法治理初探
      宣武区| 福贡县| 曲阳县| 孙吴县| 泰州市| 马山县| 蓬安县| 泽普县| 武功县| 海伦市| 东丽区| 隆德县| 湘西| 太保市| 秦皇岛市| 综艺| 宾川县| 九龙县| 姚安县| 中江县| 桂平市| 宜昌市| 龙岩市| 汾阳市| 宜川县| 松江区| 江城| 忻城县| 兰溪市| 柞水县| 泸西县| 洪湖市| 榆社县| 巴中市| 临江市| 通江县| 江源县| 宁海县| 略阳县| 宜兰县| 卫辉市|