蘇雪峰,岳云康
(山西大學商務學院 電子商務系,山西 太原 030031)
社交策展(social curation)[1,2]的特點是:用戶不需要自己生產新內容,而是通過對他人生產的內容進行分類和組織來進行內容收藏、分享和社交等活動。這種對內容的收藏、分享和社交活動存在一種由粗到細的層級結構。本文提出一種面向社交策展內容推薦的層級嵌入學習方法,通過對社交策展內容消費的層級結構進行建模,學習得到用戶和不同層級內容在同一低維嵌入空間的表達向量。推薦問題轉化為在嵌入空間進行直接的相似度計算。
以目前最流行的圖像策展網站Pinterest為例,用戶可以通過“采集”功能將感興趣的圖像加入一種“采集冊”(pinboard)中。如圖1所示,這種社交策展服務具有典型的層級結構:用戶可以同時編輯多個采集冊,而每個采集冊中包含了多個“采集條目”(pin,在圖像策展網站中,采集條目即為圖像)。

圖1 社交策展網站的層級結構
由于用戶在社交策展網站上的行為圍繞內容展開,幫助用戶發現可能感興趣的高質量內容就成為了提高用戶體驗的重要辦法。比如Pinterest曾在其官方博客中宣布:人們每天在Pinterest貼的關于旅行的圖片就有150萬張,而這類圖片總量更是高達7.5億張。作為解決信息過載的有效方式,推薦在社交媒體服務中被廣泛地應用于過濾海量用戶產生內容并發現用戶可能感興趣的內容。
推薦問題的一種典型思路是學習用戶和被推薦物品的低維空間表達,然后在低維空間進行用戶和物品的匹配。比如基于矩陣分解的協同過濾方法可看作是將用戶-物品矩陣分解為用戶低維表達矩陣和物品低維表達矩陣的乘積[3,4]。近年來,神經網絡嵌入(neural embedding)被提出應用于語言建模,大大提高了自然語言理解能力。這些神經網絡語言模型的基本思路是通過詞和詞組在上下文的共生關系,在低維嵌入空間學習器表達并保留相互的語義和語法關系。如Bengio等[5]率先采用神經網絡模型對語言過程建模,可以為每個詞得到一個連續分布式向量表示,從而解決了稀疏表達(one-hot representation[6])中的維度災難問題。為解決神經網絡語言模型的計算量大問題,Mikolov等[7]對模型進行了改進,移除了前向反饋神經網絡中的非線性隱層,并提出了若干簡化訓練的技術。這一模型被稱為詞向量嵌入,即Word2Vec。
在推薦問題中,如果將用戶類比于語言建模中的句子上下文,被推薦物品類比于詞,可以通過詞向量嵌入的方法學習物品的嵌入表達。然而,標準的詞向量嵌入方法只關注詞的嵌入學習,無法直接獲得句子上下文(即推薦問題中的用戶)的嵌入表達。進一步,在社交策展推薦問題中,如果以采集條目作為被推薦物品,用戶和被推薦物品之間的關系是層級的,現有的詞向量嵌入方法無法處理。

定義2 社交策展網站的層級嵌入學習:給定觀察到的用戶-采集冊-采集條目層級關系ui、b(ui)={b1,…,bui}、pb1={p1,…,pb1}, 學習由用戶、采集冊、采集條目到低維嵌入空間的映射函數f1∶ui→vui∈d、f2∶bi→vbi∈d、f3∶pi→vpi∈d, 其中d是嵌入空間的維度;映射函數需要使嵌入空間保留用戶、采集冊和采集條目的原始共生關系。
社交策展內容推薦包括采集冊和采集條目的推薦。基于層級嵌入學習的社交策展內容包括層級嵌入表達學習和相似度計算兩部分,如圖2所示。通過計算用戶和采集冊嵌入表達的相似度可以進行采集冊推薦,而計算用戶和采集條目嵌入表達的相似度可以進行采集條目的推薦。

圖2 算法流程
我們提出了兩種學習方法來實現社交策展網站中層級關系結構的低維空間嵌入:隱性層級嵌入學習和顯性層級嵌入學習。隱性層級嵌入學習首先基于文檔向量嵌入方法(Paragraph2Vec[7])獲得采集冊和采集條目的嵌入表達,然后將用戶的采集冊表達向量平均化得到用戶的嵌入表達。顯性層級嵌入學習在文檔向量嵌入方法基礎上增加一個用戶到采集冊的神經網絡層,將用戶與采集冊的層級關系顯性建模到嵌入過程中。
仿照文獻[8]的做法,隱形層級嵌入學習將采集冊作為一種特殊的全局上下文加入到采集條目的預測中。如圖3所示,將采集條目類比詞,虛線框內的部分實際與詞向量嵌入方法完全一致。不同點在于采集冊作為一種特殊的采集條目加入映射,即采集冊也對采集條目的預測概率做出貢獻,采集冊和周圍的采集條目結合起來預測上下文中可能出現的采集條目。

圖3 隱性層級嵌入模型

(1)
上述公式中兩項分別計算了由采集條目預測采集冊的概率以及由采集條目上下文和采集冊預測某采集條目的概率,可根據其在嵌入空間表達均值向量的內積進行定義
(2)
(3)

式(1)可以通過層級softmax[7]來進行最大化,以學習獲得采集冊和采集條目的嵌入表達。在此基礎上,用戶的嵌入表達可以通過其交互的采集冊通過平均獲得
(4)
在隱形層級嵌入學習中,用戶與采集冊(條目)的表達學習分兩步進行,用戶的表達通過平均其交互的采集冊表達獲得,沒有直接利用用戶與采集條目之間的關系。
顯性層級嵌入學習提出對用戶-采集冊和采集冊-采集條目的包含關系統一建模。如圖4所示,預測采集冊采用了與預測采集條目類似的結構,即與采集冊bi交互過的用戶和相鄰采集冊都作為上下文對bi的觀測有貢獻。

圖4 顯性層級嵌入模型

(5)
其中,第二項和第三項的定義與隱性層級嵌入學習類似,可參考式(2)與式(3)。第一項表示的是由采集冊預測用戶的概率,定義如下
(6)

通過層級嵌入學習可以獲得用戶、采集冊、采集項目在同一低維空間的表達向量vui,vbi,vpi。低維表達向量的相似度表示了通過觀測到的用戶-采集冊-采集項目層級關系提取的共生相似度,可以預測用戶對采集冊/采集項目的潛在興趣。具體地,對于用戶ui,分別計算其嵌入表達向量vui與各采集冊/采集項目表達向量的余弦距離。采集冊推薦時,余弦距離cos(vui,vbi)最大且未被用戶ui交互過的前K個采集冊被推送;采集項目推薦時,余弦距離cos(vui,vpi)最大且未被用戶ui采集過的前K個采集條目被推送。
實驗在圖像策展網站Pinterest上進行:共采集了3000個Pinterest用戶、25 487個采集冊和超過50萬個采集條目。由于嵌入表達學習需要基于共生關系進行,實驗中移除了用戶交互數目少于3個的采集冊和被少于3個采集冊包含的采集條目。最終的數據集包括了3000個用戶、16 320 個采集冊和58 902個采集條目。圖5顯示了最終數據集中采集條目在Pinterest中33個類別的分布情況,這與文獻[9]中公布的Pinterest類別分布類似,說明本實驗所使用的數據是全樣本的一個典型采樣,較真實地反映了數據的實際分布情況。

圖5 采集條目的類別分布
我們比較了如下幾種方法的推薦效果:
SVD(奇異值分解[10]):對觀測到的用戶-采集冊矩陣和用戶-采集條目矩陣分別進行SVD矩陣分解,基于重構后的矩陣進行采集冊和采集條目推薦;
Word2Vec(詞向量嵌入[7]):基于觀測到的用戶-采集冊關系學習用戶和采集冊在低維空間A的嵌入向量,進行采集冊推薦;基于觀測到的用戶-采集條目關系學習用戶和采集條目在低維空間B的嵌入向量,進行采集條目推薦;
隱性層級嵌入學習(implicit hierarchical embedding,IHEmbed):本文所提出的方法,詳見第2.1小節;
顯性層級嵌入學習(explicit hierarchical embedding,EHEmbed):本文所提出的方法,詳見第2.2小節。
選擇了推薦的precision@K和新穎性(novelty)兩個評估準則,其中precision@K用以評估推薦的準確性,新穎性鼓勵對于不流行和用戶交互較少類型采集冊/條目和推薦,更符合實際推薦系統中的用戶需求,具體描述和計算請參考文獻[11]。
對數據集中的每個而用戶,我們隨機選擇50%的采集冊和采集條目作為訓練集(對于SVD,訓練集即為矩陣中已觀測項)。
為選擇所提出層級嵌入方法的嵌入空間維度d,首先在采集冊問題上設定不同的嵌入空間維度來評估推薦準確性。圖6顯示了所提出的層級嵌入方法在維度d取不同值的precision@K。可以看出:①整體來看,兩種方法的推薦準確性隨嵌入維度變化不大,說明了所提出嵌入方法對于維度數目具有一定的魯棒性;②當嵌入表達維度由20增加到100時,推薦準確性略有提高,這是由于更多的結點可以捕獲更多的信息;而當嵌入表達維度繼續增加超過150時,推薦準確性在緩慢下降,這是由于保留過多的結點有可能同時引入了噪聲。實驗中選定隱性層級嵌入方法的維度d=100,顯性層級嵌入方法的嵌入維度d=150。

圖6 推薦準確率隨嵌入空間維度的變化
表1顯示了4種方法在采集冊和采集條目推薦中的性能比較。可以看出:①由于采集條目的備選集合數目更大,采集條目推薦的準確性普遍比采集冊推薦要低;而新穎性與備選推薦數目沒有直接關系;②在推薦準確性上,3種向量嵌入學習方法獲得了比矩陣分解更好的效果,文獻[12]中曾證明標準的詞向量嵌入方法相當于加權的矩陣分解,且相比矩陣分解可以提供更靈活的推薦上下文;③通過考慮用戶-采集冊-采集項目的層級結果,所提出的兩種層級嵌入學習方法獲得了比Word2Vec更好推薦準確性和新穎性;④顯性嵌入學習方法獲得了最高的推薦準確性,這是由于在學習采集條目嵌入表達時同時考慮了用戶與采集冊的關系,更好地捕捉了用戶-采集冊以及用戶-采集條目的內在關聯;⑤在推薦新穎性上,顯性嵌入學習的優勢并不明顯,甚至在采集冊推薦時有所下降,這是由于新穎性的評估鼓勵與用戶之前沒有或較少交互過的物品的推薦,顯性嵌入學習在發現新物品時并沒有特別的設計,這也是未來基于嵌入學習進行協同過濾推薦需要考慮的問題。

表1 推薦方法的準確性和新穎性比較
本文提出了一種面向社交策展內容推薦的層級嵌入學習方法。該方法考慮了社交策展網站上圍繞內容的典型用戶-采集冊-采集條目結構,采用隱性和顯性兩種方式對這種層級結構進行建模,可以同時學習得到用戶、采集冊以及采集條目在同一個低維空間的嵌入表達向量。實驗結果表明,所提出方法對于嵌入空間的維度較為魯棒,相比現有方法在圖像策展內容推薦的準確性和新穎性上均有一定提高。
[1]Hall C,Zarro M.Social curation on the website Pinterest.com[J].Proceedings of the American Society for Information Science and Technology,2012,49(1):1-9.
[2]Han J,Choi D,Chun B G,et al.Collecting,organizing,and sharing pins in pinterest:Interest-driven or social-driven?[J].ACM SIGMETRICS Performance Evaluation Review,2014,42(1):15-27.
[3]Luo X,Zhou M,Xia Y,et al.An efficient non-negative matrix-factorization-based approach to collaborative filtering for recommender systems[J].IEEE Transactions on Industrial Informatics,2014,10(2):1273-1284.
[4]Hernando A,Bobadilla J,Ortega F.A non negative matrix factorization for collaborative filtering recommender systems based on a Bayesian probabilistic model[J].Knowledge-Based Systems,2016,97(1):188-202.
[5]Bengio Y,Ducharme R,Vincent P,et al.A neural probabilistic language model[J].Journal of Machine Learning Research,2003,3(6):1137-1155.
[6]Yao K,Zweig G,Hwang M Y,et al.Recurrent neural networks for language understanding[C]//Interspeech,2013:2524-2528.
[7]Mikolov T,Sutskever I,Chen K,et al.Distributed representations of words and phrases and their compositionality[C]//Advances in Neural Information Processing Systems,2013:3111-3119.
[8]Le Q V,Mikolov T.Distributed representations of sentences and documents[C]//Proceedings of the 31th International Conference on Machine Learning,2014:1188-1196.
[9]Chang S,Kumar V,Gilbert E,et al.Specialization,homophily,and gender in a social curation site:Findings from pinterest[C]//Proceedings of the 17th ACM Conference on Computer Supported Cooperative Work & Social Computing,2014:674-686.
[10]Zhou X,He J,Huang G,et al.SVD-based incremental approaches for recommender systems[J].Journal of Computer and System Sciences,2015,81(4):717-733.
[11]Adomavicius G,Kwon Y O.Multi-criteria recommender systems[M]//Recommender systems handbook.Springer US,2015:847-880.
[12]Levy O,Goldberg Y.Neural word embedding as implicit matrix factorization[C]//Advances in Neural Information Processing Systems,2014:2177-2185.