?

知識增強策略引導的交互式強化推薦系統

2022-09-18 03:55張宇奇黃曉雯?;w
大數據 2022年5期
關鍵詞:圖譜聚類物品

張宇奇,黃曉雯,?;w

1. 北京交通大學計算機與信息技術學院,北京 100044;

2. 交通數據分析與挖掘北京市重點實驗室,北京 100044

0 引言

隨著網絡的快速發展,信息過載問題越來越嚴重,人們難以及時有效地從海量數據中找到感興趣的物品和信息。為了緩解信息過載問題,推薦系統應運而生。傳統的推薦系統往往采用單步推薦的方式,導致推薦系統無法在推薦過程中動態學習用戶的偏好。為了解決該問題,交互式推薦系統[1]被提出,并在近幾年吸引了越來越多研究人員的關注。交互式推薦系統采用多步推薦的方式,在一次會話內進行多次推薦,并依據用戶的反饋動態調整自身的推薦策略,從而為用戶提供更準確的推薦結果。

由于深度強化學習在決策時關注動作的長期獎勵,在動態環境中體現了較強的決策能力,因此,研究人員開始使用深度強化學習模型建模交互式推薦系統。Mahmood T等人[2]構建的基于modelb a s e d強化學習的交互式推薦系統和近些年提出的基于深度Q網絡(deep Q network,DQN)的交互式推薦系統[3]都取得了不錯的效果?;谏疃葟娀瘜W習的交互推薦系統能在推薦過程中靈活地調整推薦策略,提升推薦系統的準確率,并使用戶長期獲得良好的推薦體驗。

盡管將深度強化學習技術應用到交互式推薦系統中取得了不錯的進展,但基于深度強化學習的交互式推薦系統在實際應用中仍然面臨巨大的挑戰。深度強化學習的引入要求交互式推薦系統在與在線用戶交互的過程中進行學習,從而避免離線學習的估計偏差問題。然而,在實際場景中,用戶的反饋是非常稀疏的,而深度強化模型需要從零開始學習和試錯的特性使得基于深度強化學習的交互式推薦系統需要大量的數據訓練才可學習到最優策略,這一特性會影響用戶的體驗和推薦系統的收益。為了解決上述問題,研究人員在利用強化學習建模交互式推薦系統的同時,嘗試引入知識圖譜[4-5]。知識圖譜將具有相同屬性的物品節點通過邊進行連接,使得用戶對一個物品的反饋可以通過知識圖譜中的邊間接傳播到其他物品。如圖1所示,用戶喜歡《盜夢空間》,其原因可能是他喜歡導演諾蘭,那么他可能也會喜歡諾蘭的其他電影,而在知識圖譜中諾蘭的其他電影與《盜夢空間》之間由于“諾蘭”這一節點的存在而相互連接。因此,通過知識圖譜,用戶喜歡《盜夢空間》這條記錄可以揭露出用戶對其他相關電影(如《致命魔術》)的喜好。這使得對一個物品的反饋可以傳播到其他在圖譜中與該物品相連的物品,通過挖掘圖譜中符合用戶喜好的物品,知識圖譜可以有效地緩解反饋稀疏的問題。

圖1 知識圖譜解決反饋稀疏問題示例

然而,知識圖譜雖然可以緩解強化推薦系統的反饋稀疏問題,但是仍無法解決在推薦初期需要從零學習導致的用戶體驗差的問題。對此,一個簡單的解決思路是直接利用離線的歷史數據訓練推薦系統,再將其進行在線訓練。這一思路存在的問題是離線訓練的推薦效果與線上推薦效果存在偏差,導致最終的推薦效果無法達到全局最優。但離線收集的交互數據仍然具有一定的價值,依然可以用于指導交互式推薦系統進行訓練。此外,強化推薦還面臨動作空間大的問題,這嚴重影響推薦系統的效率和準確率。利用離線數據可為交互式推薦系統提供合適的候選集,減少動作空間,進而有效緩解上述問題。綜上所述,離線數據可以為決策初始化一個合適的方向并制定合適的候選集,從而保證強化推薦系統的啟動效果,最終獲得一個優秀的策略。

基于以上思路,本文提出一種知識增強策略引導的交互式強化推薦系統,嘗試將包含用戶交互行為的知識圖譜和深度強化學習算法結合,以解決上述問題。具體來說,本文基于深度策略網絡提出了一種改進的知識增強策略引導的交互式強化推薦模型KGP-DQN(knowledge graphbased policy-guided DQN)。KGP-DQN包含3個模塊:一是行為知識圖譜表示模塊,該模塊構建行為知識圖譜,利用圖卷積網絡(graph convolutional network,GCN)和循環神經網絡對用戶狀態進行表示;二是策略初始化模塊,該模塊利用圖卷積網絡擬合用戶的歷史行為,為強化推薦生成初始化價值;三是候選集篩選模塊,該模塊利用物品的圖表示進行動態聚類,生成候選集,縮小動作空間。

首先,KGP-DQN為了緩解反饋的稀疏性,將用戶反饋和知識圖譜結合,構建行為知識圖譜,使用戶的偏好在知識圖譜中的相關項之間傳遞,使一個交互記錄可以影響多個與之相連的物品,從而有效解決反饋稀疏性問題。其次,KGP-DQN通過行為知識圖譜獲得用戶和物品的表示,并利用相關表示離線訓練策略初始化網絡,之后將策略初始化網絡與強化推薦網絡結合,使得推薦系統在在線訓練時不需要從零學習,從而使整個強化推薦系統在在線訓練的初期也能有良好的表現。最后,本文構建了候選集篩選模塊來處理動作空間大的問題,根據初始化網絡得到的物品表示對物品進行動態聚類,并在每一次推薦時依據初始化網絡的結果對候選集進行篩選,使強化推薦Q網絡可以更好地對結構表示相近的物品進行辨別,從而更好地提升推薦性能。

本文的貢獻總結如下。

● 構建行為知識圖譜,考慮圖信息傳播后物品之間的相關項,結合圖卷積網絡和門控循環單元(gated recurrent unit,GRU)學習物品與用戶的先驗表示,解決反饋稀疏的問題。

● 構建策略初始化模塊對推薦系統的強化訓練進行初始化,降低從零學習在前期對用戶體驗的影響。

● 構建候選集篩選模塊,根據物品的圖表示進行動態聚類,生成推薦的候選集,有效地解決強化推薦中動作空間大的問題。

● 在3個真實數據集上設計了多組實驗,實驗結果表明,KGP-D QN可以在進行較少的交互輪次后達到很好的推薦性能,并且在訓練初期也能有不錯的表現。

1 相關工作

1.1 經典推薦算法

協同過濾算法[6]利用用戶之間、物品之間的相似性來推薦物品;因子分解機算法[7]考慮通過特征之間的高階組合來學習推薦策略,這些方法雖然取得了一定的成功,但是它們忽視了用戶歷史物品之間的時序關系?;贕RU的推薦方法[8]對用戶的歷史交互物品的序列關系進行建模并取得了不錯的成就,深度興趣網絡(deep interest network,DIN)[9]在序列建模的基礎上加入了注意力機制,從而進一步提升了推薦效果。然而,上述方法都是單步式的推薦,它們的優化目標均為最大化及時反饋,沒有考慮用戶的長期體驗,為了進一步優化用戶的長期體驗,研究人員將深度強化學習引入推薦系統。

1.2 基于強化學習的推薦算法

Mahmood T等人[2]利用策略迭代的方法尋找最優策略。近幾年,人們越來越多地使用基于模型的強化學習算法解決推薦問題?;谀P偷膹娀扑]算法可以分為3類:基于策略梯度的推薦算法、基于DQN的推薦算法和基于深度確定性策略梯度(deep deterministic policy gradient,DDPG)的推薦算法?;诓呗蕴荻鹊耐扑]算法直接對整個物品空間學習一個分布,并根據這個分布采用動作,從而完成推薦[10]?;贒QN的推薦算法為每一個物品計算一個Q值,之后選擇Q值最大的物品作為最后的推薦物品。近幾年,越來越多的研究人員喜歡基于DQN的強化推薦算法。Zheng G J等人[11]將DQN算法和DBGD(dueling bandit gradient descent)結合,用來解決新聞推薦的問題。Zou L X等人[12]在建模用戶行為時將用戶行為分為意圖行為(點擊、購買)和長期行為(停留時長、重新訪問),再利用DQN算法解決推薦問題。Zhao X Y等人[3]將推薦中的負反饋也考慮進用戶狀態標志中,之后再利用DQN解決推薦問題?;贒DPG的推薦算法[13]將物品用一個連續向量表示。其中,動作家直接輸出物品的向量表示,評論家則對這個物品進行打分。然而上述推薦方法忽視了用戶之間、物品之間的相關性,并且推薦系統的反饋稀疏問題導致推薦策略效果不理想。為了充分考慮用戶之間、物品之間的關聯,在一定程度上解決反饋稀疏的問題,研究人員將知識圖譜引入強化推薦系統。

1.3 基于知識圖譜的強化推薦算法

基于知識圖譜的強化推薦算法可以分為兩類:基于知識圖譜推理的算法和基于知識圖譜表示的算法?;谥R圖譜推理的強化推薦算法通過在知識圖譜上根據用戶的歷史行為進行圖上推理,為用戶推薦最可能喜歡的物品。Xian Y K等人[14]提出策略引導路徑推理(policyguided path reasoning,PGPR)方法,利用知識圖譜進行明確的推理,從而進行推薦?;谥R圖譜表示的強化推薦算法通過圖卷積網絡等技術,對知識圖譜上的物品節點進行表示,并利用這個表示進行推薦。Zhou S J 等人[4]提出KGQN(knowledge graph enhanced Q-learning framework for interactive recommendation)方法,利用圖卷積網絡學習知識圖譜中的物品表示,進而對用戶進行表示,然后利用這些表示進行推薦。Wang P F 等人[5]提出KERL(knowledgeguided reinforcement learning)框架,該框架在深度強化推薦中利用知識圖譜增強狀態表示,從而達到更好的推薦效果。

雖然現有的基于知識圖譜的強化推薦算法在一定程度上解決了強化推薦中的反饋稀疏問題,但是,它們仍面臨動作空間大、從零學習影響用戶體驗等問題。為了解決這些問題,Dulac-Arnold G等人[13]提 出利用k近鄰(k-n e a r e s t neighbor,KNN)算法解決動作空間大的問題。Zhou S J 等人[4]提出在利用圖網絡解決反饋稀疏問題的同時,采用二跳節點來約束候選集,并在推薦初期采取基于流行度的策略進行推薦。但是,目前的強化推薦算法沒有有效地利用用戶的歷史交互信息,仍無法在推薦前期為用戶提供符合用戶個性化偏好的策略,會嚴重影響用戶體驗。本文通過將知識圖譜與用戶歷史行為結合,構建行為知識圖譜表示模塊、策略初始化模塊、候選集篩選模塊,從而解決現有強化推薦系統反饋稀疏、從零學習影響用戶體驗以及動作空間大的問題。

2 問題定義和建模

在交互式推薦系統中,推薦系統根據用戶的歷史行為為用戶推薦可能喜歡的物品,用戶接收推薦后做出反饋(購買、點擊等行為),這個交互過程會一直持續到用戶離開推薦系統。

傳統的推薦算法在處理交互式推薦時只關注優化及時獎勵,這導致在交互式推薦場景下不利于用戶的長期體驗。本文將交互式推薦系統建模為馬爾可夫決策過程,利用與深度強化學習相關的算法解決上述問題。如圖2所示,在強化交互式推薦場景下,對應的各個組件如下。

圖2 強化推薦框架

● 環境:所有用戶和物品的信息。

● 智能體:推薦系統。

● 狀態:訪問推薦系統的用戶的特征以及該用戶訪問過的物品的特征。

● 獎勵:用戶的反饋,如點擊次數、瀏覽時間、回歸時間等。

● 動作:推薦物品。

● 目標:最大化累積獎勵。

本文將按照上述設定建模交互式推薦系統,并提出KGP-DQN模型來解決強化交互式推薦中存在的反饋稀疏、從零學習影響用戶體驗、動作空間大的問題。

3 KGP-DQN模型

下面將詳細介紹本文提出的KGPDQN模型。

KGP-DQN模型整體流程如圖3所示,當用戶訪問推薦系統時,將用戶的離線數據用圖譜的形式進行表示,并將該行為圖譜與知識圖譜結合生成行為知識圖譜,利用圖卷積網絡和循環神經網絡生成用戶的序列表示和物品的節點表示。根據物品的節點表示對整個物品空間進行動態聚類,從而生成候選集。根據用戶的序列表示對候選集中的物品進行聚類,從而生成初始策略。針對候選集中的物品,根據初始策略生成最終的推薦方案。

圖3 KGP-DQN模型整體流程

KGP-DQN模型示意圖如圖4所示。KGP-DQN模型包含3個關鍵模塊:一是行為知識圖譜表示模塊,該模塊利用行為知識圖譜對用戶的狀態進行表示,以解決反饋稀疏問題;二是策略初始化模塊,該模塊生成初始化策略用于引導強化網絡訓練,以解決從零學習影響用戶體驗的問題;三是候選集篩選模塊,該模塊生成物品數量較小的候選集,以解決動作空間大的問題。

圖4 KGP-DQN模型示意圖

為了便于闡述和理解KGP-DQN模型,本文使用一些符號來進行簡化,相關符號及其說明見表1。

表1 符號及其描述

3.1 行為知識圖譜表示模塊

為了解決強化推薦系統中的反饋稀疏問題,KGP-DQN構建了行為知識圖譜表示模塊。首先,該模塊將用戶歷史行為與知識圖譜G=(E,R)結合,將用戶構建成節點并加入圖譜中,之后將用戶交互歷史中的物品節點與用戶節點相連,從而得到邊類型為用戶-物品-屬性的、包含行為信息的知識圖譜。

本文將該包含行為信息的知識圖譜命名為行為知識圖譜G′ = (E′,R′),并利用該圖譜學習用戶和物品的表示。在交互式推薦系統中,用戶的交互行為代表了用戶的偏好,因此該模塊利用用戶的歷史交互行為得到用戶的表示。對于每一個候選物品,先獲取其向量表示it∈Rd,其中d表示向量表示的維度。之后,利用圖卷積網絡對圖譜中的節點信息進行傳播,從而獲得更好的物品表示。

行為知識圖譜表示模塊利用多層圖卷積網絡學習圖中的節點表示,每一層的計算步驟如下。

對于每一個節點,行為知識圖譜表示模塊計算其鄰居表示:

其中,N(h)表示節點的鄰居。之后,行為知識圖譜表示模塊利用鄰居表示對節點本身的表示進行更新:

其中,Wk和Bk是可學習的網絡參數,σ是激活函數,為節點h第k次傳播后的表示。這里選擇ReLU函數,計算式為ReLU=max(0,x)。通過多層的圖卷積網絡計算后,行為知識圖譜表示模塊得到知識圖譜上物品的節點表示it和用戶的節點表示tu。用戶歷史信息代表了用戶偏好且歷史信息是一個序列化的信息,因此行為知識圖譜表示模塊通過循環神經網絡利用用戶的近期歷史信息對用戶進行表示。行為知識圖譜表示模塊引入GRU神經網絡來建模用戶的表示。每個GRU的細胞單元更新如下:其中,zt和tr分別表示更新門和重置門的輸出向量,W和U表示網絡的權重矩陣,b表示網絡的偏置矩陣,σ表示激活函數,?表示點乘操作。隱藏層表示th的更新采用線性結合方式,將前一次計算得到的th和本次更新的新隱藏層候選ht1-結合。隱藏層表示th被看作t時刻用戶的向量表示,這種表示是一種帶有序列特征的表示。之后,隱藏層表示向量th會被輸入強化Q網絡中。為了簡化表達式,該部分的所有網絡參數被表示成sθ,包括卷積神經網絡部分和GRU部分。

在圖4中,行為知識圖譜表示模塊將用戶歷史交互物品的節點表示ti輸入GRU,得到GRU的隱藏層表示th并將其作為用戶的序列表示;其中,關于這部分的網絡參數sθ如何進行訓練的問題,會在第3.4節進行介紹。通過行為知識圖譜表示模塊,KGPDQN得到的物品表示是包含知識圖譜鄰居信息的,從而有效緩解了反饋稀疏的問題。

3.2 策略初始化模塊

為了解決從零開始訓練導致的前期對用戶體驗帶來嚴重影響的問題,本文構建了策略初始化模塊。該模塊利用用戶的歷史交互數據,生成初始化策略,為推薦系統提供先驗策略,從而指導推薦系統進行訓練,并保證推薦系統在推薦初期也會有不錯的效果。策略初始化模塊利用行為知識圖譜,通過對用戶的歷史行為進行學習,得到可以代表用戶對候選物品的喜歡程度的物品初始價值,并依據這個初始價值對強化推薦提供指導。策略初始化模塊利用圖卷積網絡對行為知識圖譜上的用戶和物品節點進行表示,圖卷積網絡具有節點傳播的特點,因此該表示可以體現出用戶對物品及其相關屬性的偏好,并且該表示包含了一定的結構信息。得到該表示后,策略初始化模塊搭建全連接網絡,根據用戶的歷史行為學習用戶對物品的興趣:

其中,W表示全連接網絡的權重矩陣,b表示神經網絡的偏置矩陣,L表示全連接層得到的隱層表示,concat(i,u)表示將用戶表示和物品表示以拼接的方式結合,V表示最終得到的物品初始價值。為了便于進一步說明,將興趣表示為Vu,i=P(u,i)。

在圖4中,策略初始化模塊將行為知識圖譜表示模塊構建的行為知識圖譜作為輸入,通過圖卷積網絡學習用戶的表示,不同于行為知識圖譜表示模塊得到的用戶序列表示,該表示被認為包含更多結構特征。之后,該模塊根據用戶的節點表示i和物品的節點u得到用戶對某一物品的興趣價值Vu,i,并根據該興趣價值為推薦系統初始化策略。策略初始化模塊與強化推薦系統的結合方式以及策略初始化模塊進一步的訓練方式將在第3.4節介紹。通過策略初始化模塊,KGP-DQN得到了候選物品的初始化價值,該價值在推薦前期作為推薦的指導,從而緩解強化推薦從零學習導致的用戶體驗降低問題。

3.3 候選集篩選模塊

為了解決動作空間大的問題,本文構建了候選集篩選模塊。該模塊選擇使用在策略初始化模塊得到的物品的節點表示i進行動態聚類,即在整個推薦流程中每推薦τ次,對整個物品空間進行一次重新聚類,本次聚類的初始化類中心為τ-1次聚類的聚類中心。采用動態聚類的原因是在推薦過程中,物品在圖譜中的表示會隨著用戶交互行為的增加而變化,定時的重新聚類可以保證候選集篩選模塊適應這些變化,更好地根據物品本身的特征以及用戶對物品的行為來生成最優的候選集。

該模塊選擇k-means聚類作為候選集篩選模塊中的聚類方式,具體流程如算法1所示。完成聚類后,將類中心的表示以及用戶的節點表示輸入策略初始化模塊中,得到用戶對每一個簇的興趣價值,選擇興趣價值最高的簇作為用戶的基本候選集。同時,從該簇之外的其他簇中隨機采樣一定數量的物品,并將其加入基本候選集中得到最終的候選集。本文認為通過候選集篩選模塊得到的候選集中包含的物品是用戶最感興趣的一批物品,同時,由于這批物品的表示比較相似,模型在該候選集中學習的時候,也可以學習到物品之間的一些更具有代表性的特征,從而進一步提升推薦的效果。本文將候選集篩選模塊表示為I=I′(G′,u)。

算法1:候選集篩選

輸入:物品的表示e

輸出:候選集It

隨機化n個聚類中心

重復以下步驟直到收斂:

對于每一個物品,計算它屬于的類

對于每一個類,計算類中心

在圖4中,候選集篩選模塊利用策略初始化模塊生成的物品表示進行動態聚類,將類中心的表示與用戶序列表示輸入策略初始化模塊中,得到初始興趣價值并以此選擇候選集。最后,每推薦τ次,候選集篩選模塊就會對整個物品空間進行重新聚類,以得到新的候選集。通過候選集篩選模塊,KGP-DQN將整個候選集空間分割成n個子候選集,其中每個子候選集中的物品數量遠小于整個候選集中的物品數量,從而有效解決了強化推薦動作空間大的問題。

3.4 強化Q網絡推薦

獲得用戶表示、候選集以及用戶的初始興趣后,本文構建了強化推薦模塊。該模塊設計了一個Q網絡來結合這些信息以及訓練前文提到的模塊,從而更好地提升推薦系統的性能。該模塊使用double-DQN[15]訓練整個推薦系統。

該模塊通過試錯的方式訓練模型的參數。在交互式推薦系統的過程中,推薦系統在接收到用戶的表示后,將策略初始化輸出的初始價值與Q網絡輸出的Q值結合,得到最終的價值Q′:

其中,α為策略初始化模塊和強化推薦模塊的結合參數。然后通過ε貪心算法推薦物品(以概率ε隨機推薦,以(1-ε)的概率按照最大的Q′價值推薦候選集中的物品)。完成推薦后,推薦系統獲得用戶的反饋,并將該反饋作為獎勵。之后,這次推薦會以經驗的方式存儲在記憶庫中。每次更新時,Q網絡會從記憶庫中采樣一部分經驗,使用均方誤差損失函數對Q網絡進行更新,同時也會對策略初始化表示進行更新。

其中,θq、θp分別表示Q網絡和策略初始化網絡的參數,yt是根據最優Q值計算出的目標值。

其中,γ表示強化學習中獎勵的折扣因子。

為了解決傳統DQN過估計的問題,該模塊在使用評價Q網絡的同時使用了一個目標Q網絡。評價Q網絡進行正常的反向傳播并在每個訓練步更新自己的參數;目標Q網絡是評價Q網絡的一個復制,每隔一定的訓練步長會根據評價Q網絡的參數進行更新。

在圖4中,強化Q網絡推薦模塊將行為知識圖譜表示模塊得到的用戶序列表示和物品表示作為輸入,利用策略初始化模塊對候選集篩選模塊得到的候選集中的每個物品計算初始價值,再將初始價值與Q網絡的輸出結合,從而得到最終的價值。

KGP-DQN的整體訓練流程如算法2所示。本文提出的KGP-DQN主要關注如何利用知識提高交互式推薦系統的采樣效率,并在推薦前期為用戶提供一個較好的策略。KGP-DQN模型中的強化學習算法可以被其他強化學習算法代替。

算法2:訓練KGP-DQN

輸入:D、α、τ、ε

輸出:θq、θp、θs

重復以下步驟直到收斂:

對于一個用戶u,推薦T次

根據用戶交互歷史ot,得到用戶

序列表示st

● 根據行為圖譜,得到ut、it

● 得到候選集I=I′(G′,u)

得到初始價值Vu,i=P(ut,it;θp)

得到Q價值Q=Q(s t,it;θq)

得到最終價值Q′ =αQ+(1-α)V

根據Q′按照ε貪心策略進行推薦

● 獲得用戶的反饋rt

如果rt>0,將i加入用戶交互歷史

將(it,ot,rt,ot+1,It)存入D中

從D中隨機采樣一部分數據

根 據ot、ot+1得到用戶表示st、st+1

● 得到yt

通過SGD方法更新θq、θp、θs

● 更新θq′

4 實驗結果及分析

4.1 數據集

本文使用3個真實數據集來測試KGPDQN模型是否有效。

● MovieLens-1m數據集:包含986 495條數據,這些數據的評分從1到5。本文根據數據中的電影從TMDB網站進行爬蟲,爬取電影的類型、導演、職員等15種屬性,從而得到電影的知識圖譜。對于MovieLens-1m數據集,本文將評分高于3.5分的數據作為正樣本,標簽為1;將評分低于3.5分的數據作為負樣本,標簽為0。

● Last.fm數據集:包含76 693條數據,這些數據沒有評分信息。本文利用數據集中的物品屬性信息構建知識圖譜,共有33個屬性。對于Last.fm數據集,本文將所有存在交互行為的樣本作為正樣本,標簽為1;將隨機采樣無交互行為的樣本作為負樣本,標簽為0。

● Yelp數據集:包含1 368 606條交互數據,這些數據沒有評分信息。本文利用數據集中的物品屬性信息構建知識圖譜,共有590個屬性。對于Yelp數據集,本文將所有存在交互行為的樣本作為正樣本,標簽為1;將隨機采樣無交互行為的樣本作為負樣本,標簽為0。

數據集統計信息見表2。

表2 數據集統計

4.2 在線環境模擬

由于交互式推薦問題的交互性,筆者希望推薦系統可以進行在線學習,因此構建了一個模擬器用來模擬在線環境。

本文利用矩陣分解[16]算法訓練用戶和物品的表示。對于MovieLens-1m數據集,本文將評分歸一化到[-1,1]區間內,然后將這個評分作為推薦系統的獎勵;對于Last.fm和Yelp數據集,本文將正樣本評分置為1、負樣本評分置為-1進行訓練,然后將這個評分作為推薦系統的獎勵。最后,環境模擬器的輸出為[-1,1]區間的一個評分。

對于每一個數據集,本文將每個用戶的行為取前80%的數據作為訓練集,后20%作為測試集。

4.3 評價指標

由于交互式推薦的目標是最大化獎勵,本文直接將獎勵作為一個評價指標。獎勵可以表示用戶對推薦結果的滿意度。

其中,T為一次會話內的推薦次數,為強化學習中獎勵的折扣因子,為當前狀態下推薦it的即時獎勵,#users為用戶的數量。

同時,本文也將準確率和召回率作為評價指標。

準確率為:

召回率為:

其中,#preferences表示用戶交互數據中所有環境反饋為正向的物品總數。T取值35,后文中的準確率為Precision@35,召回率為Recall@35。

對于推薦物品,如果用戶的評分大于一定閾值,則θhit=1;反之,θhit=0。對于MovieLens-1m數據集、Last.fm數據集和Yelp數據集,本文將這個閾值設置為0。

4.4 對比方法

本文將KGP-DQN模型與4種代表性算法進行對比,其中協同過濾是非常有代表性的傳統推薦算法,GRU4REC(gated recurrent unit for recommendations)是經典的序列推薦算法,DQNR(deep Q-net recommendations)是非常有代表性的基于強化學習的推薦算法,KGQN是非常有代表性的將知識圖譜和強化學習結合的推薦算法。

● 協同過濾[6]算法是一種經典的基于用戶相似度的推薦算法。在交互式推薦場景中,本文利用用戶交互過的物品進行用戶相似度對比,選擇相似度最高用戶的評分最高物品作為被推薦的物品。

● GRU4REC[8]是一種經典的基于循環神經網絡的推薦算法,常被用于解決序列推薦問題。該算法利用用戶的交互歷史,考慮歷史中的順序關系,通過GRU神經網絡預測用戶可能喜歡的下一個物品。

● DQNR[11]是一種基于DQN的推薦算法。它利用神經網絡構建Q函數,在給定狀態下通過該函數預測每個物品的價值。最后選擇價值最高的物品作為推薦結果。

● KGQN[4]是一種將知識圖譜與DQN推薦結合的算法。該算法利用知識圖譜解決交互式推薦系統中的反饋稀疏問題。它利用知識圖譜學習物品的表示,通過GRU進一步學習用戶序列特征,最后設計Q值函數,從而推薦Q值最高的物品。

● KGP-DQN模型是本文提出的知識增強策略引導的交互式強化推薦模型。

4.5 參數設置

在KGP-DQN中,本文將GCN的層數設置為2,所有模型輸出的表示維度都設置為64。將GCN之后的全連接網絡設置為兩層,采用ReLU激活函數。將初始化策略與強化策略結合的參數α設置為0.5,動態聚類的類別數n設為15,本文將在第4.9節對這兩個參數的選擇進行具體的說明。其他參數采取隨機初始化的方法。所有參數在訓練時都采用Adam優化器。本文使用PyTorch實現模型,并在一塊NVIDIA GTX 1080Ti GPU上訓練網絡。

4.6 總體性能對比

所有模型的性能對比結果見表3。本文得出了如下結論。

表3 所有模型的性能對比

● 對比方法具有明顯提升。這證明了利用歷史交互數據為強化推薦進行學習指導的有效性。

● DQNR、KGQN、KGP-DQN等強化方法相對其他方法在獎勵上有明顯提高,表明強化推薦方法更能提升用戶的體驗。KGP-DQN獲得的獎勵最高,表明本文方法對提升用戶體驗具有明顯的效果。

● 與協同過濾算法和GRU4REC算法相比,KGP-DQN模型在獎勵上有顯著提高,這說明采用深度強化學習建模交互式推薦系統對提升用戶體驗具有顯著效果。

● 與DQNR算法相比,KGP-DQN模型在獎勵和準確率上都獲得了提升,這說明將知識圖譜引入強化推薦系統能有效提升推薦系統的性能。

● 與KGQN算法相比,KGP-DQN模型在獎勵和準確率上都獲得了提升,這說明在引入知識圖譜的基礎上充分利用用戶的歷史數據可以顯著提升推薦系統的性能。

● 對比MovieLens-1m和Last.fm數據集,在MovieLens-1m數據集下,KGPD Q N模型的性能提升較高,這是因為MovieLens-1m數據集的交互矩陣更稠密,使得策略初始化模塊可以更好地根據歷史信息學習用戶的偏好。

4.7 模型效率對比

本文的一個出發點是解決強化推薦從零開始學習帶來的用戶體驗降低問題,并提升強化推薦的采樣效率。KGP-DQN模型、DQNR、KGQN算法在MovieLens-1m數據集、Last.fm數據集和Yelp數據集上的獎勵隨迭代次數的變化曲線如圖5所示,其中橫軸表示訓練的步數,縱軸表示當前訓練步下模型得到的獎勵值。從圖5可以看出:知識圖譜的引入有助于提升模型訓練的速度。由于加入了策略初始化模塊,KGP-DQN模型在強化訓練初期獎勵值較高,且會在較短的訓練步長下達到最優。

圖5 模型效率對比

4.8 不同模塊的影響

本節分析了模型的不同模塊對模型總體性能的影響。在KGP-DQN模型中,本文提出了3個重要的模塊:行為知識圖譜表示模塊、策略初始化模塊、候選集篩選模塊。消融實驗結果見表4,其中,KGPDQN-kg表示去掉行為知識圖譜表示模塊,KGP-DQN-pg表示去掉行為策略初始化模塊,KGP-DQN-cs表示去掉候選集篩選模塊。(-%)表示各方法相對KGPDQN的性能下降率。

由表4可以得出以下結論。

表4 消融實驗結果

● 行為知識圖譜表示模塊對整體結果影響較大。這是因為該模塊引入了行為知識圖譜并利用GCN和GRU神經網絡對用戶表示進行建模。GCN考慮了物品之間的結構關系,將用戶對物品的反饋傳播到相鄰的物品上,有效解決了反饋稀疏問題;GCN則充分考慮了物品之間的序列關系,二者結合得到了更好的狀態表示。

● 策略初始化模塊對整體性能也有重要的影響。這是因為該模塊一方面為推薦系統的學習提供先驗方向,解決了強化推薦從零學習的問題,并指導推薦系統更好地學習;另一方面利用了用戶的結構信息,使得推薦系統可以更全面地對用戶特征進行建模。

● 候選集篩選模塊對推薦性能的提升也有一定的幫助。通過縮小候選集解決動作空間大的問題,一方面使候選物品中的噪聲有所減少,從而幫助模型更好地學習;另一方面,對相似樣本進行區分,更有利于模型學習。

4.9 參數分析

本節分析KGP-DQN模型的不同超參數對模型的影響,包括將初始化策略與強化策略結合的參數α對推薦準確率的影響,以及候選集篩選模塊中的動態聚類類別數n對推薦準確率的影響。最終的結果如圖6和圖7所示。

從圖6和圖7可以看出,對于結合參數α,當α=0.5時,效果最好;對于動態聚類類別數n,當n=15時,效果最好。因此,本文選擇α=0.5和n=15作為KGP-DQN模型的超參數,并對這兩個超參數的影響進行進一步分析。

圖6 結合參數的影響

圖7 聚類類別數的影響

● 對動態聚類類別數的影響:類別少時,候選集中噪聲較多,不利于模型進行學習;類別多時,候選集中無法包含用戶的喜好物品的概率更大。

● 對結合參數的影響:當參數更偏向強化輸出Q值時,策略初始化模塊無法為強化推薦網絡提供較強的初始化策略,導致性能受到影響;當參數更偏向策略初始化模塊輸出的價值時,由于缺少強化推薦網絡可以建模長期獎勵的優點,模型的性能會受到影響。

4.10 動態聚類分析

本節分析KGP-DQN模型每推薦τ次更新聚類結果對模型的影響。下面分別從定量和定性的角度進行分析。

本實驗利用DBI(Davies-Bouldin)指數[17]評價動態聚類效果。由表5可以看出,隨著推薦過程的進行,候選集篩選模塊動態聚類的效果會逐步提升。

表5 動態聚類的DBI指數

聚類后的類別分布可視化情況如圖8所示。從圖8可以看出,隨著訓練的進行,原來分布邊界不明確的類別的分布邊界會變得更明確,如MovieLens-1m中的紅色類、Last.fm的橙色類以及Yelp中的紫色類。

圖8 聚類結果變化

5 結束語

本文提出一種知識增強策略引導的交互式強化推薦模型KGP-DQN。該模型構建行為圖譜表示模塊,該模塊構建行為知識圖譜,利用GCN和GRU對用戶表示建模,從而解決稀疏反饋的問題;構建策略初始化模塊,該模塊利用行為知識圖譜上的節點表示,從用戶行為歷史中學習初始化價值,從而解決從零學習影響用戶體驗的問題;構建候選集篩選模塊,該模塊利用物品的節點表示進行動態聚類以生成物品數量較少的候選集,從而解決動作空間大的問題。實驗結果驗證了本文提出的模型的有效性,即KGPDQN在提升訓練速度的同時也保證了推薦準確率。相比現有工作在推薦前期采取基于流行度的推薦方法,本文提出的KGP-DQN模型在推薦前期仍可以個性化地為用戶進行推薦,從而提升用戶的體驗。在后續的工作中,本文考慮利用遷移強化學習中的策略重使用等方法結合策略初始化模塊和Q網絡推薦模塊,并嘗試使用更先進的聚類方法構建候選集篩選模塊。

猜你喜歡
圖譜聚類物品
高清大腦皮層發育新圖譜繪成
基于圖對比注意力網絡的知識圖譜補全
稱物品
“雙十一”,你搶到了想要的物品嗎?
繪一張成長圖譜
誰動了凡·高的物品
面向WSN的聚類頭選舉與維護協議的研究綜述
基于高斯混合聚類的陣列干涉SAR三維成像
主動對接你思維的知識圖譜
基于Spark平臺的K-means聚類算法改進及并行化實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合