亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于電影屬性和交互信息的電影推薦算法

        2022-06-09 07:46:48顧亦然張遠之楊海根
        南京理工大學(xué)學(xué)報 2022年2期
        關(guān)鍵詞:用戶信息

        顧亦然,張遠之,楊海根

        (南京郵電大學(xué)1.自動化學(xué)院、人工智能學(xué)院;2.智慧校園研究中心;3.寬帶無線通信技術(shù)教育部工程研究中心,江蘇 南京 210003)

        在大數(shù)據(jù)時代,互聯(lián)網(wǎng)給用戶帶來了大量信息[1],也產(chǎn)生了信息過載問題,使得用戶在面對網(wǎng)絡(luò)上海量資源時,無法快速準確的選擇自己想要的那部分信息,這樣反而降低了信息的使用效率。推薦算法是信息過濾技術(shù)之一,它能夠自動地過濾與目標用戶無關(guān)或用戶不感興趣的數(shù)據(jù)[2]。

        作為推薦系統(tǒng)的經(jīng)典解決方案,協(xié)同過濾(Collaborative filtering,CF)算法利用協(xié)同信息推薦用戶感興趣的信息[3],因為其擁有較高的準確性,而被應(yīng)用于電影、音樂和電子商務(wù)等領(lǐng)域[4]。協(xié)同過濾算法主要有兩個基本算法:基于用戶的協(xié)同過濾(User collaborative filtering,UCF)和基于物品的協(xié)同過濾(Item collaborative filtering,ICF)?;谖锲返膮f(xié)同過濾算法主要是基于用戶和物品的交互來為用戶進行推薦,用戶和物品的交互信息真實性和完整性直接影響推薦的效果。在實際應(yīng)用中,協(xié)同過濾的數(shù)據(jù)稀疏問題比較嚴重,因為用戶的數(shù)量和物品的數(shù)量都比較多,而用戶和物品的交互信息卻相對較少,這使得協(xié)同過濾算法推薦的效果不夠理想。為了解決這個問題,研究者們嘗試在協(xié)同過濾算法中加入輔助信息,例如社交網(wǎng)絡(luò)、圖片和用戶-物品特征等。本文考慮融合知識圖譜和協(xié)同過濾算法來緩解該問題。知識圖譜可以從3個方面改善推薦系統(tǒng):(1)知識圖譜中實體之間通過語義相關(guān)聯(lián),這有助于發(fā)現(xiàn)實體間的潛在聯(lián)系,從而提高推薦準確率;(2)知識圖譜中包含了多種關(guān)系,有助于推薦結(jié)果的多樣性;(3)知識圖譜中包含了用戶的歷史記錄和待推薦物品,因此推薦系統(tǒng)有更好的可解釋性[5]。

        1 相關(guān)研究

        1.1 基于協(xié)同過濾的推薦

        傳統(tǒng)的推薦算法主要有3類:協(xié)同過濾算法、基于內(nèi)容的推薦算法以及混合推薦算法。Sarwar等[6]提出了基于物品的協(xié)同過濾算法,通過識別不同項目之間的關(guān)系為用戶推薦物品。Jin等[7]將用戶的年齡和性別等特征引入到相似度計算中,從而提高推薦系統(tǒng)的推薦效果。Chae等[8]提出AR-CF模型,通過為冷啟動用戶和物品生成虛擬鄰居并擴充來緩解冷啟動問題?;趦?nèi)容的推薦算法以物品的特性和用戶偏好等為依據(jù)進行推薦。于洪等[9]通過綜合考慮用戶、時間、項目屬性和標簽來預(yù)測評分,有效解決了冷啟動問題。Bhatt等[10]通過結(jié)合余弦相似度和視覺相似度來計算與錨定視覺概念向量的距離。混合推薦將多種推薦技術(shù)結(jié)合來彌補單個推薦技術(shù)的不足,從而獲得更好的推薦效果。Li等[11]結(jié)合多種相似度算法,構(gòu)建了基于用戶偏好和產(chǎn)品特征的混合推薦算法。Bi等[12]總結(jié)了多層感知的有效學(xué)習(xí)能力,提出了一種多層感知的混合推薦方法。傳統(tǒng)的協(xié)同過濾算法具有較高的準確性,但是未能充分利用物品信息。

        1.2 基于知識圖譜的推薦

        知識圖譜的理論方法可以使人們更加便捷、準確地獲取到自己所需要的信息[13],將知識圖譜引入推薦系統(tǒng)的工作主要分為兩類:基于嵌入的推薦算法和基于路徑的推薦算法。Wang等[14]融合知識圖譜和推薦系統(tǒng),緩解了推薦系統(tǒng)的冷啟動和數(shù)據(jù)稀疏問題。Wang等[15]設(shè)計了一個深度自動編碼器,用于名人推薦。Yu等[16]將知識圖譜看作一個異構(gòu)網(wǎng)絡(luò),通過提取基于元路徑的特征來表示用戶之間的連接以及不同類型的關(guān)系路徑的物品。

        現(xiàn)有方法重點關(guān)注了用戶和物品的交互信息,而忽略了物品本身的屬性信息。本文提出的基于電影屬性和交互信息的電影推薦算法,簡稱RippleNet協(xié)同過濾(RippleNet collaborative filtering,RippleNet-CF),在使用交互信息的同時關(guān)注了電影本身的信息,將知識圖譜作為推薦系統(tǒng)的輔助信息來源,利用實體關(guān)系三元組分析用戶的偏好傾向并推理出用戶可能喜歡的電影,同時使用協(xié)同過濾算法來處理用戶和電影的交互信息,最后融合兩次結(jié)果以達到更優(yōu)的推薦效果。此外,知識圖譜利用不同的關(guān)系來連接不同的實體,這提高了推薦系統(tǒng)的可解釋性并彌補了數(shù)據(jù)稀疏的問題。

        2 RippleNet模型

        2.1 Ripple集

        知識圖譜中包含了大量的實體以及實體與實體之間的關(guān)系。如圖1所示,電影《Toy Story》通過“主演”關(guān)系和Tom Hanks聯(lián)系在一起,通過“導(dǎo)演”關(guān)系和John Lasseter聯(lián)系在一起,而Tom Hanks和John Lasseter又與他主演的電影《Apollo13》和導(dǎo)演的電影《A Bug’s Life》聯(lián)系在一起。這些實體與實體之間復(fù)雜的聯(lián)系就提供了一個探索用戶喜好的思路。比如,某個用戶的歷史觀影記錄中有《Toy Story》,那么他有可能會喜歡上這部電影的主演Tom Hanks,從而喜歡上電影《APollo13》。因此定義了Ripple集,對于用戶U,定義他的Ripple集為

        式中:(h,r,t)為知識圖譜中的三元組表示,h表示頭結(jié)點,r表示關(guān)系,t表示尾節(jié)點,k表示跳數(shù),H表示最大跳數(shù),為用戶U第k-1跳的相關(guān)實體集,定義為

        圖1 知識圖譜局部圖

        當(dāng)k等于0時,為用戶U歷史觀看的電影。如圖1,假設(shè)用戶觀只看過《Toy Story》,則中只包含《Toy Story》,中包括Tom Hanks,John Lasseter,Animation等,中包含三元組(Toy Story,star,Tom Hanks),(Toy Story,writer,John Lasseter),(Toy Story,genre,Animation)等。

        2.2 RippleNet

        在RippleNet中,將用戶U和電影V作為輸入,輸出用戶U對電影V的點擊概率。對于用戶U,將他的歷史觀影記錄V u視為種子,然后沿著關(guān)系延伸以形成Ripple集。這些Ripple集用于與電影V的嵌入交互以獲得用戶U關(guān)于電影V的響應(yīng),然后將其組合以形成最終的用戶偏好表示,最后使用電影V的嵌入和用戶偏好來計算用戶U對電影V的點擊概率。

        如圖2所示,首先將待推薦電影V進行詞嵌入得到電影的向量表示v∈Rd,其中,d表示待推薦電影V嵌入的維度。之后將待推薦電影V和用戶U的第一跳Ripple集中的頭部節(jié)點h i和關(guān)系r i進行比較,從而為中的每個三元組(h i,r i,t i)分配一個關(guān)聯(lián)概率,關(guān)聯(lián)概率的計算公式如下

        式中:Ri∈Rd*d和h i∈Rd分別是關(guān)系r i和頭部節(jié)點h i的嵌入。將關(guān)聯(lián)概率P i看作是待推薦電影V和頭部節(jié)點h i的相似性。由于電影和電影之間存在著不同的關(guān)系,因此需要加入關(guān)系Ri。比如,如果是考慮導(dǎo)演或者編劇的話,則電影《Toy store》和電影《A Bug’s life》非常相似,但是若考慮主演的話,這兩部電影則沒有相似性。

        在得到關(guān)聯(lián)概率P i后,通過將關(guān)聯(lián)概率P i和S1u對應(yīng)的尾部節(jié)點t i相乘,得到一個輸出向量

        式中:t i∈Rd是尾部節(jié)點t i的嵌入。這時得到的輸出可以看作是用戶U的一階興趣偏好。如果此時未達到設(shè)置的跳數(shù),則使用替換待推薦電影的嵌入v,并循環(huán)執(zhí)行式(3)和式(4),每執(zhí)行一回合將得到一個輸出,直到達到設(shè)置的跳數(shù),結(jié)束循環(huán)。將每次輸出的結(jié)果相加作為最后的用戶興趣偏好,最后組合用戶興趣偏好和待推薦電影嵌入v得用戶點擊該待推薦電影的點擊概率

        式中:U定義為

        對RippleNet有以下的損失函數(shù)

        式中:N表示用戶和電影的實際交互情況,N=1表示用戶觀看了這個電影,N=0表示用戶未觀看這個電影。

        根據(jù)圖2的流程,可以得到一個用戶-電影點擊概率預(yù)測矩陣。如表1所示。

        圖2 RippleNet結(jié)構(gòu)圖

        表1 電影點擊概率預(yù)測

        表1為不同用戶對于不同電影的點擊概率,其中,n ij表示用戶i對電影j的點擊概率。在預(yù)測過程中不會對用戶已經(jīng)看過的電影進行預(yù)測,因此有些電影的預(yù)測值為0。

        3 協(xié)同過濾推薦算法

        本文使用基于物品的協(xié)同過濾來進行電影推薦,它以用戶的偏好為假設(shè),將用戶對電影的歷史評分嵌入為一個向量,并利用評分向量計算電影間的相似度,最后向用戶推薦相似度最高的一個或幾個電影。如圖3所示,喜歡電影A的用戶(用戶A和用戶B)也喜歡電影C,則電影A和電影C相似,又因為用戶C喜歡電影A,所以系統(tǒng)為用戶C推薦與電影A相似的電影(電影C)。推薦過程可分為3個步驟:

        (1)構(gòu)建電影評分矩陣

        假設(shè)數(shù)據(jù)中有m個用戶和n部電影,用戶集合表示為U={U1,U2,U3,…,U m},電影集合表示為V={V1,V2,V3,…,V n},則用戶Ui對電影V j的評分表示為S ij,評分矩陣Rm×n表示為

        (2)計算電影相似度

        本文采用余弦相似度來計算電影與電影之間的相似度。若將用戶對電影的評分嵌入成一個m維的向量,用戶對電影Vi的評分嵌入為v i=[S1i,S2i,…,S mi],對電影V j的評分向量為v j=[S1j,S2j,…,S mj],則電影Vi和電影V j的余弦相似度為

        式(9)中余弦相似度的取值范圍為[0,1]。

        圖3 基于物品的協(xié)同過濾推薦實例

        上述的余弦相似度在實際運用中會存在一些問題。因為有些用戶給電影的評分普遍偏高,而有些用戶給電影的評分普遍較低,則不同用戶對一部電影評分相同,但他們的喜歡程度可能不一樣。因此對上述式子進行調(diào)整,將用戶的打分習(xí)慣考慮進來,改進的公式如下

        (3)點擊概率預(yù)測

        確定了電影間的相似度,通過計算用戶歷史觀看的電影與待推薦電影的相似度的總和并進行歸一化得出用戶對這一待推薦電影的點擊概率。公式定義為

        4 基于電影屬性和交互信息的電影推薦算法

        用戶-電影評分矩陣可以用來計算電影相似度并以此來為用戶推薦,但是,由于協(xié)同過濾算法僅僅使用用戶和電影的交互信息,所以用戶-電影評分矩陣會存在數(shù)據(jù)的稀疏性問題,導(dǎo)致推薦效果不理想。因此本文提出RippleNet-CF算法,充分利用用戶和電影的交互信息以及電影與電影間的屬性關(guān)系,并以RippleNet-CF的結(jié)果作為依據(jù)向用戶進行推薦。

        4.1 構(gòu)建電影知識圖譜

        在電影領(lǐng)域中,知識圖譜中的實體主要包括電影名、導(dǎo)演、主演、編劇、類型、語言、國家、年代等。不同的電影之間會存在相同的屬性值,通過這些相同的屬性值,就將兩個電影節(jié)點聯(lián)系起來,從而形成一個電影知識圖譜。

        本文抽取出電影名、導(dǎo)演、主演、編劇、類型、語言、國家、評分和年代這些屬性,并利用這些屬性構(gòu)建8張數(shù)據(jù)結(jié)構(gòu)表,分別為電影名-導(dǎo)演、電影名-導(dǎo)演、電影名-主演、電影名-編劇、電影名-類型、電影名-語言、電影名-國家、電影名-年代?;谏厦娴?張表,接下來利用neo4j批量的導(dǎo)入這些節(jié)點以及節(jié)點和節(jié)點之間的關(guān)系,形成一張電影知識圖譜。

        4.2 結(jié)果融合

        基于物品的協(xié)同過濾推薦算法利用用戶和電影的評分信息計算電影間的相似度,并對電影進行推薦。但是基于物品的協(xié)同過濾推薦算法僅僅利用了用戶和電影的評分信息,而未能利用電影與電影之間的內(nèi)在關(guān)系信息,并且用戶對電影的評分存在一定的主觀性??赡芡挥脩粼诓煌臅r間或不同的場景下對同一部電影給出不同的評分,這會導(dǎo)致推薦結(jié)果的不準確。此外,因為用戶對電影的評分數(shù)據(jù)相對于用戶和電影的數(shù)量較少,因此評分數(shù)據(jù)也是稀疏的,這也會影響推薦的效果。

        利用知識圖譜從電影的特征出發(fā),通過電影和電影之間的內(nèi)在關(guān)系來發(fā)現(xiàn)電影之間的聯(lián)系,從而發(fā)現(xiàn)用戶的潛在興趣。

        為了改善推薦的效果,同時利用電影與用戶之間的交互信息和電影與電影屬性之間的相互關(guān)系。充分利用兩種算法的優(yōu)點,克服他們的缺點,對基于知識圖譜的RippleNet推薦算法和基于用戶-電影評分數(shù)據(jù)的協(xié)同過濾算法的結(jié)果進行線性融合。融合公式定義為

        式中:C表示融合概率,α表示權(quán)值,M表示RippleNet算法計算出的用戶對電影的點擊概率,P表示協(xié)同過濾算法計算出的用戶對電影的點擊概率。

        4.3 算法框圖

        基于電影屬性和交互信息的電影推薦算法流程圖如圖4所示。

        5 試驗分析

        本節(jié)通過試驗驗證RippleNet-CF模型的有效性,分析了試驗的數(shù)據(jù),并討論了不同的參數(shù)設(shè)置對試驗結(jié)果的影響。

        5.1 數(shù)據(jù)集

        RippleNet-CF采用MovieLens-1M數(shù)據(jù)集作為試驗數(shù)據(jù)集[18]。這個數(shù)據(jù)集中包含了6 000多位用戶記錄,以及4 000多部電影,共有1 000 000多條評論數(shù),評分在1~5之間。

        圖4 RippleNet-CF算法流程圖

        利用TMDB數(shù)據(jù)集在neo4j中構(gòu)建電影知識圖譜。在爬取數(shù)據(jù)后,對數(shù)據(jù)進行知識抽取,最終得到了33 311個實體,包括電影名、主演、導(dǎo)演、電影類型等在內(nèi)的620 997個關(guān)系。

        5.2 評價指標

        常用于推薦系統(tǒng)的結(jié)果分析的主要指標包括:準確率(Precision)、召回率(Recall)和覆蓋率(Coverage)。參數(shù)含義如表2所示。

        表2 混淆矩陣

        準確率定義為

        召回率定義為

        覆蓋率定義為

        準確率反映了是否正確預(yù)測了用戶的喜好。召回率給出了向用戶正確推薦的電影占所有應(yīng)該被推薦電影的比例。覆蓋率反映了被推薦電影占電影總量的比例。

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

        為了提高原有推薦系統(tǒng)的準確性,本文將知識圖譜作為輔助信息加入到協(xié)同過濾算法中,提出了RippleNet-CF算法。本文在公開數(shù)據(jù)集MovieLens-1M進行測試。α的取值從0遞增到1,步長設(shè)為0.1,驗證模型的準確率、召回率和覆蓋率。結(jié)果如圖5、圖6和圖7所示。

        圖5 準確率結(jié)果

        圖6 召回率結(jié)果

        圖7 覆蓋率結(jié)果

        從圖5、圖6和圖7可以看出。隨著權(quán)值α的增大,推薦系統(tǒng)的準確率和召回率的整體趨勢變好,在α=0.6時,推薦系統(tǒng)的準確率和召回率達到最優(yōu)值,之后隨著權(quán)值的增大,系統(tǒng)性能逐漸下降;而覆蓋率與準確率的變化相反,當(dāng)α在0~0.6時覆蓋率呈下降趨勢,之后隨著α的增大,覆蓋率逐漸變大。

        5.4 算法比較

        本文在公開數(shù)據(jù)集MovieLens-1M上進行測試,本文提出的模型權(quán)值α取值為0.6,將本文的方法與經(jīng)典的協(xié)同過濾算法以及近期比較先進的推薦算法模型進行比較,包括Sarwar等[6]提出的IBCF模型、于洪等[9]提出的CUTA、Pirasteh等[19]提出的CIS-GD模型以及任永功等[20]提出的IMCF模型。試驗結(jié)果如表3所示。

        表3 各算法準確性對比結(jié)果

        從表3可以看出,當(dāng)推薦個數(shù)為2時,本文模型的準確率低于對比的算法,但是隨著推薦電影數(shù)目的增加,本文算法的準確性都優(yōu)于其他算法;當(dāng)推薦電影數(shù)目為4時,本文算法的準確率比IBCF、CUTA、CIS-GD和IMCF分別提高了8.4%、10.7%、11.9%和7.7%;當(dāng)電影推薦數(shù)目達到6時,本文算法比IBCF、CUTA、CIS-GD和IMCF分別提高了8.9%、12.6%、11.7%和7.7%;當(dāng)推薦數(shù)目為8時,分別提高了10.2%、13.2%、11.5%和8.3%;當(dāng)推薦10部電影時,準確率分別提高11.4%、13.1%、12.5%和11.2%。

        僅僅基于用戶-電影評分信息進行推薦,數(shù)據(jù)會存在稀疏性問題,推薦結(jié)果也會因用戶評分時的環(huán)境不同而受到影響,會使推薦結(jié)果變差,因此這并不能準確反映用戶的興趣。本文提出的RippleNet-CF算法,能夠有效挖掘用戶的興趣。RippleNet對電影屬性的關(guān)系進行挖掘,進一步探討電影屬性與屬性之間存在的關(guān)系,豐富了可用的屬性信息,再融合協(xié)同過濾算法,能夠更好地反映用戶的興趣。

        6 結(jié)束語

        針對傳統(tǒng)推薦算法準確率低、可解釋性差以及數(shù)據(jù)稀疏等問題,本文基于電影屬性和交互信息提出RippleNet-CF算法。在影視推薦過程中更充分地考慮了影視作品的信息,包括用戶和電影的交互信息以及電影和電影之間屬性的內(nèi)在聯(lián)系。本文的算法通過RippleNet算法模型充分利用電影屬性和電影屬性的內(nèi)在聯(lián)系,進而挖掘用戶的潛在興趣,同時也通過協(xié)同過濾算法發(fā)現(xiàn)用戶的現(xiàn)有興趣,并將兩種結(jié)果融合,得到最終的推薦結(jié)果。試驗結(jié)果表明,本文提出的算法模型在準確率方面優(yōu)于現(xiàn)有的模型。這一算法模型也有一些待優(yōu)化的地方,例如能否在保證準確率的前提下提高覆蓋率,這為接下來的工作提供了新的方向。

        猜你喜歡
        用戶信息
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        Camera360:拍出5億用戶
        100萬用戶
        如何獲取一億海外用戶
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        亚洲精品中文字幕无码蜜桃| 国产视频一区二区在线免费观看 | 久久久精品人妻一区二区三区四| 国产精品九九热| 日日噜噜夜夜久久密挑| 国产视频自拍一区在线观看| 国产99久久久国产精品免费看| 99这里只有精品| 亚洲国产精品成人久久av| 亚洲不卡在线免费视频| 亚洲欧美乱日韩乱国产| 人妻无码中文专区久久五月婷| 亚洲红杏AV无码专区首页| 亚洲福利二区三区四区| 国产精品成人免费视频一区| 亚洲av永久无码精品秋霞电影影院 | 色噜噜久久综合伊人一本| 夜色阁亚洲一区二区三区| 国产日韩一区二区精品| 国产自拍视频在线观看免费| 蜜臀色欲av在线播放国产日韩| 女同啪啪免费网站www| 成人女同av免费观看| 日产一区二区三区免费看 | 乱子真实露脸刺激对白| 91久久精品国产性色tv| 国产女主播一区二区三区| 熟女体下毛毛黑森林| 久久久99精品成人片中文字幕| 国产精品久久一区二区蜜桃| 亚洲av午夜精品无码专区| 国产精品毛片无码| 中文字幕一区二区三区日韩网| 中文字幕在线乱码av| 狠狠噜天天噜日日噜无码| 国产欧美日韩午夜在线观看 | 久久伊人中文字幕有码久久国产| 99e99精选视频在线观看| 成人欧美一区二区三区的电影| 成人在线免费视频亚洲| 免费看黄视频亚洲网站|