可解釋推薦系統總結
1. 摘要
隨著網際網路技術和產業的迅速發展,接入網際網路的伺服器數量和網頁數量也呈指數級上升。使用者面臨著海量的資訊,傳統的搜尋演算法只能呈現給使用者(user)相同的物品(item)排序結果,無法針對不同使用者的興趣愛好提供相應的服務。為了解決資訊過載(Information overload)的問題,人們提出了推薦系統。現如今,推薦系統已廣泛地應用到網際網路的許多方面。每天,我們閱讀著新聞系統推薦的新聞,看著電影網站推薦的電影,聽著音樂軟體推薦的歌曲,並在電商平臺上買下系統推薦的商品。個性化推薦系統的實現,大大方便了使用者的使用,提升效率,也改善了使用者的體驗。
但是,使用者面對著系統推薦的物品,心裡可能會產生疑惑:為什麼向我推薦這些內容。為了使得推薦內容更容易被使用者所接受,通常在給使用者推薦的同時,加上相應的解釋。例如,推薦電影時加上“95%的使用者觀看後表示喜歡”,推薦商品時加上“根據購買記錄推薦下面的商品”等等的解釋。相比與傳統的推薦系統,可解釋系統不僅能夠提升系統透明度,還能夠提高使用者對系統的信任和接受程度 、使用者選擇體驗推薦產品的概率以及使用者滿意程度等等
作為人工智慧領域的一個重要分支,可解釋推薦系統現已經應用到電子商務、醫療、學術等領域 ,推薦系統的可解釋性也是一個重要的研究方向。在《Explainable Recommendation:A Survey and New Perspectives》2中,作者介紹瞭解釋生成的方法模型、可解釋系統的評估以及可解釋系統的發展方向。下面的內容是對文章的一個總結,並加上自己的一些理解。
2. 解釋的形式
面對不同的實際應用場景,推薦系統的解釋有不同的形式。
2.1 基於使用者和物品的解釋
基於使用者和物品的推薦都是一種協同過濾推薦,根據目標使用者的行為特徵,發現一個興趣相投、擁有共同經驗的群體,然後根據群體的喜好來為目標使用者過濾可能感興趣的內容。基於使用者的解釋可以表訴為“跟您相似的使用者都喜歡該物品”,基於物品的解釋可以表訴為“這個物品和您喜歡的其他物品相似”。
2.2 基於內容的解釋
基於內容推薦解釋常見的表現形式是將推薦物品中使用者感興趣的主要特徵進行列舉。例如,對於基於電影型別,演員,導演等生成電影推薦;基於書籍型別,價格,作者等提供書籍推薦。比如,《哈利·波特》是一本科幻小說;使用者愛麗絲很喜歡科幻小說,系統就會直接推薦一本新出版的《哈利·波特》給愛麗絲。 通過以特徵作為解釋,使用者可以直觀的理解內容為什麼被推薦。
2.3 文字解釋
文字解釋通常是生成一條文字語句作為解釋。通過建立模型,分析大量的評論資訊,並提取評論當中的特徵及其相對應感情色彩,基於模板生成合理的評論句子作為解釋。例如,“你也許對【特性】感興趣”。系統不僅可以提供內容被推薦的解釋,同時也能夠提高內容不被推薦或者不適合使用者的原因,這提高了推薦系統的說服力,可信度。文字解釋句子也可以在沒有模板的情況下生成,通過使用長期短期記憶(LSTM)生成專案的評論解釋,並通過基於學習的大規模使用者評論資料,模型可以自動生成合理的評論句子作為解釋。
2.4 視覺解釋
利用視覺影象的直觀性,嘗試利用產品影象進行可解釋的推薦。採用與影象和文字評論資訊相結合的神經注意機制來了解影象中每個區域的重要性,並將重要區域作為視覺解釋進行突出顯示。
2.5 社交解釋
社交解釋通常被應用在社交網路的朋友推薦上。在基於使用者的解釋中,目標使用者可能根本不知道具有“相似興趣”的使用者,通過告訴使用者他/她的社交朋友對推薦專案有類似興趣,那麼內容將更容易被接受。UniWalk演算法就利用評級資料和社交網路來生成可解釋和準確的產品推薦。
2.6 混合解釋
在許多實際系統中,將多種型別的解釋整合為對使用者的混合解釋,以使使用者可以從多個角度理解推薦。系統利用多種推薦演算法來構建混合推薦系統,因此,對混合推薦輸出的解釋一致是十分重要的。
3. 可解釋推薦系統模型
目前大多數的可解釋推薦方法是基於模型的方法,即推薦由矩陣/張量因子分解,分解機,主題建模和深度推薦模型等模型提供,同時,模型的推薦結果可以作為解釋。
3.1 矩陣分解模型
許多可解釋的推薦模型是基於矩陣分解的方法提出的,最為典型的代表有隱因子模型(LFM)和顯因子模型(EFM)。
3.1.1 隱因子模型(LFM)
隱因子模型抽象出隱因子空間,其中隱因子可以理解為一個使用者喜歡一個電影的隱形原因,比如電影裡面有他喜歡的romantic和action元素,還有他喜歡的某個演員或者導演編劇。如果另外一個電影有類似的元素跟演員,那麼他很有可能會也喜歡這部電影。LFM的核心思路就是通過評分矩陣,求出使用者的向量和電影的向量3。隱因子模型的特點是分類過程中,不需要關心分類的角度,結果都是基於使用者打分自動聚類的,分類的粒度通過設定LFM的最終分類數來控制。
但是,隱因子模型存在著一些不足:
單一的打分不能反映使用者對物品各項特徵的偏好,沒有利用到使用者評論。
類別是抽象出來的,沒有明確的含義,所以向用戶推薦物品時,很難給出推薦解釋。
3.1.2 顯因子模型
為了避免隱因子的一些問題,研究者提出了顯因子模型,其基本思想是推薦在使用者關心的功能上表現良好的產品4。 通過對使用者評論進行phrase-level(短語級)的情感分析,顯式地抽取物品的特徵和使用者的意見。 例如下圖,從使用者評論中抽取物品的特性:screen、earphone。然後,抽取使用者對這些特徵的意見:perfect、good。如果這些表示意見是積極的情感,則用1表示;反之則用-1表示。所以在下面的例子中,情感短語表示為(screen, perfect, 1), (earphone, good, 1)這樣的三元組,這一條條短語就組成了情感詞典。 通過構建使用者打分矩陣、使用者-特徵關注矩陣以及物品-特徵質量矩陣,估計損失值,最後生成Top-K推薦,並可根據特徵向用戶解釋推薦理由。
顯因子模型主要的優點有:
- 充分利用使用者評論,提高演算法的精準度。
- 直觀地解釋推薦理由,從而幫助使用者更快決定是否購買。特別是建議使用者不要購買某些物品,有助於提高使用者對系統的信任度。
另外,也有研究者將此模型拓展到張量均勻化,構建使用者-專案-特徵立方體,通過成對學習精選排序以確定使用者對特徵和專案的偏好,這有助於緩解矩陣稀疏性的問題。
3.1.3 其他
有研究者提出了情感效用邏輯模型(SULM),通過從評論中提取使用者對物品特徵的情感,並將這些特徵和情感被整合到矩陣分解模型中,適應未知的情緒和評級,最終用於生成建議。所提出的方法不僅向用戶提供推薦的專案,而且還提供專案的推薦特徵,並且這些特徵用作推薦的解釋。
另外研究人員還研究了基於模型的使用者和/或基於專案的解釋方法,這些方法可以僅根據使用者專案評級矩陣提供可解釋的建議。也有科學家提出提出可解釋的受限Boltzmann機器用於協同過濾和推薦,該方法可提供基於使用者的鄰域樣式解釋。
3.2 主題模型
主題模型是對文字隱含主題進行建模的方法。例如,判斷兩篇文件是否相關往往不只決定於字面上的詞語重複,還取決於文字背後的語義關聯。對語義關聯的挖掘,可以讓我們的搜尋更加智慧化。而主題模型則是用於解決這個方法的非常經典的模型。 它克服了傳統資訊檢索中文件相似度計算方法的缺點,並且能夠在海量網際網路資料中自動尋找出文字間的語義主題。
研究者們首先提出隱藏因子和主題(HFT)模型,通過將專案(或使用者)潛在向量的每個維度相關聯,將潛在因子模型和潛在Dirichlet分配(LDA)聯絡起來,提高評級預測的準確性。隨後,有研究者提出提出了FLAME模型(Factorized Latent Aspect ModEl),它結合了協同過濾和基於方面的意見挖掘的優點。從過去的評論中瞭解使用者對不同方面的個性化偏好,並通過集體智慧預測使用者對新專案的評估。
3.3 深度學習模型
深度學習和表徵學習在推薦研究界引起了很多關注,並且它們被廣泛應用於可解釋的推薦上。到目前為止,相關的可解釋推薦模型涵蓋了廣泛的深度學習技術,包括卷積神經網路(CNN),迴圈神經網路RNN / 長短期記憶網路(LSTM),注意力機制,記憶網路等,它們被應用於關於可解釋性的各種推薦任務,例如top-n推薦, 順序推薦等。
有研究者使用卷積神經網路(CNN),對具有雙重區域性和全域性關注的文字評論來模擬使用者偏好和物品屬性,突出顯示評論中的相關單詞作為解釋,以幫助使用者理解建議。另外也有研究者引入了注意機制來探索評論的有用性,並提出了一種神經注意迴歸模型,其中包含了複習水平的解釋推薦。最近,基於自然語言生成的可解釋建議已經應用於商業電子商務系統。例如,淘寶的推薦系統根據資料對序列的自然語言生成推薦專案解釋。
3.4 知識圖譜
知識圖譜最初由谷歌公司於2012年5月16日宣佈推出,旨在提升搜尋引擎返回的答案質量和使用者查詢的效率 。有知識圖譜作為輔助,搜尋引擎能夠洞察使用者查詢背後的語義資訊,返回更為精準、結構化的資訊,更大可能地滿足使用者的查詢需求5。
在各種輔助資訊中,知識圖譜作為一種新興型別的輔助資訊近幾年逐漸引起了研究人員的關注。知識圖譜(knowledge graph)是一種語義網路,其結點(node)代表實體(entity)或者概念(concept),邊(edge)代表實體/概念之間的各種語義關係(relation)。6一個知識圖譜由若干個三元組(h、r、t)組成,其中h和t代表一條關係的頭結點和尾節點,r代表關係。例如下圖所示的關係,表達了斯蒂文·斯皮爾伯格導演了頭號玩家電影,其中h=斯蒂文·斯皮爾伯格、t=頭號玩家、r=導演。
通過組合若干個語義關係,可以生成知識圖譜。知識圖譜中包含了實體之間豐富的語義關聯,可為推薦系統提供了潛在的輔助資訊來源。和其他的推薦模型相比,知識圖譜的引入可以讓推薦系統有如下特性:
- 精確性。知識圖譜為物品引入了更多的語義關係,可以深層次地發現使用者興趣。
- 多樣性。知識圖譜提供了不同的關係連接種類,有利於推薦結果的發散。
- 可解釋性 。知識圖譜可以連線使用者的歷史記錄和推薦結果,從而提高使用者對推薦結果的滿意度和接受度,增強使用者對推薦系統的信任。
但是,知識基於路徑的知識圖譜推薦方法存在一定的侷限性,研究者提出了Ripple Network。這是一個將知識圖納入推薦系統的端到端框架,類似於在水面上傳播的實際波紋,通過自動迭代,沿知識圖中的連結擴充套件使用者的潛在興趣,並可以在知識圖上找到推薦項路徑來提供解釋。
3.5 資料探勘
資料探勘方法對於推薦研究很重要,資料探勘方法通常具有可解釋推薦的特別優勢,因為它們可以生成非常直接的解釋,並且這些解釋易於使用者理解。一個典型的例子就是“沃爾瑪啤酒和尿布”的故事。
現如今,很多的網際網路平臺,包括電商、視訊、打車等平臺在內,都會使用資料探勘的方式對使用者進行商品的推薦,使用者每天瀏覽消費,產生海量的資料供平臺分析。平臺通過分析資料,可以直觀的告知使用者當前的流行趨勢、地區特色等等,並以此為解釋將物品推薦給使用者。
作者還在文中提到Youtube視訊推薦系統,推薦系統是通過網站上使用者監視活動的會話,為每個使用者設定視訊的種子集,其中包括用歷史、收藏、喜歡、評級等等視訊,將這些種子視訊的相關視訊作為推薦候選專案,並將關聯規則作為解釋。雖然現在(2018年)Youtube的視訊推薦是不提供推薦解釋,但是推薦到內容卻是如此的精準,這是因為Google在2016年開始採用了深度學習演算法,包括Google Assistant、Google Map、Google Photos等等谷歌產品。尤其是在今年2018的Google I/O大會上,Google的AI技驚四座,將AI又推向新的熱潮。
4. 可解釋推薦系統的評估
中國有句諺語:魚和熊掌不可兼得,這似乎一直是一個歷史難題。人們在想要得到某一些東西的時候,往往需要失去另一些東西。在演算法領域,為了設計出一個時間效率高的演算法,通常會捨棄一些空間,這是所謂的空間換時間。同樣的,在推薦領域,為了使得推薦效能更好,不得不在可解釋性上做出讓步。因此,可解釋的推薦演算法的評估主要在評級預測或top-n推薦方面,以及評估說服性和有效性等方面的解釋效能。下面就推薦效能以及推薦解釋性的評估方法做出總結。
4.1 推薦效能評估
推薦效能的評估方法分為離線評估和線上評估。在離線方法中,通常可以使用平均絕對誤差(MAE)和均方根誤差(RMSE)來評估評級預測的效能。對於top-n推薦,可以使用許多排名度量進行評估。 最常用的度量可以是精確度,召回率,F1度量值,歸一化折扣累積增益量(NDCG)等。在線上方法中,通過點選率(CTR),轉換率(CR)以及其他與業務相關的衡量指標進行評估。線上評估通常被商業公司使用,可以通過大量使用者的訪問進行實驗。
4.2 解釋效能評估
解釋效能評估的方法中也包含線上評估和離線評估,另外還包括使用者研究和案例研究評估。通常,線上評估更容易實施,而線上評估和使用者研究取決於實際系統中資料和使用者的可用性。
4.2.1 離線評估
離線評估通常有兩種評估推薦解釋的方法。一種是忽略解釋質量,評估可解釋推薦模型可以解釋的推薦專案的百分比;第二種方法是準確評估解釋的質量。但是,為了更全面地評估建議解釋,需要更多的離線評估措施和協議。
4.2.2 線上評估
評估解釋建議的另一種方法是通過線上實驗,也是基於轉換率(CR)和點選率(CTR)等線上測量,類似於推薦效能的線上評估。可能有幾種不同的觀點需要考慮線上評估解釋,包括說服力,有效性,效率和解釋的滿意度。
4.2.3 基於使用者研究的模擬線上評估
線上評估需要一個擁有大量使用者的已部署系統,這通常需要廣泛的協作或與商業公司合作。一種較為簡單的方式是通過基於志願者或付費實驗科目的使用者研究,模擬線上評估。志願者或有償受試者可以直接由研究人員僱用,也可以基於各種線上眾包平臺聘用。
4.2.4 案例研究定性評估
作為定性分析的案例研究也經常用於可解釋的推薦系統研究。提供案例研究有助於理解可解釋推薦模型背後解釋的有效性,並且有助於讀者理解提議的方法何時起作用以及何時不起作用。研究者提供瞭解釋順序的案例研究,作者發現許多順序建議都可以根據使用者的“一對多”或“一對一”行為模式進行解釋,這些解釋可以幫助使用者清楚地理解為什麼推薦一個專案,以及推薦的方式。
5. 可解釋推薦系統的應用
可解釋推薦的研究和應用跨越了許多不同的場景,例如可解釋的電子商務推薦,可解釋的社交推薦,可解釋的多媒體推薦等,甚至在醫療、學術等領域 ,也已經開始應用。
可解釋推薦系統在電子商務產品的推薦中被廣泛採用,平臺通過商品的推薦可以提供個性化服務,提高使用者信任度和粘性。當然,還可以增加營收。 例如,亞馬遜每年35%的銷售額都來源於它的推薦。在社交領域中,好友的推薦、新聞推送推薦以及以及社交環境中的部落格,新聞,音樂,旅行計劃,網頁,影象,標籤等的推薦。社交關係不經能夠提高推薦效能,還可以提高推薦的解釋能力。可解釋性推薦對許多其他應用場景也很重要,例如學術推薦,引用推薦,醫療保健推薦等。雖然關於這些主題的直接可解釋推薦工作仍然有限,但研究人員已開始考慮可解釋性問題在這些系統中。
6. 新的研究方向
長期以來,推薦系統主要集中在開發廣泛的模型,以儘可能有效地找到最相關的結果。然而,推薦模型的可解釋性卻被忽視了。缺乏可解釋性主要存在於兩個方面:
- 推薦系統的輸出(即推薦結果)難以向系統使用者解釋。
- 推薦模型的機制(即推薦演算法)對系統設計師來說難以解釋。
現如今,隨著科技的不斷髮展,不斷有新的研究成果出現,我們可以通過使用深度學習、知識增強、異構資訊模型、自然語言生成等技術,來使得推薦模型生成解釋。作為人工智慧領域的一個研究分支,越來越多的人加入到其中的研究。期望知識圖譜技術,深度學習,自然語言生成,動態建模,模型聚合和會話系統技術在可解釋的推薦方面取得更多成就,可解釋的推薦系統的目標也將超越說服力,以進一步使系統使用者/設計者在許多其他方面受益。