本發(fā)明涉及項目推薦,特別涉及一種項目推薦方法、裝置、介質(zhì)和計算機(jī)設(shè)備。
背景技術(shù):
1、一般的,序列推薦技術(shù)的背景與個性化推薦系統(tǒng)的發(fā)展密切相關(guān)。隨著互聯(lián)網(wǎng)的普及和海量用戶數(shù)據(jù)的積累,人們逐漸意識到傳統(tǒng)的基于內(nèi)容或協(xié)同過濾的推薦系統(tǒng)存在一些局限性,比如無法準(zhǔn)確地捕捉用戶的時間序列行為和演化過程。于是,序列推薦技術(shù)應(yīng)運(yùn)而生,旨在利用用戶行為的時間序列信息,結(jié)合序列模型、強(qiáng)化學(xué)習(xí)、遞歸神經(jīng)網(wǎng)絡(luò)等技術(shù),對用戶的歷史行為和當(dāng)前行為進(jìn)行建模,從而能夠更準(zhǔn)確地預(yù)測用戶未來的偏好和行為。這種技術(shù)背景的發(fā)展使得推薦系統(tǒng)能夠更加精準(zhǔn)地適應(yīng)用戶的個性化需求,并在電子商務(wù)、社交媒體、音視頻服務(wù)等領(lǐng)域得到了廣泛的應(yīng)用。
2、現(xiàn)有技術(shù)中,序列推薦旨在從用戶的歷史項目序列中預(yù)測用戶的下一個項目,從而了解用戶的興趣演變過程。它已被廣泛應(yīng)用于各種在線平臺,如流媒體、電子商務(wù)、社交網(wǎng)絡(luò)等。傳統(tǒng)的序列推薦(sequence?recommender,sr)方法主要采用馬爾可夫鏈來學(xué)習(xí)時間交互遷移,如mc-rgn、spmc等。最近的研究集中在深度序列推薦模型上,并取得了令人滿意的結(jié)果。然而,在現(xiàn)實場景中,大多數(shù)用戶只與有限數(shù)量的項目進(jìn)行交互,從而導(dǎo)致數(shù)據(jù)稀疏性問題,阻礙了序列推薦的發(fā)展。
3、在應(yīng)對數(shù)據(jù)稀疏性時,數(shù)據(jù)增強(qiáng)是一種直觀的方法,因為它可以豐富每個用戶的交互項目。因此,出現(xiàn)了一些序列級數(shù)據(jù)增強(qiáng)模型,這些模型會生成新的序列或用戶,以解決數(shù)據(jù)稀疏性問題。例如,casr生成高質(zhì)量的用戶行為序列,這些序列是基于原始序列和生成的用戶行為序列分別進(jìn)行訓(xùn)練的。l2aug通過強(qiáng)化學(xué)習(xí),基于序列推薦模型和序列生成器進(jìn)行迭代訓(xùn)練。最近,陳等人使用隨機(jī)或基于頻率的方法生成新的用戶行為序列,這些序列仍然是基于原始序列和新序列進(jìn)行訓(xùn)練的。
4、但是,由于原始用戶-用戶交互中存在的噪音交互,會在增強(qiáng)序列中生成噪音項目,這嚴(yán)重影響了用戶增強(qiáng)交互序列的質(zhì)量,使得項目推薦準(zhǔn)確率變差。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種項目推薦方法、裝置、介質(zhì)和計算機(jī)設(shè)備。
2、本發(fā)明采用下述技術(shù)方案:
3、本發(fā)明提供了一種項目推薦方法,包括:
4、獲取各用戶在歷史時刻存在交互的項目對應(yīng)的歷史交互項目序列,根據(jù)歷史交互項目序列確定原始用戶嵌入,并確定原始用戶嵌入的初始分布表示;
5、通過在原始用戶嵌入的初始分布表示中逐步添加噪聲直至將原始用戶嵌入擴(kuò)散為高斯噪聲,將高斯噪聲輸入transformer模型,得到對原始用戶嵌入的第一預(yù)測嵌入;將第一預(yù)測嵌入和高斯噪聲拼接并輸入transformer模型,得到對原始用戶嵌入的第二預(yù)測嵌入,并以最小化第二預(yù)測嵌入和原始用戶嵌入之間的偏差為優(yōu)化目標(biāo)對transformer模型進(jìn)行訓(xùn)練,得到引導(dǎo)擴(kuò)散模型;
6、將原始用戶嵌入的初始分布表示輸入引導(dǎo)擴(kuò)散模型,得到重構(gòu)后的用戶嵌入;并根據(jù)重構(gòu)后的用戶嵌入之間的差距確定各用戶之間的相似度,以根據(jù)預(yù)設(shè)相似度閾值,確定各用戶之間所存在的交互以構(gòu)建用戶交互圖;
7、針對每個用戶,根據(jù)用戶交互圖確定所述用戶的鄰居用戶集合,并根據(jù)各鄰居用戶的歷史交互項目序列,確定所述用戶的增強(qiáng)序列;將增強(qiáng)序列與所述用戶的歷史交互項目序列合并,根據(jù)合并后的序列對所述用戶進(jìn)行項目推薦。
8、可選地,所述根據(jù)歷史交互項目序列確定原始用戶嵌入,具體包括:
9、通過下式確定各用戶的歷史交互項目序列的均值并作為原始用戶嵌入:
10、
11、其中,eu表示用戶u的原始用戶嵌入,用戶的歷史交互項目序列中項目的數(shù)量,ek表示用戶u的歷史交互項目序列中項目的序列值。
12、可選地,所述在原始用戶嵌入中添加噪聲直至將原始用戶嵌入擴(kuò)散為高斯噪聲,具體包括:
13、通過下式在原始用戶嵌入中添加噪聲直至將原始用戶嵌入擴(kuò)散為高斯噪聲:
14、xs←q(xs|x0,s);
15、其中,xs表示經(jīng)歷了s次擴(kuò)散步驟的帶噪用戶嵌入,x0表示原始用戶嵌入的初始分布表示,s表示擴(kuò)散步驟,q()表示變分推斷中的近似后驗分布。
16、可選地,所述根據(jù)重構(gòu)后的用戶嵌入之間的差距確定各用戶之間的相似度,以根據(jù)預(yù)設(shè)相似度閾值,確定各用戶之間是否存在交互,具體包括:
17、通過下式根據(jù)重構(gòu)后的用戶嵌入之間的差距確定各用戶之間的相似度:
18、
19、通過下式根據(jù)預(yù)設(shè)相似度閾值,確定各用戶之間是否存在交互:
20、sim(ui,uj)≥τ;
21、其中,sim(ui,uj)表示用戶ui和用戶uj之間的相似度,表示相似度度量函數(shù),表示用戶ui重構(gòu)后的用戶嵌入,表示用戶uj重構(gòu)后的用戶嵌入,τ表示預(yù)設(shè)相似度閾值。
22、可選地,所述針對每個用戶,根據(jù)各鄰居用戶的歷史交互項目序列,確定所述用戶的增強(qiáng)序列,具體包括:
23、針對每個用戶,通過下式根據(jù)各鄰居用戶的歷史交互項目序列,確定所述用戶的增強(qiáng)序列:
24、saug=γ({con({ua,ub})∪con({ua,uc})∪con({ub,uc})∪...}),
25、{ua,ub,uc,...}=n(ui);
26、其中,n(ui)表示用戶ui的鄰居集合,con()表示每對鄰居用戶的歷史交互項目序列之間的共同項目,γ(?)表示按項目出現(xiàn)頻率對集合中的項目進(jìn)行排序,saug表示用戶ui的增強(qiáng)序列。
27、本發(fā)明提供了一種項目推薦裝置,包括:
28、獲取模塊,用于獲取各用戶在歷史時刻存在交互的項目對應(yīng)的歷史交互項目序列,根據(jù)歷史交互項目序列確定原始用戶嵌入,并確定原始用戶嵌入的初始分布表示;
29、訓(xùn)練模塊,用于通過在原始用戶嵌入的初始分布表示中逐步添加噪聲直至將原始用戶嵌入擴(kuò)散為高斯噪聲,將高斯噪聲輸入transformer模型,得到對原始用戶嵌入的第一預(yù)測嵌入;將第一預(yù)測嵌入和高斯噪聲拼接并輸入transformer模型,得到對原始用戶嵌入的第二預(yù)測嵌入,并以最小化第二預(yù)測嵌入和原始用戶嵌入之間的偏差為優(yōu)化目標(biāo)對transformer模型進(jìn)行訓(xùn)練,得到引導(dǎo)擴(kuò)散模型;
30、交互圖構(gòu)建模塊,用于將原始用戶嵌入的初始分布表示輸入引導(dǎo)擴(kuò)散模型,得到重構(gòu)后的用戶嵌入;并根據(jù)重構(gòu)后的用戶嵌入之間的差距確定各用戶之間的相似度,以根據(jù)預(yù)設(shè)相似度閾值,確定各用戶之間所存在的交互以構(gòu)建用戶交互圖;
31、推薦模塊,用于針對每個用戶,根據(jù)用戶交互圖確定所述用戶的鄰居用戶集合,并根據(jù)各鄰居用戶的歷史交互項目序列,確定所述用戶的增強(qiáng)序列;將增強(qiáng)序列與所述用戶的歷史交互項目序列合并,根據(jù)合并后的序列對所述用戶進(jìn)行項目推薦。
32、本發(fā)明提供了一種計算機(jī)可讀存儲介質(zhì),所述存儲介質(zhì)存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)上述項目推薦方法。
33、本發(fā)明提供了一種計算機(jī)設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計算機(jī)程序,所述處理器執(zhí)行所述程序時實現(xiàn)上述項目推薦方法。
34、本發(fā)明采用的上述至少一個技術(shù)方案能夠達(dá)到以下有益效果:
35、本發(fā)明先獲取各用戶在歷史時刻的歷史交互項目序列,并確定其對應(yīng)的原始用戶嵌入,從而基于擴(kuò)散模型的應(yīng)用推斷用戶之間的交互強(qiáng)弱,對用戶嵌入進(jìn)行重構(gòu),并基于重構(gòu)后的用戶嵌入構(gòu)建用戶交互圖,從而基于用戶交互圖,針對每個用戶,根據(jù)其鄰居用戶的歷史交互項目序列確定該用戶的增強(qiáng)序列并基于此對所述用戶進(jìn)行項目推薦。本發(fā)明通過推斷用戶之間的交互強(qiáng)弱,避免原始用戶間交互帶來的噪聲導(dǎo)致在增強(qiáng)序列中引入噪聲項目,從而提高了對用戶的推薦準(zhǔn)確性。