摘" 要:用戶真實(shí)的購買場景中,購物不僅僅看興趣,當(dāng)下以及未來需求也很重要,而現(xiàn)有大部分推薦方法研究的是挖掘用戶近期興趣,較少從商品間的關(guān)系來研究用戶潛在需求.為了提高推薦算法準(zhǔn)確性,豐富推薦種類,本文將商品互補(bǔ)替代關(guān)系特征和購買先后序列模式融入到推薦算法中,提出一種考慮商品互補(bǔ)替代關(guān)系和購買序列模式來研究用戶潛在需求的推薦算法,該算法在亞馬遜公開數(shù)據(jù)集Grocery上進(jìn)行驗(yàn)證,并與相關(guān)算法進(jìn)行對比,結(jié)果表明所提算法在命中率HR(hits ratio)和歸一化折損累計(jì)增益NDCG(normalized discounted cumulative gain)指標(biāo)上均得到有效的改進(jìn).
關(guān)鍵詞:互補(bǔ)搭配;序列模式;個性化推薦
中圖分類號:N32""" 文獻(xiàn)標(biāo)志碼:A""" 文章編號:10001565(2024)05055110
DOI:10.3969/j.issn.10001565.2024.05.012
Recommendation algorithm considering complementation, substitution relation and sequence pattern of goods
REN Zhibo1,RONG Xiuling1,SONG Xinxin2
(1.Comprehensive Experiental Center, Hebei University, Baoding 071002, China;
2.Dancing College, Xinjiang Arts University, Urumchi 830000, China)
Abstract: In the real purchasing scenario of users, shopping is not only based on interests, but also on current and future needs. However, most of the existing recommendation methods focus on mining users recent interests, and rarely study users potential needs from the relationship between products. In order to improve the accuracy of the recommendation algorithm and enrich the types of recommendation, this paper integrates the characteristics of commodity complementary substitution relationship and purchase sequence pattern into the recommendation algorithm, and proposes a recommendation algorithm that considers the commodity complementary substitution relationship and purchase sequence pattern to study the potential needs of users. The algorithm is verified on Amazon public data set Grocery. Compared with the relevant algorithms, the results show that the proposed algorithm is effectively improved in hits Ratio HR(hits ratio) and normalized discounted cumulative gain (NDCG).
Key words: complementary pairing; sequence mode; personalized recommendations
現(xiàn)有個性化推薦算法在電商平臺應(yīng)用時,多關(guān)注用戶的購買歷史、瀏覽評論記錄、社會關(guān)系等,例如姜久雷等[1]提出的融合信任度的神經(jīng)網(wǎng)絡(luò)推薦算法;馮興杰等[2]提出的利用深度學(xué)習(xí)提取評論的優(yōu)勢提取用戶和商品的一般偏好,并進(jìn)行特征融合來提升推薦效果的推薦算法;于健等[3]提出的挖掘用戶社交關(guān)系中顯性和隱性朋友信息,并利用注意力機(jī)制獲取基于社交關(guān)系的用戶表征進(jìn)行推薦的算法,這些推薦算法經(jīng)過驗(yàn)證
收稿日期:20230913;修回日期:20240604
基金項(xiàng)目:
河北省社會科學(xué)基金資助項(xiàng)目(HB19Q011)
第一作者:任志波(1971—),男,河北大學(xué)教授,博士,主要從事個性化推薦算法、數(shù)據(jù)挖掘方向研究.E-mail:renzhibo@hbu.edu.cn
通信作者:宋欣欣(1998—),女,新疆藝術(shù)學(xué)院助教,主要從事個性化推薦算法方向研究.E-mail:1244879013@qq.com
都能一定程度上有效提高推薦準(zhǔn)確性,它們挖掘以用戶特征為中心的信息使用,向用戶推薦的是與其興趣相似的用戶近期瀏覽的商品,認(rèn)為這是用戶的興趣所在.然而根據(jù)這樣的算法推薦往往存在可能會向用戶頻繁推薦不再需要的商品,甚至用戶逐漸接收到的都是自己或周圍朋友已經(jīng)購買的相似的商品,想要尋找新的個性的商品反而變得困難.提高推薦算法準(zhǔn)確性,增加推薦項(xiàng)目豐富度是推薦算法領(lǐng)
域的研究熱點(diǎn).考慮推薦與用戶已購買的物品存在一定屬性關(guān)系的商品,尤其是商品間的互補(bǔ)替代關(guān)系,這是非常值得關(guān)注的一個研究方向.商品搭配推薦是一種新的個性化推薦方法,它從消費(fèi)者行為中提取信息,豐富了推薦種類,比相似推薦的準(zhǔn)確性更高.有關(guān)產(chǎn)品搭配推薦的方法最早可以追溯到2000年Han等[4]提出的頻繁項(xiàng)集挖掘,通過購買歷史記錄挖掘頻繁一起購買的商品組合,生成搭配關(guān)系,最成功的經(jīng)典案例就是“尿布”和“啤酒”.隨后,Ma等[5]通過深度學(xué)習(xí)系統(tǒng)深入分析了不同元素商品間的可搭配程度,以大量搭配圖片數(shù)據(jù)庫為支撐,同調(diào)研各大電商平臺可搭配單品推薦方式,形成搭配推薦.2019年,Ma等[6]提出將電商平臺記錄中的用戶“共同購買”和“共同瀏覽”的歷史記錄分別作為功能相互補(bǔ)充的商品和相互替代的商品,然后利用監(jiān)督學(xué)習(xí)算法識別商品間的關(guān)系從而做出推薦.
同時,商品購買和使用會有一種先后關(guān)系,這種順序關(guān)系可以用序列模式表示,向用戶推薦相應(yīng)的物品.許多領(lǐng)域的個性化推薦中都已經(jīng)用到了序列模式.如Mishra等[7]在2015年就提出順序信息在決定用戶興趣方面起著重要作用,并基于用戶網(wǎng)頁瀏覽序列和內(nèi)容相似性進(jìn)行信息個性化推薦;Salehi等[8]使用學(xué)習(xí)者獲取材料的歷史順序模式,發(fā)現(xiàn)訪問材料的潛在模式,并將其運(yùn)用于推薦;2019年阿里巴巴的Zhou等[9]提出了DIN模型的演化版本DIEN.在推薦算法中加入序列模式優(yōu)化推薦結(jié)果,可以避免傾向于向購買了鼠標(biāo)的用戶推薦電腦,向買了高級課程的用戶推薦入門課程等無效推薦.
在前人研究的基礎(chǔ)上,本文綜合了文獻(xiàn)[10-12]的研究,在圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)用戶項(xiàng)目圖、社交關(guān)系圖特征進(jìn)行推薦的基礎(chǔ)上增加了利用TransE算法學(xué)習(xí)商品互補(bǔ)替代關(guān)系圖特征,將用戶購買互補(bǔ)替代品的時間變化影響以權(quán)重的形式加入項(xiàng)目特征的學(xué)習(xí)中,得到了更為準(zhǔn)確的項(xiàng)目關(guān)系特征向量表示,通過數(shù)據(jù)挖掘得到商品購買先后順序的二項(xiàng)序列模式,對推薦結(jié)果進(jìn)行重新分配權(quán)重計(jì)算,得到了更優(yōu)的推薦列表,避免推薦用戶不需要的商品,最后通過實(shí)驗(yàn)驗(yàn)證模型兩方面改進(jìn)相比前人算法取得了更好的結(jié)果.
1" 預(yù)備知識
1.1" 圖神經(jīng)網(wǎng)絡(luò)推薦算法
圖神經(jīng)網(wǎng)絡(luò)(graph neural networks,GNN)是能夠?qū)W習(xí)圖數(shù)據(jù)的深度網(wǎng)絡(luò),其主要思想是通過神經(jīng)網(wǎng)絡(luò)不斷迭代,讓圖中每個節(jié)點(diǎn)都包含整個圖所有節(jié)點(diǎn)的特征信息.每個節(jié)點(diǎn)每一次迭代都會將鄰接節(jié)點(diǎn)的信息更新到目標(biāo)節(jié)點(diǎn)信息上,這些節(jié)點(diǎn)信息就通過轉(zhuǎn)換聚合后在圖上進(jìn)行傳播,即使是最邊緣的節(jié)點(diǎn)的信息也能更新到每個節(jié)點(diǎn)上[13].對于節(jié)點(diǎn)如何獲取它的所有鄰居節(jié)點(diǎn)的信息,最基本的想法就是采用平均法.基本流程如圖1所示.
具體表達(dá)如下:
hkv=xvk=0
σ(Wk∑u∈N(v)hk-1u|N(v)|+Bkhk-1vk>0,(1)
其中:xv表示圖嵌入技術(shù)將圖轉(zhuǎn)換到低維空間得到的節(jié)點(diǎn)初始特征;hkv表示節(jié)點(diǎn)v在當(dāng)前(第k層)的特征向量;hk-1v為上層神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)的嵌入特征向量;N(v)是節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)v的集合;σ是激活函數(shù);Wk、Bk是圖神經(jīng)網(wǎng)絡(luò)的權(quán)重和偏置.
1.2" TransE算法
在實(shí)際中,不同圖網(wǎng)絡(luò)的邊往往會蘊(yùn)含不同類型的關(guān)系,Bordes等[14]在2013年提出TransE算法,該算法解決了圖上不同關(guān)系數(shù)據(jù)節(jié)點(diǎn)(multi-relational data)的處理學(xué)習(xí)問題,是一種典型的知識圖譜的嵌入技術(shù).具體來說,TransE算法將圖結(jié)構(gòu)視為許多個三元組實(shí)例(head、relation、tail)集合,圖結(jié)構(gòu)中關(guān)系的向量表示被認(rèn)為是頭實(shí)體向量到尾實(shí)體向量的翻譯.通過不斷調(diào)整h、r、t即(head、relation、tail)的向量表示,使head向量和relation向量之和盡可能接近tail向量,即滿足h+r=t.如圖2所示.
TransE訓(xùn)練算法通過定義一個距離d (x,y)來表示2個向量之間的距離,一般情況下,會取L1或L2范數(shù)來衡量它們的靠近程度.對一個正確的三元組(h,r,t)來說,其距離d(h+r=t)越小越好,相反對于一個錯誤的三元組(h′,r,t′)來說距離d(h′+r=t′)越大越好,因此給出目標(biāo)函數(shù)
min∑(h,r,t)∈s∑(h′,r,t′)∈s′[margin+d(h+r,t)-d(h′+r,t′)]+,
(2)
其中:margin是一個常量,代表正負(fù)樣本之間的距離;[x]+表示取0和x間的較大者;d(h+r,t)代表正樣本得分;d(h′+r,t′)代表負(fù)樣本得分.通常添加約束以促進(jìn)訓(xùn)練并避免過度擬合:‖h‖≤1,‖r‖≤1,‖t‖≤1.最后使目標(biāo)函數(shù)(損失函數(shù))值最小化,即正負(fù)樣本分?jǐn)?shù)之間的差距大于margin即可.
2" 考慮商品互補(bǔ)替代關(guān)系和購買序列模式的推薦算法
在FAN等[12]提出的利用圖神經(jīng)網(wǎng)絡(luò)分別從社交關(guān)系和用戶項(xiàng)目評分兩方面學(xué)習(xí)用戶特征和物品特征的基礎(chǔ)模型上,加入利用TransE算法學(xué)習(xí)商品關(guān)系圖得到具有物品互補(bǔ)替代關(guān)系特征的物品向量,對物品特征進(jìn)行補(bǔ)充,通過評分預(yù)測模型對物品特征和用戶特征進(jìn)行評分預(yù)測初步得到推薦列表,最后通過挖掘的二項(xiàng)序列模式優(yōu)化推薦結(jié)果.
2.1" 基礎(chǔ)特征模型
從利用圖神經(jīng)網(wǎng)絡(luò)和多層感知器(MLP)來學(xué)習(xí)用戶項(xiàng)目圖和用戶社交關(guān)系圖,到將特征信息聚合到用戶特征和項(xiàng)目特征中,得到最終用戶特征向量hi、項(xiàng)目特征向量Zv的基本模型如圖3所示.由于學(xué)習(xí)特征過程相似僅以用戶項(xiàng)目空間的用戶特征學(xué)習(xí)為例,表達(dá)式如下:
hIi=σ(W·Aggreitems({hvi,v∈C(i)})+b),(3)
hvi=pv(svgiv),(4)
其中用戶在項(xiàng)目空間中的特征向量最終為hIi,C(i)表示用戶打分的items集合,σ是非線性激活函數(shù),Aggreitems是聚合函數(shù).表示2個向量間連接運(yùn)算,pv表示多層感知機(jī).sv表示項(xiàng)目嵌入向量,giv表示評分嵌入向量,hvi表示在用戶項(xiàng)目空間中學(xué)習(xí)到包含對物品喜好程度的用戶的特征表示.
用戶對不同商品的興趣程度不同,因此采用注意力機(jī)制使用戶感興趣的商品被賦予更高的權(quán)重,從而對用戶的向量特征hIi學(xué)習(xí)做出更大的貢獻(xiàn).用戶對不同商品的興趣特征向量hvi連同用戶的初始嵌入ui作為注意力網(wǎng)絡(luò)函數(shù)的輸入,通過訓(xùn)練和softmax函數(shù)歸一化得到每個商品的注意力權(quán)重得分βiv,具體可以表示為
hIi=σ(W∑v∈c(i)βivhvi+b),(5)
βiv=exp(β*iv)∑v∈c(i)exp(β*iv),(β*iv=WT2·σ(W1·[hviui]+b1)+b2).(6)
2.2" 基于商品互補(bǔ)替代關(guān)系圖的特征模型
考慮根據(jù)商品間的“共同購買”、“共同瀏覽”關(guān)系,將大多數(shù)人共同購買的商品當(dāng)作互補(bǔ)品推薦,同時瀏覽的商品當(dāng)作替代品推薦.在構(gòu)建商品關(guān)系圖時,首先篩選出用戶至少購買過M次的商品,對數(shù)據(jù)進(jìn)行預(yù)處理,減少數(shù)據(jù)稀疏性、數(shù)據(jù)噪聲的影響,以避免冷啟動問題,其次,在尋找具有互補(bǔ)關(guān)系的產(chǎn)品時,考慮到具有互補(bǔ)關(guān)系的產(chǎn)品更容易被共同購買或共同使用,只保留一起購買至少N次的具有不同功能的產(chǎn)品,這也能減少其他因素帶來的隨機(jī)性和噪聲影響.每個產(chǎn)品都由一個d維隱藏向量表示,該向量將在模型訓(xùn)練過程中學(xué)習(xí)和更新.
2.2.1" 購買關(guān)系物品的時間函數(shù)確定
在進(jìn)行推薦時與已購商品具有互補(bǔ)替代關(guān)系的商品隨時間推移對目標(biāo)項(xiàng)目推薦造成的影響是不能忽視的.購買時間推移造成的影響變化也因關(guān)系不同而不同.為了簡單和高效的考慮時間推移的影響,只考慮用戶歷史購買序列中最新的關(guān)系項(xiàng),時間函數(shù)fr可以直接表示為[11] fr(Sut,t,i)=∑r∈Rkir(Δtr),(7)
其中,Δtr表示與當(dāng)前待推薦商品有關(guān)系r(互補(bǔ)c或替代s)的商品的購買時間距離最近一次購買記錄的時間間隔大小.如果購買歷史序列中沒有與之有關(guān)系的商品購買記錄,假設(shè)時間間隔為無限大(即Δtr=+∞).時間函數(shù)隨時間接近零,此時相應(yīng)的關(guān)系嵌入將不起作用.
時間函數(shù)的變化趨勢是人為設(shè)定的,可以看作是對模型的一種人為干預(yù).設(shè)計(jì)時需要考慮隨著時間的推移購買不同關(guān)系商品的實(shí)際變化特性.例如,如圖4所示,互補(bǔ)商品的購買預(yù)期具有較短的購買間隔,因此短期內(nèi)與購買記錄中的商品具有互補(bǔ)作用的商品在其商品嵌入向量中應(yīng)該具有正的加權(quán)作用,并且這種積極影響會隨著時間的推移而減弱.替代商品短期內(nèi)推薦的影響極有可能會是消極的,很多時候用戶短期內(nèi)并不需要另一種具有類似功能的產(chǎn)品,在使用一段時間后,用戶可能希望在產(chǎn)品使用壽命到期前及時更換具有相同功能的新產(chǎn)品,此時加權(quán)推薦替代品的影響有望由負(fù)轉(zhuǎn)正[11].
因此,將互補(bǔ)關(guān)系的時間函數(shù)設(shè)計(jì)為具有正初始值并且衰減得較快的形式,使用均值為零的正態(tài)分布作為其時間函數(shù);將替代關(guān)系的時間函數(shù)則設(shè)計(jì)為2個相反的正態(tài)分布作為其時間函數(shù),表達(dá)式分別為
Kic(Δt)=N(Δt|0,σzic),(8)
Kis(Δt)=-N(Δt|0,σ2is1)+N(Δt|uzis,σxis2),(9)
其中N(Δt|0,σzic)是關(guān)于Δt的標(biāo)準(zhǔn)正態(tài)分布,均值為0,-N(Δt|0,σzis1),是短期約束(負(fù)面),疊加N(Δt|μ,σzis2)的是終身提升(正面).σzic、σzis1是正態(tài)分布的標(biāo)準(zhǔn)差.這里的參數(shù)σ與z(i)有關(guān),z(i)表示項(xiàng)目i的類別.
2.2.2" 商品關(guān)系空間的物品特征
要得到商品關(guān)系空間的某物品特征,需要在商品關(guān)系網(wǎng)絡(luò)圖上將與目標(biāo)商品有關(guān)系的鄰居商品的特征進(jìn)行聚合.三元組可以用來表示圖中項(xiàng)目之間的互補(bǔ)和替代關(guān)系信息(i,r,j),其中i和j表示不同的項(xiàng)目,r表示它們之間的關(guān)系類型.例如,(AirPods,complementary,iPhone)表示AirPods和iPhone的互補(bǔ)關(guān)系.
如圖5,首先從商品關(guān)系圖中學(xué)習(xí)每個項(xiàng)目的基本項(xiàng)目表示和包含關(guān)系特征的項(xiàng)目表示.基本項(xiàng)目表示是對物品的固有特征進(jìn)行編碼,因此用項(xiàng)目初始化向量ib來表示物品初始嵌入,然后使用translation函數(shù)來獲得包含和其他項(xiàng)目間關(guān)系的項(xiàng)目的向量表示ir(關(guān)系r∈R).
ir=TransE(ib,er),(10)
其中er是r∈R的關(guān)系嵌入.
根據(jù)不同的購買序列加權(quán)關(guān)系商品時間特性函數(shù)Kir(Δtr)得到項(xiàng)目關(guān)系空間的項(xiàng)目嵌入,具體表示如下:
glv=ib+∑r∈RKir(Δtr)·ir.(11)
2.3" 考慮關(guān)系商品購買時的先后序列模式
2.3.1" 評分預(yù)測模型
貝葉斯個性化排序(BPR)是一種過去廣泛使用的矩陣分解方法[16],將推薦問題轉(zhuǎn)化為排序問題,根據(jù)可觀測到的正樣本,從未觀測到的數(shù)據(jù)中隨機(jī)抽取與其對應(yīng)的實(shí)例作為負(fù)樣本,最后用于隱式反饋推薦.相較于傳統(tǒng)的矩陣分解方法,BPR模型利用用戶的顯式行為和隱式行為之間的排名,效果相對突出.通過其進(jìn)行推薦時,每個用戶和商品都有一個k維的特征向量,將用戶特征向量hi和物品特征向量gv和zv代入計(jì)算得到評分,計(jì)算方法如下:
p′iv=hTi(ωgv+(1-ω)zv)+bi+bv.(12)
將得到的用戶向量和項(xiàng)目向量表示分別進(jìn)行線性內(nèi)積操作,考慮到包含商品購買互補(bǔ)替代關(guān)系的商品向量gv的影響作用和包含用戶本身興趣的商品特征zv影響不同,且希望關(guān)系商品的特征影響更突出,因此本文引入一個權(quán)重ω來調(diào)整其影響機(jī)制,公式中bi、bv分別為每個用戶、每個商品的偏差向量.最后可以根據(jù)預(yù)測分?jǐn)?shù)p′iv對候選項(xiàng)目進(jìn)行排序.
為了學(xué)習(xí)推薦模型中的參數(shù),可以通過反復(fù)訓(xùn)練,對排序損失函數(shù)進(jìn)行如下優(yōu)化[17],其中σ表示sigmoid函數(shù),對每個訓(xùn)練實(shí)例隨機(jī)抽取一個負(fù)項(xiàng)jSut.
L=-∑u∈U∑Nui=1logσ(p′iv-p′jv).(13)
將商品關(guān)系特征學(xué)習(xí)的模型與原本的基礎(chǔ)模型進(jìn)行組合后進(jìn)行評分預(yù)測,得到最終的考慮商品互補(bǔ)替代關(guān)系的推薦算法模型如下圖6所示.
2.3.2" 基于二項(xiàng)序列模式優(yōu)化推薦結(jié)果
考慮到根據(jù)商品關(guān)系推薦時可能會存在向購買了鼠標(biāo)的用戶推薦電腦、向購買了高級課程的用戶推薦入門課程的問題,利用Apriori關(guān)聯(lián)算法[15]對商品的購買順序進(jìn)行挖掘,得到用戶購物的常見序列模式,根據(jù)這些序列模式對前文推薦模型的推薦結(jié)果進(jìn)行加權(quán)重排,優(yōu)化推薦結(jié)果,避免向用戶推薦不需要的產(chǎn)品.
從公開的亞馬遜購物記錄中挖掘購物的二項(xiàng)序列模式.公開數(shù)據(jù)中包括商品v、購買商品v的用戶i以及購買時間.挖掘算法的步驟如下:
1)設(shè)定最小支持度為minsup,最小置信度為minconf.
2)計(jì)算產(chǎn)品支持度ci:計(jì)算購買每種產(chǎn)品的用戶數(shù)量.購買產(chǎn)品i的用戶數(shù)即為產(chǎn)品支持度,i∈1,2,…,M,其中i為產(chǎn)品類型,共有M種產(chǎn)品.
3)計(jì)算購買每種產(chǎn)品的用戶數(shù)量.ci等于購買產(chǎn)品i的用戶數(shù)量.
4)查找頻繁一項(xiàng)集:如果ci>minsup,則第i個商品包含在頻繁一頻繁L1中,否則不進(jìn)入L1.
5)尋找頻繁二項(xiàng)集:將L1中的物品成對組合,ji計(jì)算先買i再買j的用戶數(shù)量和先買j再買i的用戶數(shù)量,如果cij和cji中僅有一個大于minsup,則對應(yīng)的ij或ji組合進(jìn)入頻繁二項(xiàng)集L2.否則,不進(jìn)入L2.
6)構(gòu)造二項(xiàng)序列模式:根據(jù)各個頻繁二項(xiàng)集ij的組合,計(jì)算候選二項(xiàng)式序列模式i→j或j→i的支持度conf(i→j)=cijcj.如果conf(i→j)>minconf,則將i→j添加到二項(xiàng)式序列模式集Sp中.否則,該序列模式不進(jìn)入Sp.
7)根據(jù)二項(xiàng)序列模式對推薦結(jié)果進(jìn)行加權(quán)重排,得到最終的TopN推薦列表.如果所選推薦項(xiàng)存在二項(xiàng)序列模式,則判斷候選推薦商品是模式中的前一項(xiàng)還是最后一項(xiàng).例如二項(xiàng)序列模式為A→B,待推薦商品為B,則候選推薦商品為后者,假設(shè)此時用戶購買了A,則推薦B的權(quán)重增加符合二項(xiàng)序列模式的購買規(guī)律.如果待推薦物品為A,則候選推薦物品為序列模式的前件.假設(shè)用戶已購買了B,則A的推薦權(quán)重應(yīng)該按照二項(xiàng)序列模式降低,若用戶沒有購買B則說明A是根據(jù)用戶近期興趣推薦,而不是根據(jù)用戶歷史購買記錄推薦,權(quán)重保持不變.因此,如果是后件,就加大推薦權(quán)重;否則,考察用戶歷史記錄是否購買了后件,購買了則降低推薦權(quán)重,初始權(quán)重為1,經(jīng)過加權(quán)計(jì)算和重新排序,最終得到TopN推薦列表.
8)向用戶推薦TopN商品.
3" 實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析
3.1" 實(shí)驗(yàn)數(shù)據(jù)及環(huán)境
為驗(yàn)證算法有效性,實(shí)驗(yàn)數(shù)據(jù)采用亞馬遜提供的開放數(shù)據(jù)集中的雜貨和食品購買數(shù)據(jù)(Grocery),其中不僅包括用戶交易記錄和交易時間,還有用戶的共同購買(also_buy)和共同瀏覽(also_view)記錄以及用戶對項(xiàng)目的評分記錄.下表1中列出了數(shù)據(jù)集的詳細(xì)信息.
實(shí)驗(yàn)采用Python語言編程,通過深度學(xué)習(xí)框架Pytorch搭建神經(jīng)網(wǎng)絡(luò).實(shí)驗(yàn)環(huán)境為Intel(R) Core(TM) i3-7100U CPU@2.40GHz 處理器和4GB內(nèi)存,Windows10 64位操作系統(tǒng).
3.2" 實(shí)驗(yàn)效果分析
為充分證明本文算法的有效性,設(shè)計(jì)橫向?qū)Ρ群涂v向?qū)Ρ葘?shí)驗(yàn).縱向?qū)Ρ燃此惴ㄗ陨韰?shù)對算法效果的影響.需要考慮的參數(shù)有:權(quán)重系數(shù)分析ω、嵌入維度分析.橫向?qū)Ρ燃磳⒈疚乃惴ㄅcBPR[16]、GMF[18]、GRU4Rec[19]、NARM[20]、CFKG[21]、DeepSoR[22]、GraphRec[12]分別進(jìn)行對比.
如圖7對參數(shù)ω分別取[0.5,0.6,0.7,0.8,0.9]進(jìn)行測試.當(dāng)ω=0.7 時模型的命中率(HR)和歸一化折現(xiàn)累積增益(NDCG)均取得最大值,表明在模型其他參數(shù)不變的情況下,ω=0.7時算法推薦效果最好.如圖8取嵌入維度為[8,16,32,64,128,256]進(jìn)行測試,取64時性能最好.
從全部的數(shù)據(jù)集中隨機(jī)選擇70%的數(shù)據(jù)集作為訓(xùn)練集,剩余30%的數(shù)據(jù)作為測試集,為避免單一實(shí)驗(yàn)結(jié)果不夠穩(wěn)定可靠的問題,所提出的模型最終的實(shí)驗(yàn)結(jié)果通過多次隨機(jī)劃分?jǐn)?shù)據(jù)集、重復(fù)實(shí)驗(yàn)評估后取平均值得到,并與其他模型的結(jié)果進(jìn)行了比較,實(shí)驗(yàn)結(jié)果如表2所列.
從實(shí)驗(yàn)結(jié)果可以看出,本文提出模型的穩(wěn)定性較好,且不同類型的推薦算法顯示出明顯的性能差距.上述模型中BPR和GMF學(xué)習(xí)了用戶項(xiàng)目基礎(chǔ)的交換特征;GRU4Rec和NARM算法在學(xué)習(xí)用戶項(xiàng)目特征時考慮了用戶購買順序;CFKG算法僅學(xué)習(xí)了物品之間各種關(guān)系的信息進(jìn)行推薦;DeepSoR、GraphRec都基于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)了用戶評分信息和社交信息圖.通過表3中的實(shí)驗(yàn)結(jié)果可以看出,對比其他算法,本文算法GraphRChors綜合考慮了用戶社交信息、商品屬性關(guān)系和用戶購買順序,推薦效果要優(yōu)于其他模型的推薦效果,這可以說明,在推薦算法中考慮商品互補(bǔ)替代關(guān)系和購買序列模式可以大大提高推薦的準(zhǔn)確率.
最后,為了測試本文算法中物品特征學(xué)習(xí)部分和推薦列表是否優(yōu)化2方面改進(jìn)對算法最終的推薦效果的影響進(jìn)行了消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示,其中GraphRchoru-x模型只加了帶有序列模式優(yōu)化推薦結(jié)果的改進(jìn),而GraphRchoru-y模型是僅加入了商品互補(bǔ)性替代性關(guān)系特征的改進(jìn)模型.
可以看出,同時進(jìn)行2項(xiàng)改進(jìn)的GraphRchoru算法效果最好,表明這2個改進(jìn)均可以提升推薦算法性能,且將加入物品關(guān)系特征的學(xué)習(xí)和進(jìn)行推薦列表優(yōu)化的改進(jìn)相結(jié)合,可以更大程度地提升推薦算法的性能.
4" 總結(jié)
本文提出的考慮商品互補(bǔ)替代關(guān)系和購買序列模式的算法,主要在現(xiàn)有推薦算法上考慮如何增加用戶購物需求方面的推薦以及如何盡量避免頻繁向用戶推薦不感興趣的商品問題進(jìn)行研究,在以往僅考慮加入圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)用戶項(xiàng)目圖、社交關(guān)系圖特征進(jìn)行推薦的算法基礎(chǔ)上補(bǔ)充了利用TransE算法學(xué)習(xí)商品互補(bǔ)替代關(guān)系圖特征的部分,豐富了推薦結(jié)果種類,且最終推薦時通過挖掘得到的商品購買二項(xiàng)序列模式對推薦結(jié)果進(jìn)行了重新分配權(quán)重計(jì)算,再次優(yōu)化了推薦列表,避免推薦用戶不需要的商品,改善了推薦算法整體推薦的效果,為推薦算法研究提供了一個新的思路.未來可以進(jìn)一步研究如何自適應(yīng)地估計(jì)不同關(guān)系的時間演化效應(yīng),并嘗試設(shè)計(jì)更合適的方法來緊密集成項(xiàng)目關(guān)系建模和推薦;也可以增強(qiáng)對于用戶的收藏、加購等行為,以及對項(xiàng)目同類別、標(biāo)簽、品牌、價位等隱性特征數(shù)據(jù)的充分學(xué)習(xí)利用,可能可以進(jìn)一步提高算法的性能.
參" 考" 文" 獻(xiàn):
[1]" 姜久雷,潘姿屹,李盛慶.融合信任度的神經(jīng)網(wǎng)絡(luò)推薦算法[J].計(jì)算機(jī)應(yīng)用與軟件, 2023, 40(8): 274-282, 311. DOI: 10.3969/j.issn.1000-386x.2023.08.043.
[2]" 馮興杰,生曉宇.基于圖神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的商品推薦算法[J].計(jì)算機(jī)應(yīng)用研究, 2021, 38(12): 3617-3622. DOI: 10.19734/j.issn.1001-3695.2021.05.0183
[3]" 于健,趙滿坤,高潔,等.基于高階和時序特征的圖神經(jīng)網(wǎng)絡(luò)社會化推薦算法研究[J].計(jì)算機(jī)科學(xué), 2023, 50(3): 49-64. DOI: 10.11896/jsjkx.220700108.
[4]" HAN J W, PEI J, YIN Y W. Mining frequent patterns without candidate generation[C]//Proceedings of the 2000 ACM SIGMOD international conference on Management of data. Dallas Texas USA. ACM, 2000: 1-12. DOI: 10.1145/342009.335372.
[5]" MA Y H, JIA J, ZHOU S P, et al. Towards better understanding the clothing fashion styles: a multimodal deep learning approach[J]. Proc AAAI Conf Artif Intell, 2017, 31(1): 38-44. DOI: 10.1609/aaai.v31i1.10509.
[6]" MA W Z, ZHANG M, CAO Y, et al. Jointly learning explainable rules for recommendation with knowledge graph[C]//The World Wide Web Conference. San Francisco CA USA. ACM, 2019: 1210-1221. DOI: 10.1145/3308558.3313607.
[7]" MISHRA R, KUMAR P, BHASKER B. A web recommendation system considering sequential information[J]. Decis Support Syst, 2015, 75: 1-10. DOI: 10.1016/j.dss.2015.04.004.
[8]" SALEHI M, NAKHAI KAMALABADI I, GHAZNAVI GHOUSHCHI M B. Personalized recommendation of learning material using sequential pattern mining and attribute based collaborative filtering[J]. Educ Inf Technol, 2014, 19(4): 713-735. DOI: 10.1007/s10639-012-9245-5
[9]" ZHOU G R, MOU N, FAN Y, et al. Deep interest evolution network for click-through rate prediction[J]. Proc AAAI Conf Artif Intell, 2019, 33(1): 5941-5948. DOI: 10.1609/aaai.v33i01.33015941.
[10]" 李杰,楊芳,徐晨曦.考慮時間動態(tài)性和序列模式的個性化推薦算法[J].數(shù)據(jù)分析與知識發(fā)現(xiàn), 2018, 2(7): 72-80. DOI: 10.11925/infotech.2096-3467.2017.0857.
[11]" 余皚欣,馮秀芳,孫靜宇.結(jié)合物品相似性的社交信任推薦算法[J].計(jì)算機(jī)科學(xué), 2022, 49(5): 144-151. DOI: 10.11896/jsjkx.210300217
[12]" BORDES ANTOINE, USUNIER NICOLAS, GARCIA-DURAN ALBERTO, et al. Translating Embeddings for Modeling Multi-relational Data[C]//Advances in neural information processing systems. 2013: 2787-2795.
[13]" AGRAWAL R, IMIELIN'SKI T, SWAMI A. Mining association rules between sets of items in large databases[C]//Proceedings of the 1993 ACM SIGMOD international conference on Management of data. Washington D.C. USA. ACM, 1993: 207-216.DOI: 10.1145/170035.170072.
[14]" WANG C Y, ZHANG M, MA W Z, et al. Make it a chorus: knowledge- and time-aware item modeling for sequential recommendation[C]//Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. Virtual Event China. ACM, 2020: 109-118. DOI: 10.1145/3397271.3401131.
[15]" RENDLE S, FREUDENTHALER C, GANTNER Z, et al. BPR: Bayesian personalized ranking from implicit feedback[J]. Proc 25th Conf Uncertain Artif Intell UAI 2009, 2009: 452-461.
[16]" WANG C Y, ZHANG M, MA W Z, et al. Modeling item-specific temporal dynamics of repeat consumption for recommender systems[C]//The World Wide Web Conference. San Francisco CA USA. ACM, 2019: 1977–1987. DOI: 10.1145/3308558.3313594.
[17]" HE X N, LIAO L Z, ZHANG H W, et al. Neural collaborative filtering[C]//Proceedings of the 26th International Conference on World Wide Web. Perth Australia. Republic and Canton of Geneva, Switzerland: International World Wide Web Conferences Steering Committee, 2017: 173–182. DOI: 10.1145/3038912.3052569.
[18]" HIDASI B, KARATZOGLOU A, BALTRUNAS L, et al. Session-based recommendations with recurrent neural networks[EB/OL]. 2015: arXiv: 1511.06939. http://arxiv.org/abs/1511.06939
[19]" LOYOLA P, LIU C, HIRATE Y. Modeling user session and intent with an attention-based encoder-decoder architecture[C]//Proceedings of the Eleventh ACM Conference on Recommender Systems. Como Italy. ACM, 2017: 147–151. DOI: 10.1145/3109859.3109917.
[20]" ZHANG Y F, AI Q Y, CHEN X, et al. Learning over knowledge-base embeddings for recommendation[J]. arXiv E Prints, 2018: arXiv: 1803.06540. DOI: 10.48550/arXiv.1803.06540
[21]" FAN W Q, LI Q, CHENG M. Deep modeling of social relations for recommendation[J]. Proc AAAI Conf Artif Intell, 2018, 32(1): 1-5. DOI: 10.1609/aaai.v32i1.12132.
(責(zé)任編輯:孟素蘭)