?

基于物品嵌入向量的會話型推薦算法

2021-07-26 11:54陳恩華方寶富
計算機工程 2021年7期
關鍵詞:會話特征向量意圖

陳恩華,方寶富

(合肥工業大學計算機與信息學院,合肥230601)

0 概述

隨著計算機和互聯網技術的發展,網絡信息量呈爆炸式增長,人類社會已經進入到一個信息過載的時代。如何使信息接收者花費少量的時間和精力,即能夠從龐大的信息庫中獲取所需的信息是一個急需解決的問題。傳統解決信息過載的方式一般有兩種:一種是信息分類,如hao123 等信息分類網站,雖然信息已經成功分類,但還是會花費用戶大量的時間去查找;另一種方式是搜索引擎,在大部分情況下搜索引擎能幫助用戶找到需要的信息,然而有時用戶不知自己需要什么或者無法準確地選取關鍵詞進行搜索。因此,如何在節省用戶時間的同時提高效率是一個重要的問題。除用戶主動在系統查找商品外,系統也應該了解用戶的偏好,從而使系統精準匹配用戶的需求以達到節省時間與提高效率的目的??紤]到現實生活中用戶的豐富需求,研究人員提出了推薦系統技術。2006年,Netflix組織競賽極大地促進了推薦系統技術的發展。近年來,越來越多的領域,如電商[1]、電影[2]、音樂[3]等廣泛地應用了推薦系統技術。

推薦系統根據不同的場景采用不同的推薦算法,常用的推薦算法有協同過濾推薦算法[4-5]、基于內容的推薦算法、基于模型的推薦算法[2,6]等。其中協同過濾推薦算法與基于內容的推薦算法需要采集用戶信息從而對用戶進行畫像。這表明當系統采集不到用戶信息時,這些方法不能很好地應用于推薦系統?;跁挼耐扑]算法利用用戶的會話信息可以很好地解決這一問題,即用戶發起的事件序列信息。例如在B2C 網站中,該信息就是用戶對感興趣的物品的一系列點擊事件序列。在大數據環境下,根據用戶的點擊序列可以發現用戶會話中的item(item 的信息含義比較廣泛,比如資訊、電影、商品等,下文統稱為item)有相似或者相關的關系。

通過使用word2vec 中的Skip-gram 模型和層次softmax 優化方法訓練會話數據。根據當前會話中已經發生的item 序列,針對每個item 分配合適的權值,對已經發生的會話事件序列計算出一個特征向量,計算與該特征向量最相似的向量,并根據相似度大小篩選出排在前20 的item 進行推薦,如果用戶點擊了其中的一個,則說明本次推薦是召回成功的。

本文提出一種基于item 嵌入向量相似性的推薦算法SR-I2V,該算法通過訓練出每個item 的嵌入向量,使相似或者相關的item在嵌入空間中具有較近的距離。同時利用意圖遞進公式,依據會話數據中已發生的用戶點擊行為計算出用戶當前意圖特征向量。

1 相關工作

1.1 基于會話的推薦

基于會話的推薦是基于隱式反饋的推薦系統的典型應用,其中沒有明確的偏好(如評分、評論等),只有一些正反饋信息(如點擊)可用。正反饋信息通常采用序列數據的形式,這些數據是通過系統在一段時間內追蹤用戶行為獲得的。

推薦系統中的許多工作都集中在模型上,這些模型需要清晰地采集用戶信息才能工作。在這種情況下,矩陣分解方法[7-8]和鄰域模型[4]在推薦算法中占主導地位,并且在工業界得到廣泛使用。項目間推薦方法[5,9]不僅是基于會話的推薦采用的主要方法之一,而且是用戶信息缺失問題的自然解決方案,項目與項目之間相似性矩陣是從采集的會話數據中預先計算的,即在會話中經常一起點擊的項目被認為是最相似的。在會話期間簡單地使用該相似性矩陣來向用戶推薦當前點擊的最相似的項目。這種方法雖然比較簡單,已被證明是有效的并被廣泛使用,但是此方法僅考慮用戶的最后一次點擊行為,實際上忽略了前面的點擊信息。

文獻[1,10]提出基于馬爾科夫決策過程(MDP)的方法用于基于會話的推薦,該方法根據用戶的前一個行為來預測用戶的下一個行為,并將推薦生成視為順序優化問題,此方法采用了馬爾科夫決策過程作為解決方案。通過對用戶的個性化概率轉換矩陣進行因子分解,FPMC[1]對每兩個相鄰點擊之間的順序行為進行建模,并為每個序列提供更準確的預測。但是基于馬爾科夫鏈模型的一個主要問題是,當試圖獲取用戶選擇的所有可能序列時,狀態空間很快變得難以管理。

近年來,一些基于神經網絡的語言預測模型[11]被提出。在眾多語言模型中,循環神經網絡(RNN)是對句子建模最成功的模型[12],并已廣泛應用于各種自然語言處理任務,如機器翻譯[13]、機器人對話[14]和圖片說明[15]。RNN 已成功應用于眾多應用中,例如順序點擊預測[16]、位置預測[17-18]、下一個添加購物籃的推薦[19]等。文獻[6]將RNN 應用于基于會話的推薦,并實現了對傳統方法的改進,其提出的模型利用并行小批量會話訓練,并采用基于排名的損失函數來學習模型。

文獻[20]提出利用神經網絡學習item 嵌入從而進行推薦,Airbnb 學習房源的嵌入向量,然后根據會話信息向客戶推薦房源,微軟應用item 向量嵌入向用戶推薦音樂[3]。

1.2 word2vec 模型

文獻[21]提出word2vec 模型,該神經網絡模型根據上下文的語境來推斷出每個詞的詞向量,使得經常出現在一起的詞的向量距離很接近,還有一種情況是如果兩個詞在上下文中可以被相互替代,那么這兩個詞的向量距離也會非常接近。比如,在上下文環境中,比較“喜歡”和“崇拜”兩個詞語,會發現兩個詞語的向量距離非常接近。用戶在電子商務網站買東西時,產生的點擊行為短時間內不會有很大的跳躍性,后面感興趣的item 會和前面點擊的item類似或者相關,即整個點擊序列中的item 往往在某些特征有很大的相似性。如上文所述,每個用戶的點擊序列類似于句子的組成形式,點擊序列中的每個item 相似于句子中的詞語。將數十萬、甚至數百萬的點擊序列用word2vec 模型學習,能夠得到一些向量距離很相近的item。

word2vec 模型的理論基礎是距離較近的單詞相似度更高,進行向量嵌入后它們的向量更近。word2vec常用的訓練方法有CBOW(Continuous Bag-of-Words Model)和Skip-gram 兩種,CBOW 方法是根據前面和后面各n個詞推出中心詞,相反,Skip-gram 方法是用中心詞分別推出前面和后面n個詞。實驗結果表明,Skipgram 比CBOW 能取得更好的效果。這兩種模型對應負采樣和層次softmax 兩種優化算法。

2 基于SR-I2V 的會話型推薦算法

本文提出了SR-I2V 推薦算法,該算法將Skip-gram模型和層次softmax 應用于僅有會話數據可利用的推薦場景中,本節主要闡述SR-I2V 算法的核心框架。

如圖1所示,SR-I2V 使用Skip-gram 模型和層次softmax 優化方法求出每個item 的嵌入向量,根據用戶意圖遞進計算出意圖特征向量,得出與意圖特征向量距離最相近的20 個item 進行推薦。

圖1 SR-I2V 推薦算法框架Fig.1 Framework of SR-I2V recommendation algorithm

基于會話的推薦是指僅利用用戶與系統交互的點擊序列數據,從而預測用戶下一步可能會發生點擊事件的item。假設系統從N個用戶那里獲得了|S|個點擊會話集S,其中每個會話s=(i1,i2,…,in)∈S定義為被用戶點擊的n個item 的不間斷序列。每當兩次相鄰的用戶item 點擊之間的時間間隔超過30 min 時,可以認為用戶發生興趣漂移[20],將后面的item 序列重定義為新的會話。針對訓練數據集,使用SR-I2V 算法訓練出每個item 的d維嵌入向量,訓練之后達到的效果是類似或者相關的item 在嵌入空間中的距離相對較近。也就是說,該算法的目的是通過最大化Skip-gram模型[21]中的目標函數L來學習item 的嵌入向量。目標函數L定義如下所示:

其中:超參數m定義為點擊item 的上下文(相鄰item)的長度。

其中:v和v′是item 的輸入和輸出向量表示形式;V是數據集中的唯一itemID 的集合。

從式(1)和式(2)可以看出,本文方法對item 點擊序列的時間上下文進行了建模,其中具有相似性上下文(即在點擊會話中相似的item)的item 將具有相似的向量表示形式。

式(1)中目標函數的梯度?L所需的時間與item 總數|V|成正比,對于大量的item,例如數十萬個item,在短時間內計算出?L是一項不可完成的任務。作為替代方案,本文使用層次softmax 方法可以大大降低計算復雜度。

層次softmax 的主要優勢在于不需要評估神經網絡中的|V|個節點以獲得概率分布,而是僅需要評估大約lb|V|個節點。具體操作是先統計所有會話數據中的item 頻率,根據item 頻率構造一棵哈夫曼樹。樹中的每個葉子節點代表一個item,而非葉子節點對應著一些中間向量。每個非葉子節點都是一個基于邏輯回歸的二分類器,其將給定的輸入向量分為正負兩類。對于某一輸入Xi,根據邏輯回歸可知,其被分為正類的概率為:

其中:θ為分類器所包含的中間向量。在哈夫曼樹中,將左子樹編碼為1,表示該節點分類器輸出為負類,相反,右子樹編碼為0,表示該節點分類器輸出為正類。

在構成的哈夫曼樹中,從iI預測出iO會對應唯一一條從根節點(root)到表示iO葉子節點的路徑path(iO),路徑長度為L(iO)。n(iO,j)表示path(iO)上的第j個節點,容易得出n(iO,1)=root,以及n(iO,L(iO))=iO。當x為true時表示節點n的右子樹。結合式(3),層次softmax 對P(iO|iI)的定義如下:

為簡化式(4)的表示,并且在不引入歧義的情況下進行了以下簡化:

由式(4)得到對數似然目標函數:

根據隨機梯度上升法得出哈夫曼樹中內部節點n(iO,j)的向量表示和輸入層iI的向量表示,可以最大化對數似然目標函數式(7)。

(5) 隨剪力連接度的降低,試驗梁的動力響應變大;在剪力連接度相同情況下,不同栓釘損傷對結合梁動力性能影響不大。

用戶在與系統交互的過程中,通常情況下自己的意圖越往后會越清晰,本文定義這種現象為意圖遞進??亢蟮膇tem 點擊事件會對下一個被點擊的item 的預測產生更重要的影響。在用戶已經和系統發生交互的n個item 中,第k個item 對將要發生的下一個item 產生影響的意圖權值是αi λ,其中,α是意圖遞進參數,λ由等式確定。綜合已發生的n個item 的向量值,定義意圖特征向量為:

最后求出與意圖特征向量在嵌入空間距離最近的20 個item 向量,按照相似度大小排名進行推薦?;赟R-I2V 的會話型推薦算法的偽代碼如下:

算法1基于物品嵌入向量的會話型推薦算法

3 實驗結果與分析

3.1 數據集

為了驗證本文所提算法的有效性,本文在實驗過程中選用兩個具有代表性的公共數據集評估SR-I2V算法,第1 個數據集是Yoochoose,該數據集來自RecSys Challenge 2015,它是從一個B2C 電子商務網站采集的,采集的是6個月內用戶在電子商務網站上的點擊流,該數據集只保留了點擊序列。在預處理過程中,為了與GRU4REC等算法進行公平的對比,將數據集中點擊序列長度小于2的會話或者item出現次數少于5的事件過濾掉。實驗過程中用最后一天的會話數據作為測試集評估算法,將測試集中不存在于訓練集中的item過濾掉,并且將測試集中長度小于2的會話過濾掉。

第2 個數據集Diginetica 來自于CIKM Cup2016,是從一個真實電子商務網站收集用戶的行為數據的公共數據集,包括5 個月內網站訪問者的行為數據,實驗中只利用其中的點擊數據。在數據預處理過程中,該數據集與Yoochoose 應用相同的過濾規則,唯一不同之處是選擇最后一周數據作為測試集。

經過數據預處理后,兩個數據集的統計信息如表1所示。

表1 Yoochoose 和Diginetica 數據集統計信息Table 1 Yoochoose and Diginetica dataset statistics

由于推薦算法一次只能推薦幾個item,用戶實際選擇的item 應該在列表的前幾個項目中。每次推薦20 個item,用戶點擊其中的一個表明本次推薦是召回成功的,因此,實驗的主要評估指標是召回率(Recall@20),即推薦成功的案例在所有推薦案例中的比例。召回率不考慮item 的實際排名,只需要它在推薦的20 個item 中。實驗中使用的第2 個評價指標是平均倒數排名(MRR@20),即召回item 的排名倒數的平均值。如果排名高于20,則將MRR@20 設置為零。MRR@20 考慮推薦項目的排名,這在實際推薦場景中是很重要的,例如電商系統中給用戶推薦的排名低的項目僅在滾動之后才能見到。

3.2 實驗設置

本文對訓練數據集進行處理,會話數據按照時間戳排名,再根據會話ID 進行分類,將每個會話中的item 按照空格分割按照句子的形式記錄下來,每個會話的分詞文本單獨占用一行。

用word2vec 對記錄的會話分詞文本進行訓練。在訓練的過程中,發現有若干參數對實驗結果會產生比較大的影響,需要調節的參數介紹如下:

1)sg:表示訓練word2vec 的兩種模型,當sg 為1時,表示選用Skip-gram 模型,如果默認為0,則選用CBOW 模型。

2)hs:表示兩種模型的各兩種優化算法,當hs 為1 時,使用層次softmax 算法,如果默認為0,則選用負采樣方法。

3)size:訓練向量嵌入的維度。

4)window:表示由當前item 預測前面和后面item 的個數,如當window 為5 時,表示會考慮當前item 的前面和后面各5 個item。

以SR-I2V 在Dignetica 數據集上調參過程為例,具體調參過程如圖2~圖4所示,從而找到最優推薦效果的參數。該模型調優的最佳參數如表2所示。實驗結果表明:SR-I2V 選用Skip-gram 模型和層次softmax 優化算法可以使推薦效果得到顯著提升。

表2 word2vec 最優參數值Table 2 word2vec optimal parameter value

圖2 sg,hs 參數變化時產生的影響Fig.2 Effect of sg and hs parameters changes

圖4 window 參數變化時產生的影響Fig.4 Effect of window parameter changes

圖3 size 參數變化時產生的影響Fig.3 Effect of size parameter changes

針對會話已有的item 項,根據意圖遞進定義和式(5)得出意圖特征向量,然后求出與意圖特征向量距離最近的20 個item 進行推薦。不同的意圖遞進參數α對實驗結果會有一定的影響,實驗結果如表3所示。從表3 可以看出,在兩個數據集上的薦效果先隨著α值增長而增長,當α值在2.1 附近時,推薦效果隨著α值增加而降低,最后推薦效果隨著α值增加而趨于穩定。表明了本文提出的意圖遞進公式的正確性,可以看出對預測影響最大的是最后一個item,也進一步說明了會話序列中前面的item 對預測有一定的影響。

表3 不同的意圖遞進參數α 值對推薦結果的影響Table 3 Effect of different intent progressive parameter values of α on the recommended results %

3.3 算法比較與分析

本節對本文提出的方法與一系列常用的方法進行比較。POP 是一種簡單的基于流行度的推薦方法,始終推薦訓練集中最受歡迎的項目。S-POP 推薦當前會話中最受歡迎的項目。Item-KNN[9]推薦與實際項目類似的項目,相似性定義為會話向量之間的余弦相似度,即會話中兩個項目的共現次數除以發生單個項目的會話數的乘積,還包括正則化以避免很少訪問的項目的高度相似性。BPR-MF[22]是常用的矩陣分解方法之一,它通過SGD 優化成對排名目標函數。矩陣分解不能直接應用于基于會話的推薦,因為新會話沒有預先計算的向量表示。通過使用新會話中發生的項目的特征向量的平均值表示該會話,這樣處理就可以解決矩陣分解不能直接應用于基于會話的推薦的問題。FPMC[1]是關于下一個添加購物籃推薦的最新混合模型。為使該模型適用于基于會話的推薦,一般在計算推薦分數時不考慮用戶的潛在表示形式。GRU4Rec[6]使用RNN 模型對會話數據進行建模,該模型使用RNN 改進版本GRU,其利用會話并行小批量訓練,并采用基于排名的損失函數來學習模型。

為了證明本文所提出算法的整體性能,在實驗過程中將SR-I2V 算法與其他基于會話的推薦算法進行了比較。表4所示為Recall@20 和MRR@20 的總體性能,最佳結果以黑體字突出顯示。

表4 SR-I2V 和其他對比算法在兩個數據集上的表現Table 4 Performance of SR-I2V and other comparison algorithms on two datasets %

對于POP和SPOP等傳統算法,其性能相對較差。這種簡單的模型僅基于重復出現的項目或連續項目進行推薦,這在基于會話的推薦方案中是存在問題的,但S-POP 仍然優于POP、BPR-MF 等算法,這說明了會話上下文信息的重要性。GRU4Rec 和SR-I2V 均優于所有的傳統算法,這說明深度學習技術在基于會話的推薦領域的應用是有效果的。GRG4Rec 主要是通過對會話時序信息進行建模,用戶在點擊item 時,雖然帶有一定的時序性但不是特別強,所以利用循環神經網絡對會話信息進行建模然后進行推薦能夠取得一定的效果,但是效果比較有限。用戶在網站瀏覽商品時大部分時候興趣不會發散,并且隨著用戶逐步和系統交互,用戶意圖會越來越清晰,SR-I2V 根據已有的item 序列利用意圖遞進的規律總結用戶的意圖,往往可以比較準確地把握用戶當前的意圖。SR-I2V 不僅利用了會話中item 的相似性或者相關性,還利用了會話的上下文和時序信息,因此SR-I2V 可以取得比其他算法更好的效果。

4 結束語

本文提出一種基于item 嵌入向量相似性的推薦算法SR-I2V。通過將Skip-gram 和層次softmax 引入到SR-I2V 推薦算法中,充分挖掘會話中item 的特征信息,并推薦相似item,根據提出的意圖遞進公式可以更好地總結用戶的意圖,從而進一步提升推薦效果。SR-I2V由于不需要獲取用戶的相關信息,只需要獲取用戶在系統中的會話序列信息,以緩解用戶冷啟動問題和傳統推薦算法中存在的數據稀疏問題。實驗結果表明,相比I2I、PoP、S-POP、Item-KNN 等傳統算法,該算法推薦效果大幅提升,且相比應用RNN 模型的GRU4Rec算法也有明顯提升。雖然會話中所有的item 都是用戶瀏覽過的,但是大量的item 都是在用戶發生興趣漂移后瀏覽或者不感興趣。下一步將研究如何把注意力機制融入到SR-I2V 算法中,識別出用戶不感興趣的item,從而獲取更好的推薦效果。

猜你喜歡
會話特征向量意圖
二年制職教本科線性代數課程的幾何化教學設計——以特征值和特征向量為例
原始意圖、對抗主義和非解釋主義
陸游詩寫意圖(國畫)
克羅內克積的特征向量
制定法解釋與立法意圖的反事實檢驗
一類特殊矩陣特征向量的求法
EXCEL表格計算判斷矩陣近似特征向量在AHP法檢驗上的應用
漢語教材中的會話結構特征及其語用功能呈現——基于85個會話片段的個案研究
燕山秋意圖
沖突語的會話分析研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合