Paper:Price-aware Recommendation with Graph Convolutional NetworksLink:https://arxiv.org/pdf/2003.03975v1.pdf
一篇發(fā)表在ICDE2020的非常好的文章哦~
在之前的我所閱讀的推薦系統(tǒng)文章中,除了2018年的RecSys中一篇從生產(chǎn)者角度出發(fā)的文章外,印象中沒有過多的與推薦場景關(guān)聯(lián)的實(shí)際/現(xiàn)實(shí)因素。大多數(shù)研究都更關(guān)注用戶特征和用戶與物品之間的交互,以計(jì)算點(diǎn)擊率之類的相關(guān)評估結(jié)果。但是在電商領(lǐng)域,像“價(jià)格”這種真實(shí)的、甚至有些起決定性的因素,卻很少出現(xiàn)在科研文章中,這也許與公開數(shù)據(jù)集中常常沒有這一特征有關(guān)。當(dāng)然了,也許是我讀的還不夠多。
但是價(jià)格,是多么重要的特征啊!就算我們通過很好的模型能夠給用戶推薦她確實(shí)喜歡的物品,她也確實(shí)點(diǎn)擊了這些推薦的物品。一旦商品詳情中價(jià)格不符合她的心理預(yù)期,她就會遺憾地關(guān)掉網(wǎng)頁。那么即使點(diǎn)擊率有所提高了,轉(zhuǎn)化率依舊不會提高。
今天我們來分享一篇重點(diǎn)描述了“價(jià)格因素”在推薦系統(tǒng)中應(yīng)用的文章。
文章中提到價(jià)格在推薦系統(tǒng)中應(yīng)用的難度有以下兩點(diǎn):
1)用戶的價(jià)格意識未知。用戶對商品價(jià)格的偏好和敏感度未知,這僅隱含地反映在用戶購買的商品中。也就是說,我們只能通過用戶是否購買了來判斷該商品的價(jià)格是否合適。用戶很少明確聲明其對商品價(jià)格的偏好和敏感性。因此,要構(gòu)建數(shù)據(jù)驅(qū)動的方法,我們必須從用戶的購買歷史中推斷出用戶對商品價(jià)格的個(gè)性化意識。更具挑戰(zhàn)性的是,我們需要考慮相似用戶歷史中反映的CF效應(yīng),以提高推理的準(zhǔn)確性。
2)商品類別對用戶的價(jià)格意識影響很大。商品價(jià)格如何影響用戶的意圖很大程度上取決于商品的價(jià)格。產(chǎn)品類別,也就是用戶對商品價(jià)格的感知和承受能力在各個(gè)類別之間可能會發(fā)生顯著變化。例如一個(gè)女人可能不愿意花1000塊錢買一塊手表,但是可能愿意花1500塊錢買一條新裙子。而男人則可能正好相反。因此,重要的是要考慮商品類別信息,以準(zhǔn)確推斷用戶的價(jià)格偏好。
因此,作者開發(fā)了一種有效的方法來預(yù)測用戶的購買意愿,并重點(diǎn)關(guān)注推薦系統(tǒng)中的價(jià)格因素,命名為PUP模型。
對于第一個(gè)難點(diǎn),借鑒了圖卷積網(wǎng)絡(luò)(GCN),對用戶物品和物品價(jià)格之間的傳遞關(guān)系進(jìn)行建模。關(guān)鍵思想是通過物品作為橋梁傳播價(jià)格對用戶的影響,從而使學(xué)習(xí)到的用戶表示具有價(jià)格意識。對于第二個(gè)難題,我們將項(xiàng)目類別進(jìn)一步整合到傳播進(jìn)度中,并對可能的成對交互進(jìn)行建模,以預(yù)測用戶與項(xiàng)目之間的交互。進(jìn)一步的分析表明,對價(jià)格意識進(jìn)行建模對于預(yù)測用戶對未開發(fā)類別的商品的偏好特別有用。
PUP模型
模型圖如下圖所示。

PUP模型的整體設(shè)計(jì)組件如下:統(tǒng)一的異質(zhì)圖,一個(gè)圖卷積編碼器(graph convolutional encoder)和一個(gè)基于成對交互的解碼器。構(gòu)建的統(tǒng)一異構(gòu)圖由四種類型的節(jié)點(diǎn)組成,其中用戶節(jié)點(diǎn)連接到商品節(jié)點(diǎn),商品節(jié)點(diǎn)連接到價(jià)格節(jié)點(diǎn)和類別節(jié)點(diǎn)。
文中強(qiáng)調(diào),這項(xiàng)工作的重點(diǎn)是利用商品價(jià)格來提高推薦的準(zhǔn)確性。由于用戶的價(jià)格意識與產(chǎn)品類別密切相關(guān),所以在設(shè)計(jì)價(jià)格意識推薦系統(tǒng)時(shí),必須將類別考慮在內(nèi)。
其中,?
?和?
?表示用戶集和物品集,?
?是用戶-物品的交互矩陣,M和N分別表示用戶和物品的數(shù)量。如果?
?表示用戶u曾經(jīng)購買了物品i。使用?
?和?
?表示物品的價(jià)格和類別。
為了便于建模,我們將價(jià)格視為一個(gè)分類變量,使用統(tǒng)一量化將價(jià)格值離散到單獨(dú)的水平。例如,假設(shè)類別手機(jī)的價(jià)格范圍是[200,3000],我們將其離散到10個(gè)價(jià)格水平。例如,一部手機(jī)的價(jià)格是1000元,那么這個(gè)手機(jī)的價(jià)格水平就是?
?。
最后,我們將價(jià)格感知產(chǎn)品推薦問題表述如下:
接下來我們來拆分一下模型的各個(gè)組件。
1. 統(tǒng)一的異構(gòu)圖 (Uni?ed heterogeneous graph)
為了顯式地建模用戶行為和商品屬性,我們離散了價(jià)格變量,并建立了包含四種類型節(jié)點(diǎn)的異構(gòu)圖。為了解決未聲明的價(jià)格意識問題,我們明確地在圖上引入價(jià)格作為價(jià)格節(jié)點(diǎn),而不是項(xiàng)目節(jié)點(diǎn)的輸入特征。針對類別依賴影響的難度,我們進(jìn)一步在圖中添加類別節(jié)點(diǎn)。對于價(jià)格感知的產(chǎn)品推薦任務(wù),我們同時(shí)擁有用戶與產(chǎn)品的交互數(shù)據(jù)和產(chǎn)品的價(jià)格屬性,明確地捕捉用戶的價(jià)格感知是一項(xiàng)挑戰(zhàn),因?yàn)橛脩襞c價(jià)格沒有直接關(guān)系。換句話說,用戶與價(jià)格的關(guān)系是建立在用戶對商品和商品對價(jià)格的傳遞關(guān)系之上的。這樣,商品就起到了連接用戶和價(jià)格的橋梁作用。為了解決將復(fù)雜關(guān)系轉(zhuǎn)化為統(tǒng)一模型的難題,我們將價(jià)格變量離散化,并構(gòu)建由四種類型的節(jié)點(diǎn)用戶、項(xiàng)目、價(jià)格和類別組成的異構(gòu)圖。輸入的交互數(shù)據(jù)和屬性(類別和價(jià)格)被一個(gè)無向圖?
?表示。V中的節(jié)點(diǎn)包括用戶節(jié)點(diǎn)、物品節(jié)點(diǎn)、類別節(jié)點(diǎn)和價(jià)格節(jié)點(diǎn),分別用?
?表示。E中的邊由三個(gè)部分組成,分別是:交互邊 :
?中?
?的邊
類別邊:?
價(jià)格邊:?
通過引入四種類型的節(jié)點(diǎn),我們將所有的實(shí)體、特征和關(guān)系表示為一個(gè)統(tǒng)一的圖,以顯式的方式捕獲所有的成對關(guān)系。如下圖中的紅框所示:
在圖卷積網(wǎng)絡(luò)中,常用的是使用word2vec提取的某些高級特征向量,如單詞嵌入,作為節(jié)點(diǎn)的輸入特征。同樣的,將價(jià)格和類別信息編碼到用戶節(jié)點(diǎn)和產(chǎn)品節(jié)點(diǎn)的輸入特征中似乎是合理的,這使得二分圖設(shè)計(jì)更加簡潔。然而,在本文的工作中,我們明確地將兩個(gè)重要的屬性(價(jià)格和類別)作為實(shí)體節(jié)點(diǎn),以一種更有表現(xiàn)力的方式捕獲依賴于類別的價(jià)格感知。通過分配不同的節(jié)點(diǎn),價(jià)格和類別被直接和明確地捕獲,上述兩個(gè)價(jià)格感知產(chǎn)品推薦的困難得到了緩解。具體地說,未聲明的價(jià)格感知被轉(zhuǎn)化為異構(gòu)圖上的高階鄰居鄰近,這可以被圖卷積網(wǎng)絡(luò)很好地捕獲。通過將產(chǎn)品節(jié)點(diǎn)連接到價(jià)格節(jié)點(diǎn)和類別節(jié)點(diǎn),可以減輕依賴于類別的影響問題。2. 圖卷積編碼器 (Graph convolutional encoder)
為了同時(shí)捕獲協(xié)同過濾(CF)效應(yīng)和價(jià)格感知,我們利用圖卷積網(wǎng)絡(luò)作為編碼器來學(xué)習(xí)用戶、商品、價(jià)格和類別的語義表示。通過在異構(gòu)圖上傳播嵌入信息,將價(jià)格敏感信息聚合到用戶節(jié)點(diǎn)來獲取用戶的價(jià)格敏感性。傳統(tǒng)的Latent factor model (LFM)僅建模用戶和物品的表示,本文中作者嘗試學(xué)習(xí)同一潛在空間中四種類型實(shí)體的表示。主要的動機(jī)是在圖上執(zhí)行消息傳遞可以為多個(gè)任務(wù)(如節(jié)點(diǎn)分類和鏈接預(yù)測)生成語義性和魯棒性的節(jié)點(diǎn)表示。其中有一類特殊的算法稱為圖神經(jīng)網(wǎng)絡(luò),它達(dá)到了網(wǎng)絡(luò)表示學(xué)習(xí)領(lǐng)域的最新水平。我們采用了一個(gè)編碼模塊,包括一個(gè)將獨(dú)熱輸入轉(zhuǎn)換為低維向量的嵌入層(Embedding layer),一個(gè)捕獲CF效應(yīng)和價(jià)格感知的嵌入傳播層(Embedding propagation layer ),以及一個(gè)建模鄰居相似度的鄰居聚合層(Neighbor aggregation layer)。
?表示節(jié)點(diǎn)?
?的鄰居集合,?
?是節(jié)點(diǎn)?
?從嵌入層得到嵌入表示。與原GCN相同的是,本文也對每一個(gè)節(jié)點(diǎn)添加自循環(huán)(self-loops),因?yàn)樗s小了歸一化Laplacian的譜,因此我們將異構(gòu)圖中的每個(gè)節(jié)點(diǎn)鏈接到自身,使得節(jié)點(diǎn)?
?也出現(xiàn)在?
?中。
- Neighbor aggregation layer:從網(wǎng)絡(luò)表示學(xué)習(xí)的角度來看,圖結(jié)構(gòu)中兩個(gè)節(jié)點(diǎn)的鄰接關(guān)系意味著它們的表示也應(yīng)該在變換后的潛在空間附近。我們通過聚合節(jié)點(diǎn)鄰居的表示來更新節(jié)點(diǎn)的表示。在所有的聚合操作中,[24]、[28]最常用的方法是求和、取平均值和LSTM。在我們提出的編碼器中,我們采用平均池和利用非線性激活函數(shù)來執(zhí)行消息在圖上傳遞。
從推薦的角度來看,本文提出的圖卷積編碼器能夠捕獲任意兩個(gè)節(jié)點(diǎn)之間存在路徑時(shí)的相似性。結(jié)合經(jīng)典的矩陣分解算法,通過優(yōu)化估計(jì)用戶-物品交互,隱式獲取協(xié)同過濾效果。然而,在我們的圖卷積編碼器中,我們明確地通過聚集一個(gè)節(jié)點(diǎn)的鄰居來合并協(xié)作過濾效果。具體來說,與同一項(xiàng)進(jìn)行過交互的相似用戶是異構(gòu)圖上的2階鄰居。3. 基于成對兒交互的解碼器 (Pairwise-interaction based decoder)
由于異構(gòu)圖中包含四種節(jié)點(diǎn),這些節(jié)點(diǎn)被分解為一個(gè)共享的潛在空間,受因子分解機(jī)的啟發(fā),我們采用了基于交互的兩兩解碼器來估計(jì)交互概率。我們采用兩分支設(shè)計(jì)來估計(jì)用戶-物品的交互,重點(diǎn)是將價(jià)格納入推薦。全局分支以用戶的整體購買力為重點(diǎn),在大范圍內(nèi)模擬價(jià)格效應(yīng)。而類別分支集中在一個(gè)“局部”級別上,在這個(gè)級別上,類別因素會影響用戶對價(jià)格的敏感性。對于每個(gè)分支,我們采用基于成對交互的解碼器來估計(jì)交互概率,并將兩個(gè)預(yù)測分?jǐn)?shù)合并為最終結(jié)果。在一個(gè)統(tǒng)一的異構(gòu)圖中,我們將用戶、商品、類別和價(jià)格表示為四種類型的節(jié)點(diǎn),因此對不同類型節(jié)點(diǎn)的學(xué)習(xí)表示共享相同的潛在空間。因子分解機(jī)分解了共享潛在空間中的所有特征,并通過取每對特征向量的內(nèi)積來估計(jì)相互作用,受此啟發(fā),我們采用了FM模式的解碼器。形式上,使用與上一節(jié)編碼器相同的符號,用戶u與c類商品i的估計(jì)購買概率和價(jià)格p可以表示為:
其中,最終的預(yù)測結(jié)合了來自兩個(gè)分支的超參數(shù)預(yù)測結(jié)果來平衡這兩個(gè)項(xiàng)。需要注意的是,每個(gè)分支都有自己的圖卷積編碼器,因此計(jì)算?
?和?
?所使用的嵌入是不同的、獨(dú)立的。關(guān)于global分支,用戶、物品和價(jià)格這三個(gè)特征被送進(jìn)一個(gè)雙路的基于成對交互的FM解碼器。在這個(gè)分支中,三個(gè)內(nèi)積分別捕捉了用戶的興趣、用戶的整體價(jià)格效應(yīng)和產(chǎn)品的價(jià)格偏差。在不考慮類別嵌入的情況下,我們估計(jì)了相互作用的概率,因此類別節(jié)點(diǎn)僅作為正則化項(xiàng)在圖上,使同一類別的項(xiàng)彼此靠近。由于類別信息隱藏在全局分支的解碼過程中,與類別相關(guān)的價(jià)格的局部效應(yīng)被推出了學(xué)習(xí)的潛在空間。而反映用戶整體購買力和可承受性的全局價(jià)格影響,則被強(qiáng)大的圖卷積編碼器保留在潛在空間中。
在這項(xiàng)工作中,作者強(qiáng)調(diào)了將價(jià)格納入推薦的重要性。為了解決價(jià)格整合的兩個(gè)難點(diǎn),即未聲明價(jià)格意識和類別依賴影響,我們提出了一種基于gcn的方法PUP,并采用了一個(gè)專門設(shè)計(jì)來分離價(jià)格意識的全局和局部影響的雙分支結(jié)構(gòu)。我們在真實(shí)數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn),證明我們提出的PUP可以提高現(xiàn)有方法的推薦性能。通過獲取價(jià)格意識,可以進(jìn)一步了解如何緩解冷啟動問題。雖然我們的模型是專門為建模價(jià)格敏感性而設(shè)計(jì)的,但是我們提出的模型在特征工程方面具有很大的普遍性,其他特征可以很容易地集成到我們提出的方法中。隨著越來越多的研究從服務(wù)提供者的角度聚焦于價(jià)格因素,如何將價(jià)格意識推薦擴(kuò)展到價(jià)值意識推薦是一個(gè)有趣而重要的研究課題。此外,對價(jià)格動態(tài)建模也是一個(gè)很有前途的方向。
P.S. 歡迎投稿,讓更多人看到你的分享。
獲取一折本站知識星球優(yōu)惠券,復(fù)制鏈接直接打開:
https://t.zsxq.com/662nyZF
本站qq群704220115。
加入微信群請掃碼進(jìn)群(如果是博士或者準(zhǔn)備讀博士請說明):