1. 程式人生 > 其它 >Learning User Representations with Hypercuboids for Recommender Systems

Learning User Representations with Hypercuboids for Recommender Systems

ABSTRACT

建模使用者興趣在推薦系統中至關重要。在文章中,作者提出了一種新的使用者興趣表示模型。具體來說,該模型的關鍵新穎之處在於它將使用者興趣明確地建模為超長方體而不是空間中的一個點。在這個方法中,推薦分數是通過計算使用者超長方體和專案之間的組合距離來學習的。這有助於減輕現有協同過濾方法潛在的幾何不靈活性,從而實現更好的建模能力。進一步,提出了兩種超長方體的兩種變體,以增強捕獲使用者興趣多樣性的能力。還提出一種神經架構,通過捕獲使用者的活動序列(例如:購買和評價),來租金使用者超長方體學習。作者通過對公共和商業資料集的廣泛實驗證明了模型的有效性。實驗取得了soat效果。

INTRODUCTION

文章提出的新的超長方體推薦方法,超長方體(也成為超矩形)是將3維長方體推廣到4維或者更多維。更具體地說,使用富有表現力的超長方體來表示使用者,已捕獲使用者的複雜多樣的興趣。推薦是基於使用者超長方體和專案之間的關係作出的。

常見的使用者建模方法旨在將使用者表示為向量空間中的點。例如,標準分解模型將大型互動矩陣分解為低維空間中的使用者和專案潛在嵌入向量。結果,推薦被簡化為識別在該空間中與使用者接近或相似的專案。但是這存在不足:

  • 將不同的、多樣性的興趣用單個點的嵌入表示是有問題的,直觀上,使用者對不同類別或領域的專案有不同的品味和考慮。
  • 對於大多數因素,使用者有偏好的範圍分佈。例如,消費者通常有他們可接受的價格範圍。用單個值對這樣的範圍進行建模是沒有表現力的。
    顯然,這樣的系統在幾何上是有限制的,因此提出了一個更豐富的潛在表示系統來克服這些限制。這種將使用者表示為超長方體的新正規化,超越了點嵌入表示,可以更有效地捕捉使用者錯綜複雜的興趣。超長方體是一個包含無數點的子空間,比單個點具有更多的表示能力。此外,每個因素的偏好範圍可以自然地用超長方體的邊緣建模。

總的來說,基本思想:對於每個使用者,學習單個或多個超長方體來代表使用者的興趣。使用者超長方體和專案點之間的關係是通過重新設計的距離度量來捕獲的,其中考慮了超長方體外部和內部的距離,理想情況下,使用者超長方體將允許更大程度的靈活性和表現力。

THE PROPOSED METHOD

設有一組使用者,\(u\in \{1,\ldots,|U|\}\),一組專案,\(i \in \{1,\ldots,|I|\}\)。目標是在給定現有反饋的情況下,為使用者生成一組可推薦的專案,通常是隱式反饋,例如:點選、購買、喜歡。如果使用者u和專案i存在互動,將\(y_{ui}\)設定為1,否則為0,且\(y_{ui}\)

是互動矩陣\(Y\in R^{|U|\times |I|}\)的一個條目。

2.1 Representing Users as Hypercuboids

為了計算方便,定義了一個具有中心和偏移量的超長方體,兩者具有相同的維度。具體地,在\(\mathbb{R}^d\)上進行操作,讓\(c\in \mathbb{R}^d\)代表超長方體的中心,\(f\in \mathbb{R}_{0+}^{d}\)表示非負偏移。偏移用於確定超長方體的邊緣長度,具體定義如下:

\[Hypercuboid \equiv \{p\in \mathbb{R}^d:c-f \preceq p \preceq c+f\} \]

其中,p表示在超長方體中的點。每個使用者都使用超長方體來表示,使用\(C\in R^{|U|\times d}\)\(F\in R_{0+}^{|U|\times d}\)來表示所有使用者的中心和偏移。因此,使用者u可以被表示為\(usr_u(C_u,F_u)\)。專案用點來表示,並且用\(V\in R^{|I|\times d}\)來表示。顯然,專案點可以在使用者超長方體的外部、內部或者表面上。因此,需要一種合適的方法來評估使用者好專案之間的關係。同時應該保留超長方體的特性。

為了實現這一點,採用點到超長方體的距離的複合。由外部距離和內部距離組成,首先在超長方體表面上找到離item最近的點,表示式如下:

\[p_{ui}=min(p_u^{max},max(p_u^{min},V_i)) \]

其中,\(p_u^{max}\)\(p_u^{min}\)表示超長方體的右上角和左下角,他們的正式定義如下:

\[p_u^{max}=C_u+F_u \\ p_u^{min}=C_u-F_u \]

很顯然,\(p_{ui}\)和使用者超長方體和專案嵌入表示都有關聯,任何一方的移動都會導致這一點的轉變,示意圖如下:

因此,外部距離就是\(p_{ui}\)\(V_i\)的距離,內部距離就是\(p_{ui}\)和超長方體中心的距離,如下:

\[l_{out}(u,i)=\parallel p_{ui}-V_i\parallel_2^2,\\ l_{in}(u,i)=\parallel p_{ui}-C_u \parallel_2^2 \]

這裡使用歐幾里得距離,然後將兩個距離組合如下來衡量使用者-專案關係:

\[l(u,i)=l_{out}(u,i)+\gamma \cdot l_{in}(u,i) \]

這裡的係數\(\gamma\)用於控制內部距離的貢獻。理論上,如何設定\(\gamma=0\),如果一個專案位於使用者超長方體中,則說明使用者對這個專案感興趣,不會管使用者自身的座標。這能夠緩解使用者和發生互動行為的專案對映到相同點的情況。

這種模式有兩種好處:

  • 一個使用者超長方體可以被看成一個包括了無數專案點的集合,這意味著它可以包含使用者喜歡的任意數量的專案,而不會丟失太多的資訊。
  • 提出的組合距離可以克服現有方法採用的直接距離的障礙,組合距離為:\( l(u,i)=l_{out}(u,i)+\gamma \cdot l_{in}(u,i) \)

第二個好處的解釋性如下:假設有兩個專案位於以\(C_u\)為圓心的圓的圓周上。使用常用的歐幾里得距離,系統會得出結論,該使用者同樣喜歡這兩個專案,但是考慮figure2的情況。可以看到,當考慮到超長方體的邊緣時,很明顯,item1和item2到超長方體的距離不相等。使用者可能會對item1更感興趣。

可以將偏移量視為每個維度中使用者偏好的範圍,如果x軸表示價格,z軸表示款式,那麼明顯,使用者對款式的容忍度比價格小。因此,即使item2有著更容易接受的價格,但是使用者會更喜歡item1,因為item2不是使用者喜歡的風格;

同時為了確保使用者超長方體裡面的專案排名比外面的高,在\(l(u,i)\)加入額外的距離,如下:

\[l_{add}(u,i)=2(\sigma(\alpha \parallel p_{ui}-V_i\parallel _2^2)-\frac{1}{2})\parallel F_u \parallel _2^2 \]

其中\(\alpha\)是設定大於100的值,\(\sigma\)是sigma啟用函式。當專案在超長方體內時,該距離為0,否則,它大約大於超長方體的最大對角線長度的一半。

2.2 Variants of Hypercuboids

此部分介紹兩種超長方體的變體,原理是生成多個超長方體,每個超長方體為使用者興趣提供不同的檢視。可以提高捕獲使用者興趣多樣性的能力。下圖展示了兩種變體:

2.2.1 Concentric Hypercuboids

使用多個同心超長方體來表示每個使用者,新增幾個偏移,並保持中心不變。

同心超長方體不僅可以將規則超長方體擴充套件到不規則空間,還可以緩解上述的問題。設想有M個偏移,每個超長方體有兩個距離,將他們聚合得到最終距離表示,如下:

\[l(u,i)=\sum_{j=1}^{M}l_{out}^j(u,i)+\gamma\cdot min(l_{in}^1(u,i),\ldots,l_{in}^M(u,i)) \]

上述公式,所有的外部距離都被相加,但只使用最小的內部距離。目的是為了弱化內部距離的影響;

2.2.2 Multiple Independent Hypercuboids

為了進一步增強不同興趣進行建模的能力,還可以使用具有不同中心和偏移的多個超長方體,最終的距離函式定義如下:

\[l(u,i)=min(l^1(u,i),\ldots,l^M(u,i)) \]

至於加法距離,可以取所有超長方體的最大additional距離。(additional distances定義為:\(l_{add}(u,i)=2(\sigma(\alpha \parallel p_{ui}-V_i\parallel _2^2)-\frac{1}{2})\parallel F_u \parallel _2^2\))

2.3 Learning the Centers and Offsets

使用者會與很多的專案發生互動行為,文章使用最後L個互動來預測下一個推薦專案。嵌入矩陣\(S_u^{(t)}\in \mathbb{R}^{L\times d}\),這代表在時間步t的L個專案的表示。可以通過整體專案嵌入表示矩陣V和索引L來獲得。

文章使用由雙向LSTM堆疊的神經網路和自注意力機制,來捕獲使用者的興趣(偏移)

\[S^{'}=Bi-LSTM(S_u^{(t)}) \]

雙向LSTM是用來加強序列表示能力,注意力機制如下:

\[a_u^{(t)}=softmax(\frac{f(S^{'})\cdot f(S^{'})^\top }{\sqrt{d}})\cdot S_u^{(t)} \]

其中\(a\in \mathbb{R}^{L\times d}\)是當前序列的變換表示;f是非線性層;然後被傳入一個池化層得到一個d維的向量:

\[s_u^{(t)}=pooling(a_u^{(t)}) \]

這裡的池化層可以是平均池化,最大值池化,最小值池化,求和池化;可以用\(s_u^{(t)}\)表示中心或者偏移,或者同時表示兩者;

此外,超長方體的偏移通常需要記住大量的資訊。例如,要獲得價格區間,需要儲存使用者購買的所有商品的價格,以準確推斷出使用者可接受的價格範圍。為此,採用鍵值記憶網路來執行記憶過程。讓\(M\in \mathbb{R}^{d\times N}\)表示記憶,\(K\in \mathbb{R}^{d\times N}\)表示key矩陣,這裡的N控制著記憶的大小;

記憶模型的輸入是\(s_u^{(t)}\),,可以從key矩陣中獲得key,如下:

\[k=softmax(s_u^{(t)}K) \]

再使用這個key向量k,從記憶矩陣中,選擇相關的資訊片段,如下:

\[m=k\cdot M^\top \]

使用ReLU函式來包裹所有偏移量,保證得到的值是非負的。對於多個超長方體,可以在中心、偏移量上新增密集層,一次獲得多箇中心和偏移量,具體如下圖所示:

2.4 Optimization

損失函式如下:

\[L=\sum_{(u,i)\in \mathcal{T}^+}\sum_{(u,j)\in \mathcal{T}^-}max(0,\ell (u,i)+\lambda-\ell (u,j)) \]

其中,\(\mathcal{T}^+\)\(\mathcal{T}^-\)是positive和negative的使用者-專案互動對。\(\lambda\)是分隔兩個專案的邊界。對於正則化,使用了\(L_2\)和dropout。

EXPERIMENTS

3.1 Datasets

使用了四個公開的基準資料集和兩個商業資料集,統計資訊如下:

3.2 Evaluation Measures

使用了三個評估指標:

  • Recall@k
  • NDCG@k
  • MAP@k

3.3 Compared Methods

兩組方法,如下:

第一組,兩個非神經網路推薦方法:

  • Matrix Factorization with Bayesian Personalized Ranking(BPRMF)
  • Translational Recommender Systems(TransRec)
    第二組,五個神經網路方法:
  • YouTubeDNN
  • Gated Recurrent Unit for Recommendation(GRU4Rec)
  • Convolutional Sequence Embedding Recommendation Model(Caser)
  • Self-Attentive Sequential Recommendation(SASRec)
  • Hierarchical Gating Networks(HGN)

3.4 Implementation Details

使用tensorflow來實現

3.5 Experimental Results

實驗結果的對比如下:

3.6 Adding More Hypercuboids

此部分,驗證所提出的超長方體變體的有效性,下表顯示了不同數量的超長方體的效能:

可以看出,新增更多的超長方體可以提高模型的效能。表中的結果看出,使用4-6個超長方體可以帶來令人滿意的結果。但是8-10個超長方體,效能會下降。

3.7 Using Hypercuboids Only

此部分研究神經架構對模型效能的影響。為此,用簡單平均池化替換所有神經架構,具體結果如下:

3.8 Sensitivity of Hyper-parameters

3.8.1 Embedding Size

下圖中的(a),(b),(c)分析了嵌入表示大小的影響。很明顯,增加嵌入大小可以提高效能,本文的模型維度大小應該設定為不小於100;

3.8.2 Sequence length

上圖中的(1),(2),(3)分析了序列長度L的影響。可以看到模型在CDs和Movies&TVs上,短序列的效果更好。而在Books資料集上,結果更為穩定;

3.8.3 Pooling Function

下表展示了,不同池化函式的效果,三種池化函式(sum, min, max pooling)都會導致在三個資料集上平均池化的退化。

3.9 Visualization of User Hypercuboids and Item Embeddings

視覺化結果如圖所示:

將3000個item和3000個user中心,投影成一個3維空間。然後隨機選擇8個使用者,對於每個使用者,在超長方體中均勻取樣100個點並將它們投影到同一個空間。可以看出,模型可以成功地學習到不同尺寸和位置的超長方體來表示使用者。位於超長方體內部的專案更可能被推薦給使用者。同時,使用者之間的互動也能很好地視覺化。

此外,模型能夠很好地學習專案的表示。將company資料集(V1)投影到2維空間中,如下圖所示,可以觀察到來自不同類別的物品被分開了,相關類別的物品會更接近。

3.10 Case Study with Multiple Hypercuboids

從資料集中隨機選取一個使用者,使用三個獨立的超長方體,結果如圖所示:

  • 找回專案與對應的使用者序列強相關
  • 不同的超長方體可以捕獲歷史序列中興趣的不同方面,例如:T恤,運動鞋
  • 單個超長方體還可以從密切相關的類別種召回一組不同的專案。例如,超長方體3既能會議襪子,也能回憶籃球。顯然,模型適合捕獲使用者的不同興趣。