導讀 今天給大家分享一下推薦系統在近年來的整體技術發展。文中的很多觀點和技術都參照于業界的論文以及一些外部的文章。
全文目錄如下:
**01****推薦系統技術架構 **
整個推薦技術,經過幾年的發展已經比較完善,上圖展示了推薦系統的一個整體架構,分為數據和推薦模型兩層。
1. 數據層
數據層主要是通過客戶端以及服務端的實時數據,經過流處理的平臺,把用戶的信息、商品的信息、場景的信息以及端側的信息全部都收集全。基于這些信息,再通過特征工程的很多方法,如歸一化、離散化、非線性離散等很多的變換,把特征處理成下游模型處理的方式。處理完后一般會放在特征存儲中,如 KV 存儲: Redis、阿里的 iGraph 等;
2. 模型層
通過離線訓練完后的模型一般會導到線上,通過線上服務的方式直接對整個推薦系統進行服務。模型的訓練也有很多的方式,現在業界比較流行的有 TensorFlow 、 PyTorch 或者阿里巴巴的 PAI 都可以通過離線 + 在線實時訓練的方式對模型進行加工。(1)全鏈路干預模型加工完后,會對整個推薦鏈路從召回、到粗排、到精排、到重排進行全鏈路的干預。其中在粗排階段,一致性、全鏈路、高性能這三個特點是整個粗排需要關注的。重排階段是最近幾年發展起來的,由于整個技術棧都比較成熟,所以在端側可以部署準實時的模型,包括阿里這邊開源的 EdgeRec 。除了整個的召回、粗排、精排和重排之外,還有很多的冷啟動策略、E&E 策略,包括很多適配的策略。往往經過排序完之后的結果并不是整個推薦系統最終給用戶呈現的結果,這里需要做多樣性的、信任性的、疲勞度的控制、分頁過濾等等,最終才得到整個的推薦的結果。后面的分享會圍繞召回、粗排、精排、重排以及用戶理解和特殊處理進行一些簡單的探討。
02 **用戶理解 **
首先是用戶理解,這張圖展示了最近幾年來用戶理解的發展歷程。
1. 用戶理解可以從下往上分為數據、洞察和理解三層
(1)數據層數據層主要是要更全面、更實時、更準確地把用戶、場景、待推薦的物品等各個方面的數據特征的收集全。這里包含用戶的基礎信息、還有行為信息、時空信息以及端的信息,需要有一些比較成熟的端的實時的框架來支持。(2)洞察層在數據層之上要做一些比較深入的洞察,包括:① 關于用戶價值的洞察。② 行為模式的洞察。③ 生命周期的洞察。每一層的洞察又包含了很多標簽的建設:需求強度的建設、敏感度的建設以及行為序列的模式等。(3)理解層在洞察之上會有一層更高抽象的理解。2. 業界學術及實戰分類:顯式和隱式通過業界的學術及實踐,可以分為顯式和隱式兩類。(1)顯式① 對召回的用戶行為做篩選:如物料和類目等;② 標簽的抽取;③ 群體的理解:包括通過聚類、 Looklike 等方式;④ 更高層面的意圖的推斷。這種意圖的推斷主要集中在顯式的意圖的推斷,包括購買力的推測、類目、品牌屬性的預測。⑤ 另外一個是最近比較興起的關于用戶生命周期的理解。 需要對用戶的整個行為做理解,從用戶的瀏覽到購買到決策到結束整個生命周期,在整個生命周期內去推測用戶的意圖和偏好。(2)隱式除了顯式之外,另外一個是在學術界研究比較多的隱式。主要是對用戶的多個行為做隱式的表達、做向量的表達,以及做一些模糊的表達。如單序列或者多模態的行為表達,有短的、長的、超長的行為序列的表達,還有超長生命周期的表達等等。
03 召回技術
有了用戶理解之后,就是召回的技術,召回技術可以分為工程和召回算法兩部分。
1. 工程側
對于整個召回來說,工程側起到非常大的作用,因為召回一般都是多通道的召回,這里面對性能的影響會比較大,所以工程側需要一個更強的技術架構。
上圖左側是一個召回側的技術架構:把用戶的特征、商品特征和行為的特征通過多種類型的召回模型,包括通過向量的方式、相似矩陣的方式,弱個性化方式等等幾十種召回通道之后,再通過向量檢索的方式或其他檢索的方式在線上做召回。
2. 召回算法
召回技術可以分為傳統的召回、知識的召回、表示的召回、匹配召回四大類型,當然還有一些召回類型可能是這四種類型的融合體。
(1)傳統召回
最近幾年,傳統召回使用的比較少了,但是在整個推薦系統里面,傳統召回一直占據著一個比較主要的位置。對于一個推薦系統,傳統召回已經可以解決大部分問題了。傳統召回里面,可以分為熱門召回,協同召回,還有基于內容的召回。這里有大家耳熟能詳的 SVD、Slim、gSlim、fSlim,還有大家經常用的 UserCF,以及包含它的 ItemCF、 Swing 等等,還有基于 UserCF、ItemCF 做的很多變種來去適配,召回率才能更好。還有大家最常見的內容召回,如屬性的召回。
(2)知識召回
最近幾年,隨著知識圖譜的發展,知識的召回顯得尤為重要。知識召回有很多優勢:① 第一個是知識召回的可解釋性比較強。② 第二個是知識召回整個線上實現的邏輯會比較簡單,性能會比較好。基于知識的召回主要是通過圖譜、或者通過一些規則標簽的方式建立。有了圖譜或者標簽之后,在上面可以做基于實體的召回、基于標簽的召回、基于路徑的推理,以及基于邏輯的表達。(3)表示召回表示召回是最近幾年整個學術界和工業界都在極力探索的,表示召回所帶來的提升是很大的,對整個工程的要求也比較高。表示召回的發展從最簡單的雙塔模型,到最近一些年基于 Graph-base 模型的相關推理。Graph-base 也經歷了一段時間,從基于簡單序列的,包括 DeepWalk、Node2Vec,到后面基于知識圖譜的知識的表達,類似于 TransE,KGAT,以及最近一些年基于 Graph的表達。表示的召回整體上可以分為:① 顯式行為的建模。② 隱式行為建模。③ 多興趣表征。④ 超長行為的建模。每一類其實都有一些代表性的算法,大家可以都去觀察一下。在顯式行為建模里面有GRE4Rec、DUPN、BERT4Rec。隱式行為建模里面有 XDM。多興趣表征里面有 MIND、SASNet,還有超長行為里面的。(4)匹配召回相對于傳統的表示召回,匹配召回為了更加精準的表征各種行為訓練,它對上層的模型的復雜度要求會更高一點。如傳統的 NCF,還有最近在阿里或者字節應用的比較成功的 TDM 和 DR。TDM 和 DR 是從檢索、模型、索引三個方面來對整個召回鏈路做優化。要求有更加復雜的匹配模型,同時兼顧候選集大規模召回的時效性。在整個召回技術的發展里面,特別是基于表示的召回和匹配的召回都需要對很多的負樣本做比較精準的采樣。
04****排序技術
1. 粗排技術迭代
接下來是排序技術,首先粗排技術的發展:(1)粗排模型的發展粗排這張圖是參考了阿里媽媽這邊的一些論文,經歷了數代的發展。① 初代模型在初代,整個粗排模型主要還是基于人工規則或后驗概率統計的。② 第二代模型到了第二代之后,粗排模型就開始有 LR 的模型,或者基于 XFTRL 相關的一些簡單的模型的表達。③ 第三代模型到了第三代之后就有了一些雙塔模型或三塔模型或者 FSCD 模型,模型里面主要是把用戶還有商品用來做表征,表征完了之后在上層再做一個匹配。④ 第四代模型到了第四代模型之后,性能要求更高,如 COLD 的模型、 AutoFAS 模型等。整個模型把特征和工程做了更加深入的優化。模型的發展是從后驗統計、線性模型、雙塔模型,到輕量的高精度深度模型,到最近一些年大家都在深入研究的端到端深度粗排。在端到端的更深度的粗排模型上,主要做了幾個方面:① 一方面是怎么與精排模型進行更好的深度的融合統一,包括粗排跟模型的蒸餾。② 另外一方面是真正地將最終的優化目標跟一致性的粗排保證一致,這個其實是很難的。③ 第三個就是隨著粗排模型越來越復雜,在性能上要求更高,所以需要比較強的工程效率優化 。(2)粗排優化階段面臨的問題特征應該怎么做交叉、性能應該怎么去做、這里還面臨著很多 SSB(嚴重的樣本選擇偏差)的問題。
2. 精排模型技術
接下來是精排技術的發展,這張圖也參考了很多的模型,在其基礎上又做了一些添加。精排技術的發展可以分為傳統模型時代和深度模型時代。(1)傳統模型時代在傳統模型時代,主要是基于 LR 展開。通過樣本分組做 MLR、通過特征交叉做 FM,通過 FM 做序列,通過樹模型的 GBDT 相關序列,XGBOST 序列,有實時性的、 FTRL、XFTRL 等 。(2)深度模型時代最近幾年,模型在深度模型時代是迭代比較快的,主要是基于 MLP 做了很多的變換。右邊這張圖按照上下兩部分 + 左右兩部分來看:下面這部分其實大家很多場景都用過,就是基于 MLP 到 Wide 和 Deep,同時基于 Wide 和 Deep 側分別做改進,有 DCN 、DPFM、 AFM、NFM 等等,他們都是針對于某一個部分做了優化,上面部分,主要是針對 MLP 里面的很多東西引進了更加先進的 Attention 、Product Layer 還有 GNN 等等。右側這部分主要是基于 AE 、強化學習或者 NCF 的變動。左側這部分主要是在引入 Attention 相關演化出來的,基于 DIN、DIEN、MIMN、 DSIN,還有 SIM,分別對長序列等等建模。整個排序技術的發展最終是要朝著多模塊、多任務、多目標還有多模態四個方向去做。在多任務、多目標、多模態三個方面都有比較經典的模型,比如多任務階段有 MMOE 和 PLE,多目標階段有帕累托最優,多模態方面有 MMGCN、 LOGO 等。(3)精排技術的模型演****進方向① 第一個是模型的目標:目標從一個要變成多個。② 第二個是模型的表達:模型需要有更加成熟的,更加復雜的結構來增強表達。③ 第三個是模型的容量:怎么在特征和信息擴充方面引入更多的特征處理,還有外部的信息讓模型的容量變大。
05****其它推薦算法方向
其它的推薦技術,這里選了幾個比較熱門的方向:冷啟動、偏置建模和可解釋性。1. 冷啟動冷啟動可以分為:① 基于后驗概率的群體統計。② 高效地利用屬性信息。③ 充分利用少量的標注數據的啟發式的探索。這里也有很多經典的論文,在此不做贅述,大家可以去看一下。冷啟動應該是現在業界很多的場景,如旅游、視頻、商品等很多地方都會面臨的一個問題,在模型建模方面怎么更好地利用全局的信息,群體的信息,以及更好地利用少量的交互數據來去把用戶的行為表征得更準確。2. 偏置建模在模型層面有很多方式去做建模,偏置建模是最近幾年比較熱的一個 topic。偏置建模主要可以分為位置偏差、曝光偏差和熱度偏差。當然還有其他的偏差,這里主要列舉了 3 個比較熱門的。這三個偏差建模里面也有很多經典的模型,包括 Click Model、曝光模型、基于正則化的和基于因果推斷的等等。3. 可解釋隨著推薦系統的發展,包括信息安全法,還有很多其他方面,對推薦系統的可解釋性要求也比較強。推薦系統的可解釋可以分為:① 怎么去基于其他用戶和基于商品去做可解釋。② 怎么基于文本和視覺做可解釋。③ 怎么通過社交的方式做可解釋。可解釋推薦是在給用戶提供推薦的列表時,給用戶解釋為什么會這樣推。能夠幫助提升整個推薦系統的說服力,以及對用戶的表征能力。
06 評估
最后,簡要介紹推薦系統 Metrics 的變化。 1. 整體指標隨著視頻等行業的興起,指標方案也在發生變化,主要可以分為:① 轉化率的指標。② 推薦類的指標,推薦質量類的指標。③ 消費滿意度的指標。這里面有傳統的 CTR、CVR、ECPM、客單價、DAU 類,也有多樣性、新穎性等很多指標,還有留存、停留時長等等。 2. 分階段指標推薦系統還是要以線上的 AB test + 離線指標兩者的融合才能有更好的說服力。推薦系統線上的指標是與所推薦的內容,包括場景密切相關的,所以說推薦系統的目標不一樣,所選擇的指標觀測也不一樣。這張圖可以分為離線和在線,上層的在線主要看的是整體指標,下面的離線主要是從召回、到粗排、到精排、到重排每個階段各個部分看的效果。在召回階段,大家比較常用的一些 Recall、Precision、F1、NS-recall、NS-precision 還有 Hit Rate 等等,基于場景的不一樣,還有很多去看 KL 散度、長尾判斷。在粗排階段,除了常用的 AUC、GUC、MAP 相關性指標之外,還有跟精排分數的一致性,這個是非常重要的,因為最終粗排要優化的目標還是要跟精排打分的盡量保持一致性。在精排和重排階段還是要面向場景化,除了要看正常的 AUC、GUC,還要看是不是要分類目去看 AUC、GUC,是不是要分人群、分場景,都是需要深入動態做的。以上就是今天分享的內容,感謝大家。
分享嘉賓 INTRODUCTION
陳祖龍
阿里巴巴
高級算法專家
2013 年畢業東北大學,先后在百度知識搜索部,淘寶搜索與推薦,飛豬技術算法,一直在做搜索、推薦等相關工作,曾在 WWW,KDD,SIGIR,CIKM,ICDE 等多個國際期刊和會議上發表二十多篇論文。
對話推薦算法研究綜述
A Survey of Conversational Recommendation Algorithms
作者:趙夢媛,黃曉雯*,桑基韜,于劍 單位:
北京交通大學計算機與信息技術學院 北京交通大學人工智能研究院 北京交通大學交通數據分析與挖掘北京市重點實驗室 郵箱:{f19120453, xwhuang, jtsang, jianyu}@bjtu.edu.cn **論文:** *通訊作者
01
簡介
推薦系統是一種通過理解用戶的興趣和偏好幫助用戶過濾大量無效信息并獲取感興趣的信息或者物品的信息過濾系統。目前主流的推薦系統主要基于離線的、歷史的用戶數據,不斷訓練和優化線下模型,繼而為在線的用戶推薦物品,這類訓練方式主要存在三個問題:基于稀疏且具有噪聲的歷史數據估計用戶偏好的不可靠估計、對影響用戶行為的在線上下文環境因素的忽略和默認用戶清楚自身偏好的不可靠假設。由于對話系統關注于用戶的實時反饋數據,獲取用戶當前交互的意圖,因此“對話推薦”通過結合對話形式與推薦任務成為解決傳統推薦問題的有效手段。對話推薦將對話系統實時交互的數據獲取方式應用到推薦系統中,采用了與傳統推薦系統不同的推薦思路,通過利用在線交互信息,引導和捕捉用戶當前的偏好興趣,并及時進行反饋和更新。在過去的幾年里,越來越多的研究者開始關注對話推薦系統,這一方面歸功于自然語言處理領域中語音助手以及聊天機器人技術的廣泛使用,另一方面受益于強化學習、知識圖譜等技術在推薦策略中的成熟應用。本文將對話推薦系統的整體框架進行梳理,將對話推薦算法研究所使用的數據集進行分類,同時對評價對話推薦效果的相關指標進行討論,重點關注于對話推薦系統中的后臺對話策略與推薦邏輯,對近年來的對話推薦算法進行綜述,最后對對話推薦領域的未來發展方向進行展望。
2.1
什么是對話推薦系統?
對話推薦系統的交互推薦方式就像是將傳統靜態推薦系統與對話系統結合,在與用戶的交互中通過詢問用戶相關問題動態地更新用戶的興趣偏好。因此對話推薦系統可以有如下兩種定義。
**定義一:**對話推薦系統是以推薦為目標導向的對話系統。系統通過與用戶的在線對話達到捕捉用戶興趣從而推薦物品的目的。
**定義二:**對話推薦系統是具有多輪交互形式的推薦系統。交互的形式狹義上是自然語言形式或語音形式,廣義上還包括推薦系統中用戶的任何行為數據的形式(如:點擊、瀏覽)
2.2
傳統推薦系統vs對話推薦系統
傳統的推薦系統中,用戶在尋找具有特定屬性的物品時,可以通過主動搜索來進行,例如,用戶可以搜索“春季的短款夾克”,其中關鍵短語“春季”和“短款”是“夾克”的屬性。在這個場景中,用戶自己構造查詢,推薦效果不僅依賴于搜索引擎,更依賴用戶在構造查詢方面的專業知識。推薦系統需要用戶根據自己的先驗知識輸入可能的屬性選項限制,從而更準確地定位到合適的推薦候選項集合,推薦系統才能在此基礎上幫助用戶找到目標物品。總之,這種推薦系統中的主動搜索方式需要用戶熟悉自己想要的每一件物品,然而在實際操作中并非如此。當用戶并不熟悉自己想要物品的屬性時,推薦系統就被期望能夠主動向用戶介紹他們可能喜歡的潛在物品,然而,傳統的推薦系統無法做到這一點,它只能使用靜態的歷史記錄作為輸入,這也就導致了傳統單向、靜態的推薦系統中存在三個主要問題:基于稀疏且具有噪聲的歷史數據估計用戶偏好的不可靠估計、對影響用戶行為的在線上下文環境因素的忽略和默認用戶清楚自身偏好的不可靠假設。
2.2.1 **共性:**面向推薦任務,都需要理解用戶興趣偏好,為用戶篩選信息 **區別:**使用數據不同: (1)傳統推薦系統主要依賴用戶的歷史交互數據。 (2)對話推薦系統主要依賴用戶的在線反饋數據。 推薦模型更新方式不同: (1)傳統推薦系統是靜態的,其從用戶的歷史交互信息中來估計用戶偏好,上線后不做更新,更新需定期下線。 (2)對話推薦系統是動態的,其與用戶進行交互,在模型有不確定的地方,可以主動咨詢用戶,實時更新推薦模型參數。
03
對話推薦系統特點:多輪交互、目標導向
04
對話推薦系統的流程
一個標準的CRS框架包含了三大功能模塊:用戶意圖理解模塊、對話策略模塊和推薦模塊。從功能模塊來看,CRS與DS非常相似,這進一步說明CRS的核心思路來源就是DS。
**用戶意圖理解模塊:**用戶與系統交互的“翻譯器”,將用戶的輸入(文本、圖像、評分、瀏覽等交互行為)處理成會話的狀態表示,作為對話策略模塊的輸入,如果是基于自然語言交互的對話推薦,該模塊還需要生成流暢的自然語言反饋。
**對話策略模塊:**是核心模塊,是用戶意圖模塊和推薦模塊的連接橋梁,該模塊處理和記錄用戶偏好,并根據用戶當前的交互歷史數據,決定系統當前輪次反饋給用戶的交互內容,引導用戶決策,最終實現符合用戶偏好的一次成功推薦。
**推薦模塊:**建模用戶與物品的關系,在被對話策略模塊調用時輸出當前輪次下契合該用戶偏好的推薦物品列表。
05
對話推薦系統的用戶意圖理解模塊
用戶與系統交互的“翻譯器”,與用戶直接進行信息交換的模塊,處理用戶的輸入數據(文本、圖像、評分、瀏覽等交互行為)處理成會話的狀態表示,作為對話策略模塊的輸入。
(1)面向自然語言、語音和圖像的用戶意圖:理解處理自然語言、語音和圖像,研究如何像人類一樣溝通交互。
(2)面向用戶行為數據的用戶意圖理解:處理數據為用戶偏好集合,接受用戶二值反饋,輸出系統策略行為(詢問或推薦)
06
對話推薦系統的對話策略模塊
是對話推薦系統的核心模塊,該模塊處理和記錄用戶偏好,并根據用戶當前的交互歷史數據,決定系統當前輪次反饋給用戶的交互內容,引導用戶決策,最終實現符合用戶偏好的一次成功推薦。
對話推薦的交互性使得用戶有機會及時表達自己的意圖,以獲得更好的個性化推薦服務,并且由于具有交互性,對話推薦還可以主動探索用戶看不見的物品空間,從而引導用戶發掘自己的偏好。然而對話推薦的探索過程是有代價的,與利用已經獲得的偏好推薦高置信度的物品相比,暴露不相關的物品空間的信息可能會傷害用戶的偏好,失去做出準確推薦的機會。此外由于用戶與系統互動的時間和精力有限,一次失敗的探索將浪費用戶的時間與精力,可能造成用戶的流失。因此追求探索和收益的平衡(exploration and exploitation,E&E)是對話推薦研究中的一個關鍵問題,對話策略模塊主要解決的問題就是權衡探索與收益,它是CRS核心模塊。
這個模塊的研究工作根據目前研究者使用的核心策略技術,主要分成以下四大類:
(1)基于人工規則
基于人工規則的的方法非常簡單,根據人的先驗領域知識,設置對話規則,例如,設置限制,規定固定輪次交互后都要提供一個推薦物品,或者根據置信度推薦前k個物品。
(2)基于神經網絡
利用神經網絡模型輸出的動作概率分布決定對話策略,例如,通過GRU將當前對話的上下文編碼成隱狀態向量輸入,softmax層輸出概率分布,根據概率分布決定是否推薦以及推薦什么物品。
(3)基于****強化學習
將對話上下文、用戶偏好等編碼為狀態向量,輸入到強化策略網絡中,策略網絡基于獎勵函數進行訓練,學習對話策略,輸出系統動作向量。
(4)基于元學習
核心思想是“學習如何學習一個推薦模型”。將元學習應用到對話推薦算法中是個值得研究的思路。
07
對話推薦系統的推薦模塊
推薦模塊是CRS中實現推薦功能的模塊,根據已經捕捉到的用戶偏好推薦用戶當前最感興趣的目標物品。大部分的研究工作中,推薦模塊都采用簡單的推薦模型,例如矩陣分解(matrix factorization),這是因為簡單的推薦模型就已經可以滿足對話推薦系統的推薦需求,使用過于復雜的推薦模型,反而會使系統整體復雜度上升,使對話推薦模型的訓練變得困難。
(1)基于自編碼器的模型(autoencoder-based models) 自編碼器(autoencoder)本身就常被用于推薦系統中,可以克服冷啟動問題(cold-start problem)
(2)基于圖卷積神經網絡的模型(GCN-based models) 圖卷積神經網絡面向應用場景中的圖結構數據,通過卷積操作,同時考慮節點的屬性以及鄰居節點的屬性,讓模型學習到節點更好的局部表示,從而提高基于圖結構數據的模型性能。
08
對話推薦任務-常用數據集
對話推薦的交互形式既可以是語音、自然語言語句,也可以是更為一般的用戶交互行為數據(如點擊、瀏覽、購買等)。因此在對話推薦的研究工作中,常用的數據集也分為兩類:第一類是研究者將用戶交互語音或語句與推薦數據結合,人工構造的數據集;第二類是更為一般的推薦系統通用數據集。
09
對話推薦任務-評價指標
在兩類不同類型數據集的應用場景下,對話推薦的評價指標也不相同,目前尚沒有統一且成熟的評價指標體系來評價對話推薦系統的功能。如表所示,在對話推薦相關的研究工作中,研究者由于研究的出發點和關注的角度不同,往往在實驗中使用不同的評價指標,從其關注的某幾個方面評價對話推薦的效果。 根據各類指標的評估內容和角度,把目前對話推薦任務的相關評價指標分為三類: (1)評價對話推薦的語言質量的指標; (2)評價對話推薦的推薦性能的指標; (3)評價對話推薦的系統效率的指標。
10
對話推薦任務-評估方式
(1)在線用戶評估
與真實的用戶交互,在真實的環境中驗證系統的效果,評估的結果真實且可信。雖然在線用戶評估的結果很優越,但實際的研究工作大多沒有條件進行線上用戶評估,在線用戶的評估方式很難被廣泛使用。原因有二,一是使用在線用戶進行訓練和評估,不成熟的對話推薦系統會損害用戶體驗,造成實際的損失;二是在線用戶評估數據的收集和整理需要額外的時間和精力,投入的成本加大。
(2)用戶模擬器評估
用戶模擬器(user simulator)通過擬合用戶的歷史數據,提供對話推薦的交互環境,為對話推薦系統每輪交互的輸出動作模擬用戶可能的行為。使用用戶模擬器,使得對話推薦系統的交互訓練更加快捷,也極大降低了評估成本。但該方式也有明顯的缺點,即用戶模擬器無法完全正確地預測在線用戶的真實反饋。
11
對話推薦系統研究中存在的問題
1、評價指標不統一
人類評估和專家分析是必要的,目前沒有完美的指標可以全面評估對話推薦系統的功能。
2、探索與收益的平衡
(1)如何在保證推薦準確率的前提下,減輕用戶的交互負擔; (2)如何將會話數據與用戶歷史數據結合,推斷用戶具有時序性特點的偏好; (3)如何利用用戶歷史興趣引導用戶發掘未來偏好。
3、數據稀疏性
(1)物品冷啟動問題:一定程度上可以解決傳統推薦系統中的用戶冷啟動問題,但在物品冷啟動問題上沒有非常好的解決方式。 (2)用戶反饋數據稀疏問題:對話推薦受制于有限的對話輪次,獲取到的用戶反饋只有有限輪次數量的數據。
4、對話策略模型低效
(1)模型訓練方式問題:對話推薦系統的環境缺少明確的規則,從而導致使用強化模型時沒有明確獎勵函數以及清晰的動作空間。
(2)模型面向任務的設計問題:強化對話推薦算法中的強化模型設計完全依賴于研究者的直覺與經驗,與任務不合適的強化模型會導致對話策略模型的訓練低效,甚至是無效。
12
未來研究方向
協同優化的端到端對話推薦 * 知識增強的對話推薦 * 基于多模態交互數據的對話推薦 * 無偏的對話推薦 * 用戶反饋的改進 * 更智能的對話推薦策略設計
13
總結
作為解決目前傳統推薦系統中存在問題的有效手段,對話推薦的研究具有重大意義。近兩年大量的對話推薦相關工作在推薦領域和數據挖掘領域的頂級會議與期刊中被發表,對話推薦的研究進入新的發展階段。本文詳細討論了對話推薦的研究內容與特點,重點關注對話推薦中的算法設計,對目前的對話推薦算法進行了歸類和總結,并介紹了對話推薦的評價指標及當前研究的挑戰與未來的研究方向。本文有助于人們理解對話推薦的研究內容、研究難點與研究思路,引發人們對未來對話推薦研究的思考。
隨著互聯網和信息計算的飛速發展,衍生了海量數據,我們已經進入信息爆炸的時代。網絡中各種信息量的指數型增長導致用戶想要從大量信息中找到自己需要的信息變得越來越困難,信息過載問題日益突出。推薦系統在緩解信息過載問題中起著非常重要的作用,該方法通過研究用戶的興趣偏好進行個性化計算,由系統發現用戶興趣進而引導用戶發現自己的信息需求。目前,推薦系統已經成為產業界和學術界關注、研究的熱點問題,應用領域十分廣泛。在電子商務、會話推薦、文章推薦、智慧醫療等多個領域都有所應用。傳統的推薦算法主要包括基于內容的推薦、協同過濾推薦以及混合推薦。其中,協同過濾推薦是推薦系統中應用最廣泛最成功的技術之一。該方法利用用戶或物品間的相似度以及歷史行為數據對目標用戶進行推薦,因此存在用戶冷啟動和項目冷啟動問題。此外,隨著信息量的急劇增長,傳統協同過濾推薦系統面對數據的快速增長會遇到嚴重的數據稀疏性問題以及可擴展性問題。為了緩解甚至解決這些問題,推薦系統研究人員進行了大量的工作。近年來,為了提高推薦效果、提升用戶滿意度,學者們開始關注推薦系統的多樣性問題以及可解釋性等問題。由于深度學習方法可以通過發現數據中用戶和項目之間的非線性關系從而學習一個有效的特征表示,因此越來越受到推薦系統研究人員的關注。目前的工作主要是利用評分數據、社交網絡信息以及其他領域信息等輔助信息,結合深度學習、數據挖掘等技術提高推薦效果、提升用戶滿意度。對此,本文首先對推薦系統以及傳統推薦算法進行概述,然后重點介紹協同過濾推薦算法的相關工作。包括協同過濾推薦算法的任務、評價指標、常用數據集以及學者們在解決協同過濾算法存在的問題時所做的工作以及努力。最后提出未來的幾個可研究方向。
//jcs.iie.ac.cn/xxaqxb/ch/reader/view_abstract.aspx?file_no=20210502&flag=1
摘要
推薦系統是一種緩解信息超載問題的關鍵工具,旨在通過分析觀察到的用戶-商品關系,從數百萬的候選商品中預測出用戶喜歡的商品。針對推薦系統存在的稀疏性和冷啟動問題,利用側信息和知識來挖掘隱藏的(間接的)用戶-物品關系來豐富推薦的觀測信息,近年來被證明是有前景的;而推薦模型在面對高度復雜和大規模的側信息和知識時的可擴展性在很大程度上決定了推薦模型的性能。為了有效地利用復雜和大規模的數據,圖嵌入技術的研究是一個重要的課題。將圖嵌入技術裝備到推薦系統中,可以大大優于傳統的直接基于圖拓撲分析的推薦實現,近年來得到了廣泛的研究。摘要從二部圖、一般圖和知識圖譜的嵌入技術出發,系統地回顧了基于圖嵌入的推薦方法,提出了基于圖嵌入的推薦方法的總體設計思路。此外,將幾種有代表性的基于圖嵌入的推薦模型與最常用的傳統推薦模型進行了仿真比較,結果表明,傳統推薦模型在預測隱式用戶-物品交互方面總體上優于基于圖嵌入的推薦模型。揭示了基于圖嵌入的推薦在這些任務中的相對弱點。為了促進未來的研究,本文提出了基于圖嵌入的推薦與傳統推薦在不同任務中的權衡,以及一些有待解決的問題。
引言
大數據[1,2]是否有利于人們的生活?從表面上看,這個問題似乎很荒謬。例如,交通大數據有助于量化疫情期間潛在的感染人群[3],科研大數據有助于學術與產業合作[4],多媒體社交大數據通常為消費者帶來娛樂[5]。但與此同時,大數據的大容量、高速度、高多樣性,也被稱為三大“V”特征[6],也帶來了問題。信息超載[7,8]就是一個很好的例子,指的是一個人在做決定時可以獲得的過多的大數據,例如,哪些文章與研究人員的重點相關,哪些產品滿足消費者的需求,哪些電影引起觀眾的興趣;從而降低了信息檢索的效率。要平衡大數據的這些優點和缺點,使其利益最大化,需要發展大數據挖掘技術[10],其中推薦系統[11-13]已經成為緩解信息超載問題的關鍵工具,旨在預測用戶(如研究人員、消費者、以及觀眾)偏愛的項目(例如,文章,產品和電影)從數以百萬計的候選人。除此之外,推薦系統還見證了從初創企業投資者匹配[14]到建筑能效[15]的商業實踐。
開發推薦系統需要克服推薦系統的核心組件推薦模型所遇到的稀疏性問題[16,17]和冷啟動問題[18-21]。推薦模型的基本原理是通過分析觀察到的用戶與物品之間的關系,準確推斷出用戶對物品的偏好,這是良好推薦性能的前提,其中用戶與物品之間的交互(詳見2.1.1節)是主要資源。然而,用戶-物品交互通常是稀疏的,因為用戶交互的物品總數很少,這稱為稀疏性問題。當遇到新用戶時,如果用戶和物品之間還沒有觀察到交互,就會導致冷啟動問題,同樣的情況也適用于新商品。因此,由于稀疏性和冷啟動問題造成的用戶-物品交互不足,削弱了推薦模型對用戶偏好推斷的準確性;因此,為推薦性能辯護。針對稀疏性和冷啟動問題,利用側信息[22,23]和知識24-26作為用戶-物品交互的補充,以發現隱藏的(間接的)用戶-物品關系,豐富觀察到的信息,用于推薦,最近被證明是很有前景的。
關于有效利用旁側信息和知識促進推薦性能的能力,關于基于圖嵌入的推薦(章節2.2.1給出了細節)是否優于傳統的基于圖拓撲分析的推薦(章節2.1.4給出了細節)的討論一直存在爭議。在可擴展性方面[16,27],由于大數據繼承的側信息和知識的三個“V”特征,在數據高度復雜和大規模的情況下,每秒對數百萬用戶和項目進行推薦。基于圖嵌入的推薦優于傳統推薦,這取決于其不同的原理:在將信息組織成圖表示之后(第2.1.2節給出了細節),傳統的推薦通過分析圖的拓撲特征來運行,如用戶與常用項目[28]的協同作用或全局拓撲擴散[29,30]。相比之下,基于圖嵌入的推薦是利用節點嵌入向量來實現的,這些節點嵌入向量保存了通過嵌入技術[31]從圖表示中學習到的圖拓撲特征(Secs. 4.1和5.1給出了回顧)。在不同的推薦系統中使用邊信息和知識時,基于圖嵌入的推薦可以直接重用學習到的節點嵌入向量,而不像傳統推薦那樣需要重復分析圖的拓撲特征;這樣就大大提高了推薦模型的可擴展性。此外,嵌入向量的可存儲性使其支持下游需要數據實例特征向量作為輸入的機器學習任務[32],如分類[33-39]、鏈接預測[40-43]、聚類[44]; 因此,基于圖嵌入的推薦在模型可擴展性方面優于傳統推薦。
然而,關于模型的可解釋性(或可解釋性)[45]:為什么模型會向用戶返回這樣的推薦,基于圖嵌入的推薦大大低于傳統的推薦,因為它普遍采用機器學習方法[46],幾乎是一個黑盒,其思想是通過輸入-輸出數據擬合,通過數值或解析優化方法[47]發現底層模式,而傳統的推薦可以通過解析用戶-物品節點對的圖拓撲特征直接實現可解釋性。但最近的一些研究認為,通過在推薦45,48 - 50中使用知識,通過神經網絡可解釋性[51],以及通過因果學習(因果推理)[52-58]來推理和理解用戶的偏好,基于圖嵌入的推薦也可以間接實現可解釋性。此外,基于圖嵌入的推薦與傳統推薦在推薦精度上也存在爭議。盡管基于圖嵌入的推薦通過利用旁側信息和知識,比傳統推薦在推薦精度上有了明顯的提高[59-62],然而,與傳統推薦相比,它似乎仍然揭示了某些推薦任務在預測隱式用戶-物品交互方面的相對弱點,這在第6節的模擬中得到了證明。Dacrema等人[63]也發現了類似的結果。
目前基于圖嵌入的推薦和傳統推薦缺乏統一的評價標準,這將導致未來對這些爭議的長期討論,涉及準確性、可擴展性、延伸性和可解釋性等方面的擴展視角。以及從數學家到數據科學家的跨學科研究人員的參與。發展基于圖嵌入的推薦和傳統推薦并不矛盾,因為分析傳統推薦背后的圖拓撲特征的方法可以啟發基于圖嵌入的推薦在子圖[64]、motif[65-67]、和鄰域[68-70]促進嵌入可解釋性[39]和推薦性能。同時,基于圖嵌入的推薦開創了會話推薦系統(CRS)[71]和新聞推薦[72]等新的推薦場景,為傳統推薦提供了更廣闊的應用前景。如果把這兩種功能結合起來,可以使推薦系統變得更大,而不是只專注于某一方面。
與傳統推薦綜述的成熟[11-13]不同,基于圖嵌入的推薦綜述[22,25,26,73-78]普遍缺乏系統的結構和深入的描述,為與跨學科研究人員和傳統推薦研究人員的全面溝通進行辯護。為了彌合這一鴻溝,本文對基于圖嵌入的推薦系統和基于傳統方法的推薦系統進行了全面的分析,并提出了基于圖嵌入的推薦系統的總體設計思路; 然后從二部圖、一般圖和知識圖譜的嵌入技術出發,系統地回顧了基于圖嵌入的推薦方法。此外,本文還對基于代表性圖嵌入的推薦模型和常用的傳統推薦模型在不同任務下的優缺點進行了仿真比較。揭示了傳統推薦模型在預測隱式用戶-物品交互方面優于基于圖嵌入的推薦模型。通過對實驗結果的分析,本文對基于圖嵌入的推薦與傳統推薦之間的權衡提出了建設性的建議,并提出了一些有待進一步研究的問題。
本文的其余部分組織如下。第2節涵蓋了主題和問題的基本定義,建立了對推薦系統的全面視角和基于圖嵌入的推薦的通用設計流程。章節3、4、5分別介紹了二部圖、一般圖和知識圖譜的回顧嵌入技術,以及相應的基于圖嵌入的推薦模型的回顧。表3和A2提供了這些模型的概述。第6節展示了基于代表性圖嵌入的推薦模型和最常用的傳統推薦模型在不同任務和數據尺度下的仿真結果,并對結果進行分析,提出建設性的權衡建議和一些開放性問題。最后,第7節提出了基于圖嵌入的推薦的前景,從當前的挑戰到潛在的解決方案。
近年來,采用異質信息網絡統一建模推薦系統中不同類型對象的復雜交互行為、豐富的用戶和商品屬性以及各種各樣的輔助信息,不僅有效地緩解了推薦系統的數據稀疏和冷啟動問題,而且具有較好的可解釋性,并因此得到了廣泛關注與應用。據我們所知,本文是首篇專門介紹基于異質信息網絡的推薦系統的綜述。
具體而言,本文首先介紹了異質信息網絡和推薦系統的核心概念和背景知識,簡要回顧了異質信息網絡和推薦系統的研究現狀,并且闡述了將推薦系統建模為異質信息網絡的一般步驟。然后,本文根據模型原理的不同將現有方法分為三類,分別是基于相似性度量的方法、基于矩陣分解的方法和基于圖表示學習的方法,并對每類方法的代表性工作進行了全面的介紹,指出了每類方法的優缺點和不同方法之間的發展脈絡與內在關系。最后,本文討論了現有方法存在的問題,并展望了該領域未來的幾個潛在的研究方向。
1 引言
推薦系統往往面臨著數據稀疏和冷啟動問題,因此無法得到精準的推薦結果。在推薦系統中引入輔助信息可以有效地緩解這些問題。例如社會化推薦根據用戶之間的關系構造社交網絡作為輔助信息,從而能夠在推薦系統中充分利用社會關系對用戶喜好的影響。類似地,基于地理位置的社交推薦構建了用戶與位置之間的關系,通過用戶的位置記錄來捕捉用戶的行為偏好。然而,這些方法僅適用于某種特定類型的輔助信息,不具有普適性。
異質信息網絡是一種通用的融合多源數據的方法。通過將推薦系統視為由不同類型對象和交互構成的異質信息網絡,我們可以建模用戶與商品之間復雜的交互關系,而且可以有效融合屬性和各類輔助信息。基于異質信息網絡的推薦系統在信息融合、探索結構語義等方面具有顯著優勢,不僅可以有效緩解數據稀疏與冷啟動問題,而且有助于提升推薦系統的準確性和可解釋性,因此取得了廣泛的關注與應用。
綜述的章節編排如下:第2章簡要介紹推薦系統和異質信息網絡的相關概念與定義;第3章按照模型原理的不同,對基于異質信息網絡的推薦系統進行分類,并對現有方法進行了系統地梳理與分析;第4章展望了基于異質信息網絡的推薦系統未來研究方向;第5章回顧并總結全文。(在這里,主要展示第3章和第4章的核心內容,其他內容詳見論文原文。)
2 模型分類
目前,研究人員設計了各種適用于異質信息網絡建模的推薦算法。本章根據模型的不同,將現有工作進行分類,如表1所示。 圖片
2.1 基于相似性度量
推薦系統的個性化匹配往往基于對實體相似性的度量,而協同過濾需要基于用戶與商品之間的交互歷史計算相似度。早期的相似性度量算法僅對同質信息網絡定義,然而,這些算法忽視了對象和聯系的不同類型,不適用于建模為異質信息網絡的推薦系統。為了解決這一問題,研究者們提出了一系列用于異質信息網絡中實體相似性度量的算法,主要包括基于隨機游走的方法和基于元路徑的方法。基于這兩類異質信息網絡相似性度量算法,研究者們提出了很多協同過濾算法的變體,本文將這類方法統稱為基于相似性度量的方法。(詳見原文)
2.2 基于矩陣分解
為了解決相似性度量方法存在的時空復雜度高的問題,推薦系統的研究者們提出了矩陣分解模型,其原理是通過分解評分矩陣來提取出用戶和商品的隱向量,然后根據隱向量的相似度進行推薦。傳統的矩陣分解模型在訓練時使用隱向量重構共現矩陣作為優化目標,無法利用異質信息網絡中豐富的語義信息。很多研究者提出適用于異質信息網絡建模的矩陣分解方法,可以分為兩類:基于正則化的方法,和基于神經矩陣分解的方法。與基于相似性度量的方法相比,本節介紹的方法不依賴顯式的路徑可達性,當路徑連接稀疏或嘈雜時也不會失敗。(詳見原文)
2.3 基于圖表示學習
隨著深度學習的發展,基于神經網絡的推薦模型憑借其強大的特征交叉能力以及模型架構設計的靈活性,取得了較好的推薦效果。然而,傳統的神經網絡并不能直接建模圖結構。隨著圖表示學習技術的興起,研究者們嘗試設計融合圖表示學習技術的推薦模型,從而更好地學習圖數據中豐富的結構和語義信息。本節將這類方法統稱為基于圖表示學習的方法,并進一步分為基于兩階段訓練的方法和基于端到端訓練的方法。(詳見原文)
3 未來研究方向
異質信息網絡作為一種融合輔助信息的建模方法,憑借其緩解數據稀疏與冷啟動問題、提升模型性能與可解釋性等方面的優勢,已經在各種各樣的推薦系統模型和推薦任務上得到了應用。然而,基于異質信息網絡的推薦系統仍面臨很多挑戰,本節將介紹幾個潛在的未來研究方向。(詳見原文) 新型的異質圖推薦的模型與應用:基于圖神經網絡的推薦系統模型仍存在過平滑、魯棒性差等缺陷,而目前在圖神經網絡中引入異質信息的方法也仍不夠靈活,如何設計更好的異質圖推薦模型存在挑戰,如何將異質信息網絡用于更多類型的推薦任務也存在挑戰。
面向跨域數據的異質圖推薦:目前的絕大多數工作僅關注在單一異質網絡上的推薦任務,與單圖推薦相比,跨域推薦存在很多額外的挑戰。例如,如何設計源域到目標域的映射函數,如何在利用跨域信息的同時不泄露用戶隱私等,如何應對上述挑戰是未來的研究重點。
面向大規模實時場景的異質圖推薦:真實的推薦系統往往需要處理超大規模的數據,并且對推薦的實時性有較高的要求,因此很多復雜的推薦模型無法直接使用。大規模實時推薦主要面臨兩方面問題:一方面是模型的輕量化,另一方面是模型的動態更新。目前的推薦算法輕量化和動態更新方法主要適用于二分圖,如何將其應用于異質信息網絡存在挑戰。
基于事件社會網絡(Event-Based Social Network,EBSN)是一種結合了線上網絡和線下網絡的新型社會網絡,近年來得到了越來越多關注,已有許多國內外重要研究機構的研究者們對其進行研究并取得許多研究成果.在EBSN推薦系統中,一個重要任務就是設計出更好、更合理的推薦算法以提高推薦精確度和用戶滿意度,其關鍵在于充分結合EBSN中的各種上下文信息去挖掘用戶、事件和群組的隱藏特征.本文主要對EBSN推薦系統的最新研究進展進行綜述. 首先,概述EBSN的定義、結構、屬性和特征,介紹EBSN推薦系統的基本框架,以及分析EBSN推薦系統與其他推薦系統的區別.其次,對EBSN推薦系統的主要推薦方法和推薦內容進行歸納、總結和對比分析.最后,分析EBSN推薦系統的研究難點及其發展趨勢,并對本文作出總結.
//www.jos.org.cn/jos/ch/reader/view_abstract.aspx?file_no=6145&flag=1
推薦系統旨在為用戶推薦個性化的在線商品或信息, 其廣泛應用于眾多Web場景之中, 來處理海量信息數據所導致的信息過載問題, 以此提升用戶體驗. 鑒于推薦系統強大的實用性, 自20世紀90年代中期以來, 研究者針對其方法與應用兩方面, 進行了大量廣泛的研究. 近年來, 很多工作發現知識圖譜中所蘊含的豐富信息可以有效地解決推薦系統中存在的一系列關鍵問題, 例如數據稀疏、冷啟動、推薦多樣性等. 因此, 本文 針對基于知識圖譜的推薦系統這一領域進行了全面的綜述. 具體地, 首先簡單介紹推薦系統與知識圖譜中的一些基本概念. 隨后, 詳細介紹現有方法如何挖掘知識圖譜不同種類的信息并應用于推薦系統. 此外, 總結了相關的一系列推薦應用場景. 最后, 提出了對基于知識圖譜的推薦系統前景的看法, 并展望了該領域未來的研究方向.