做者|高崇銘、雷文強等 web
來源|社媒派SMP面試
背景介紹
推薦系統爲工業界帶來了巨大的收益。大多數推薦系統都是以靜態的方式工做,即從用戶歷史的交互中來推測用戶的興趣愛好從而作出推薦。然而,這樣的方式有缺陷,具體來講,兩個較重要的問題沒法被解答:1)用戶目前具體喜歡什麼?2)用戶爲何喜歡一個商品?
對話推薦系統(Conversational Recommender Systems,CRSs)的出現,從根本上解決這個問題。其打破了傳統靜態的工做方式,動態地和用戶進行交互,得到用戶的實時反饋,進而向用戶作出心儀的推薦。此外,藉助天然語言的這一工具,CRSs 還能夠靈活地實現一系列任務,知足用戶的各類需求。
本文將總結 CRSs 中的五個任務梳理其難點。最後本文對 CRSs 將來的科研方向進行了探討和展望。
論文標題:算法
Advances and Challenges in Conversational Recommender Systems: A Survey安全
論文連接:微信
https://arxiv.org/abs/2101.09459網絡
論文做者:架構
高崇銘(中國科學技術大學),雷文強(新加坡國立大學),何向南(中國科學技術大學),Maarten de Rijke(荷蘭阿姆斯特丹大學),Tat-Seng Chua(新加坡國立大學)app
注:本文根據 tutorial [1] 深度擴展。
CRSs的定義與架構
▲ 圖1. CRSs的架構機器學習
目前,CRSs 尚未主流、統一的定義。本文將 CRS 定義爲:能經過實時的多輪對話,探出用戶的動態喜愛,並採起相應措施的推薦系統(「A recommendation system that can elicit the dynamic preferences of users and take actions based on their current needs through real-time multiturn interactions using natural language.」)。
其架構能夠用三個模塊來組成,其中一個用戶接口模塊(User Interface)負責直接與用戶進行交互;一個推薦引擎(Recommender Engine)負責推薦工做;還有一個最爲核心的對話策略模塊(Conversation Strategy Module)負責統籌整個系統的任務、決定交互的邏輯。本文總結了五個具備挑戰的任務和研究方向,分別對應到這三個模塊中。
3.1 CRSs與傳統推薦系統的區別
傳統推薦系統是靜態的:其從用戶的歷史交互信息中來估計用戶偏好。而 CRSs 是動態地與用戶進行交互,在模型有不肯定的地方,能夠主動諮詢用戶。故 CRSs 能解決傳統推薦系統作不到的一些事兒。
一方面,傳統推薦系統不能準確的估計用戶目前具體喜歡什麼東西(What exactly does a user like?)這是因爲用戶的歷史記錄一般很稀疏,並且充滿噪聲。舉例來講,用戶可能作出錯誤決策,從而購買過一個不喜歡的東西。且用戶的喜愛是會隨着時間改變的。
另外一方面,傳統推薦系統不能得知爲何用戶喜歡一個東西(Why does a user like an item?)舉例來講,用戶可能因爲好奇購買一個東西,可能因爲受朋友影響購買一個東西。不一樣理由下的購買,其喜愛動機和程度都是不同的。
受益於 CRSs 的交互能力,CRSs 能解決傳統推薦系統作不到的以上兩點內容。系統在不肯定用戶具體偏好,以及爲何產生該偏好時,直接向用戶詢問便可。
3.2 CRSs與交互式推薦系統的區別
交互式推薦系統能夠視爲 CRSs 的一種早期雛形,目前仍然有交互式推薦系統的研究。大多數交互式推薦系統,都遵循兩個步驟:1)推薦一個列表;2)收集用戶對於該推薦的反饋。而後往復循環這兩個步驟。
然而這並非一種好的交互模式。首先,這種交互太單調了,每輪都在循環推薦和收集反饋,很容易讓用戶失去耐心;其次,一個好的推薦系統應該只在其置信度比較高、信心比較充足的狀況下進行推薦;最後,因爲商品的數量巨大,用推薦商品的方式來了解用戶的興趣喜愛,是低效的。
而 CRSs 引入了更多的交互模式。例如,其能夠主動問用戶問題,例如問關於商品屬性的問題:「你喜歡什麼樣顏色的手機?」「你喜歡關於搖滾類樂曲嗎?」豐富的交互模式克服了交互式推薦系統的三個問題,用更高效的方式來進行交互,從而快速得到用戶的興趣愛好,在信心比較充足的狀況下,才做出推薦。
3.3 CRSs與任務型對話系統的區別
二者沒有本質上的區別,然而二者在目前的實現方式和側重點上有差別。目前,大多數任務型的對話系統,主要關注點仍是天然語言處理的任務,而非檢索、推薦任務。任務型對話系統也有一個對話策略(Dialog Policy)模塊做爲核心模塊來進行任務的統籌和規劃,但因爲其側重對話自己,其訓練和工做方式仍是以從人類的文本(訓練集)中擬合特定模式爲主,同時加入知識圖譜等信息做爲輔助,來進行監督學習式訓練,最終使得系統能生成流暢合理的天然語言以回覆用戶以完成某一特定任務。
有學者在實驗探究中發現,用基於任務型對話系統實現的對話推薦,存在一些問題 [2]。首先系統「生成」的對話,並非真正意義上的生成,全部詞彙、句子都在以前的訓練文本中出現過。並且,這種方式產生的推薦,質量並不使人滿意。
相比較任務型對話系統,CRSs 關注的重點並不在於語言,而是推薦的質量。CRSs 的核心任務,仍是利用其交互的能力去千方百計得到用戶喜愛,作出高質量體檢。與此同時,CRSs 的輸入輸出能夠用基於規則的文本模版來實現。固然,這並不表明語言不重要。隨着技術的的發展迭代以及學者們研究方向的重合,不一樣領域的差距將愈來愈小。
重要的研究方向
CRSs 的一項重要功能,是實時地向用戶進行提問,以得到用戶的動態偏好。這其中,各式方法能夠分爲兩個類。一是詢問商品,即收集用戶對推薦商品自己的喜愛;二是詢問用戶對商品屬性的偏好,例如「你喜歡搖滾類的音樂嗎?」一個基於路徑推理的 CRS 示意圖以下。原文表 1 總結了各類 CRSs 的工做原理。更多細節請看原文。
▲
圖2. 一個基於路徑推理的CRS工做示意圖(來源[3])
CRSs 的一個核心任務是關注如何問問題,即何時問問題,何時作推薦。本文總結了集中模式,包括「問一輪推一輪」、「問 X 輪推一輪」,「問 X 輪推 Y 輪」幾種方式。其中 X 和 Y 可固定或由模型決定。圖 3 給出了一個「問 X 輪推 Y 輪」的 CRS 模型示意圖。
除了提問之外,CRSs 也可考慮其餘多輪對話策略,如加入閒聊以增長趣味,或者加入說服,協商等多樣化的功能以進一步引導對話。原文表 2 總結了 CRSs 的多輪對話策略。
▲
圖3. CRS中的多輪對話策略示意圖 (來源[4])
處理用戶多樣化的輸入以及靈活的輸出,也是 CRSs 中的一大挑戰。目前的 CRSs 多數仍是以基於提早標註的輸入以及基於模版的輸出爲主,少數 CRSs 以對話系統的模式出發來考慮直接處理天然語言和生成天然語言。這是由於 CRSs 的主要目標仍是保證推薦的質量,而非語言處理能力。原文表三總結了兩個分類下的部分工做。
探索與深究是推薦系統中一個重要的研究方向,也是處理冷啓動用戶的一個有效手段。探索意味着去讓用戶嘗試以往沒有選擇過的商品,而深究則是利用用戶以前的喜愛繼續推薦。前者冒着用戶可能不喜歡的風險,但能探索到用戶一些額外的喜愛;後者則安全保險,但一直陷入在已知的局部偏好中,不去改變。
這就如同經典的多臂老虎機問題(Multi-armed Bandit, MAB),如圖 4,一個賭徒能夠選擇多個老虎機的搖桿進行下拉。每一個搖桿 下拉後的收益指望 μ 是能夠根據屢次實驗估計出來的,但因爲實驗次數有限,對收益的估計存在不肯定性 。若要追求全局最優勢,便須要從嘗試新搖桿(Exploration)與選擇目前已知的高收益搖桿(Exploitation)這二者中不斷交替權衡,從而達到長期的高收益。
因爲 CRSs 和交互式推薦系統同樣,均可以實時地得到用戶的反饋,因而 MAB 問題以及一系列解決方法均可以應用在 CRSs 與交互式推薦中。此外,除了經典的 MAB 算法,Meta learning 的方法也能夠應用在 CRSs 中來解決冷啓動或者 EE 問題。原文表 4 中列舉了一些工做。
▲ 圖4. 多臂老虎機問題編輯器
算法評測是個很重要的問題,在 CRSs 中,因爲有些算法要求文本數據,有些算法要求實時交互數據,故有工做從衆包平臺採集實時交互的對話數據。而有些工做則另闢蹊徑,從已有的推薦數據集中造出用戶模擬器(User simulators)來與 CRS 模型進行實時的交互。原文表 5 列舉了目前 CRSs 中經常使用的數據集。
關於 CRSs 的評測指標。本文將其分爲兩個層級,第一個層級是每一輪級別的評測,其中值得評測的量包括推薦的質量,指標用推薦中經常使用的Rating-based指標,如 RMSE 或者 Ranking-based 指標,如 MAP,NDCG。另外一個值得評測的量是文本生成的質量,指標包括 BLEU 與 ROUGE 等。第二個層級是對話級別的評測,主要關心的量是對話的平均輪次(Average Turns, AT),在 CRS 任務中,越早推中用戶喜歡的商品越好,故對話的輪次越短越好。另一個指標是對話在特定輪次的成功率(Success Rate@t, SR@t),該指標越高越好。
因爲用戶參與的交互一般很慢且難以獲取,CRSs 的評測依賴用戶模擬器。
經常使用的用戶模擬策略包括:
1. 從歷史交互中直接模擬出用戶在線的偏好,然而這種方式存在問題:
歷史交互一般很是稀疏,模擬出的用戶沒法回答那些空缺值處的喜愛;
2. 先補齊用戶歷史交互中的空缺值,用補齊後的交互來模擬用戶在線偏好。
這種方式潛在的風險是補齊算法不免引入額外誤差;
3. 利用用戶對商品的在線評論進行模擬。
因爲用戶對商品的評論中包含不少能夠反映用戶偏好的屬性信息,這種模擬方式將帶來更全量的信息;
4. 從歷史的人類對話文本庫中模擬出用戶,其適用於讓 CRS 系統來模擬訓練數據中的模式及語言的模型。
展望將來的可作方向
CRSs 包含三個模塊,用戶界面、對話策略模塊以及推薦引擎。不少 CRSs 的工做將它們分開進行優化。然而這三個模塊在任務上是有交叉的地方,須要考慮對它們考慮協同優化。
推薦誤差近年來受到研究者們很大關注,緣由是觀測到的數據中一般存在各式各樣的誤差,例如選擇性誤差,即用戶傾向於選擇本身更喜歡的東西進行交互,這就使得沒有觀測到的東西與觀測到的東西有着不同的喜愛分佈。所以不能簡單地用觀測到的東西的分佈來估計空缺值。除此以外,觀測數據中其餘誤差,可參考另一篇綜述 [5]。雖然 CRSs 的實時交互能夠部分緩解這些誤差問題,然而誤差依然會影響推薦結果。故去除 CRSs 中的誤差是一個有意義的研究方向。
CRSs 最核心的部件是對話策略模塊。目前已有工做考慮的策略還比較基礎簡單。咱們能夠考慮更加智能的策略,例如將強化學習的最新研究成果應用到 CRSs 的對話策略中。例如,逆強化學習能夠自動的學習回報項,元強化學習能夠考慮交互很是稀疏場景。
讓 CRSs 更加智能的一種直接的方法,即是融入更多信息。這些信息能夠是商品知識圖譜,也能夠是多模態的信息,例如聲音信息,視覺信息等。處理這些信息的相應算法已經被研究了多年,例如圖卷積網絡等方法,也可利用起來造福 CRSs。
僅開發算法還不夠,好的評測方法如同好的指導老師,能指引 CRSs 正確的前進方向。故研究 CRSs 的評測也意義重大。此外,因爲 CRSs 的訓練和評測都很依賴模擬用戶,研究更加全面更加靠譜的模擬用戶也是亟待解決的問題。
一塊兒交流
想和你一塊兒學習進步!『NewBeeNLP』目前已經創建了多個不一樣方向交流羣(機器學習 / 深度學習 / 天然語言處理 / 搜索推薦 / 圖網絡 / 面試交流 / 等),名額有限,趕忙添加下方微信加入一塊兒討論交流吧!(注意必定要備註信息才能經過)
[1] Wenqiang Lei, Xiangnan He, Maarten de Rijke, Tat-Seng Chua. 2020. Conversational Recommendation: Formulation, Methods, and Evaluation. SIGIR‘20 Tutorial.
[2] Dietmar Jannach and Ahtsham Manzoor. 2020. End-to-End Learning for Conversational Recommendation: A Long Way to Go? Proceedings of the 7th Joint Workshop on Interfaces and Human Decision Making for Recommender Systems co-located with 14th ACM Conference on Recommender Systems (RecSys 2020) (2020).
[3] Wenqiang Lei, Gangyi Zhang, Xiangnan He, Yisong Miao, Xiang Wang, Liang Chen, and Tat-Seng Chua. 2020. Interactive Path Reasoning on Graph for Conversational Recommendation. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD ’20). 2073–2083.
[4] Wenqiang Lei, Xiangnan He, Yisong Miao, Qingyun Wu, Richang Hong, Min-Yen Kan, and Tat-Seng Chua. 2020. Estimation-Action-Reflection: Towards Deep Interaction Between Conversational and Recommender Systems. In Proceedings of the 13th International Conference on Web Search and Data Mining (WSDM’20). ACM, 304–312.
[5] Jiawei Chen, Hande Dong, Xiang Wang, Fuli Feng, Meng Wang, and Xiangnan He. 2020. Bias and Debias in Recommender System: A Survey and Future Directions. arXiv preprint arXiv:2010.03240 (2020).
- END -