035棋牌

2019-08-13 | 作者:陳仲夏、王希廷、謝幸

编者按:在个性化推薦系統中,如果能在提高推荐准确性的同时生成高质量的文本解释,将更容易获得用户的“芳心”。然而,现有方法通常将两者分开优化,或只优化其中一个目标。为了同时兼顾二者,微軟亞洲研究院社会计算组结合认知科学的相关理论,提出了基于互注意力的多任务模型,并用充分的实验证明了模型的有效性。


近年來,個性化推薦系統極大地提升了用戶遴選信息的效率。人們期望推薦系統能夠掌握用戶喜好,准確推薦用戶感興趣的商品。研究表明,在推薦的同時提供文字解釋可以有效獲得用戶的信賴,增加推薦系統的說服力與滿意度,因此推薦可解釋性(explainability)成爲新的研究熱點。在之前的兩篇文章(《可解釋推薦系統:身懷絕技,一招擊中用戶心理》及《可解釋推薦系統:知其然,知其所以然》)中,我們探討了可解釋推薦的定義、目標、解釋類型等,這篇文章中,我們將介紹我們的最新成果:高質量文本解釋生成。

高質量文本解釋生成在廣泛的行業領域具有強大的應用前景,能夠産生豐厚的經濟和市場價值。比如在金融交易領域,市場上的潛在交易非常多,目前這類交易大多通過人工經紀方式促成。如果推薦算法准確且可以生成高度可解釋的文本(如“出1個億隔夜,買斷質押皆可,中債AA以上,秒到,可拆分,走過路過不要錯過”),就可以在極大程度上替代目前的人工判斷,幫助挖掘用戶的潛在交易對象,還有助于對交易員進行精確畫像、促進對交易行爲模式的理解、增加交易多樣性等。

本研究由微軟亞洲研究院与中国外汇交易中心合作完成。中国外汇交易中心是微軟亞洲研究院“创新汇”成员,过去一年中,和微軟亞洲研究院在金融交易智能辅助系统、金融交易知识图谱等方面开展了深入的合作。本研究中,我们关注可解释性中一个关键问题:如何兼顧准確性和可解釋性這兩大要素,在生成高質量的文本解釋的同時提高推薦准確性。現有方法通常將兩者放在分開的兩個步驟中單獨優化,或是只優化其中一個目標,很大程度上限制了模型的表現。我們以兩類應用最廣泛的可解釋推薦算法爲例進行闡釋。這兩類可解釋推薦算法爲後處理(post-hoc)和嵌入式(embedded)。

後處理方法(圖1(a))側重于爲已有的黑箱推薦模型提供解釋。這類方法先優化模型准確性,再根據推薦結果生成解釋。這樣的方式丟失了推薦模型中包含的豐富信息,往往是通過預定義模板生成解釋,既無法反映系統的真實推薦原因,也欠缺多樣性,容易讓用戶覺得枯燥。

圖1:不同的可解釋推薦系統結果示例

嵌入式方法(圖1(b)(c))將解釋生成模塊整合到推薦模型中,優化目標通常只考慮推薦准確性,解釋由對提高推薦准確性最有效的重要特征或是句子構成。這種方法沒有在優化目標中考慮可解釋性,因此無法保證解釋的質量及個性化程度。

那麽,如何構建一個聯合、統一的框架同時對推薦性和可解釋性進行高效優化呢?一個直接的想法就是利用多任務學習。這是因爲推薦與解釋生成任務都需要對用戶興趣進行精細刻畫,我們希望充分利用這兩個任務之間的聯系,使它們相互促進。

但是,簡單地共享兩個任務學習中所需的隱向量(比如用戶隱向量和商品隱向量)進行多任務學習存在兩個問題:一是這樣的隱向量本身不包含直觀的實際含義,不能在生成解釋的時候給予顯式約束,會使模型傾向于産生常見的套話(如圖1(d)所示);二是簡單的隱向量缺乏對用戶與商品的深層次交互的學習,其表示能力不足,繼而影響到推薦結果和解釋生成。我們發現,解決這個問題的關鍵是要對用戶與商品之間的深層次交互進行顯式、可解釋的建模,並將建模結果作爲約束直接影響解釋生成和推薦結果。這樣不僅能夠提高解釋效果(如圖1(e)所示),還可以促進推薦准確性的提高。

模型框架

受认知科学的相关启发,在IJCAI 2019上,我们提出了一种基于互注意力机制的多任务学习模型CAML。在认知科学中,人类进行信息处理的过程分为三个子阶段:(1)将输入信息进行编制、转换的编码阶段(encoding);(2) 选择编码信息中重要的片段并利用合适的形式(如网络)进行存储的存储阶段(storage);(3) 在实际任务中激活、解码存储的重要信息并依此做出决策的检索阶段(retrieval)。我们将认知科学中的三个阶段分别对应到框架中的三个子部分,设计了包含編碼器(encoder)、選擇器(selector)、解碼器(decoder)三部分的多任务学习架构。其中編碼器对应的是对输入信息进行编制、转换的编码阶段;選擇器挑选对用户、商品都重要的概念作为推荐及解释任务的共有知识(cross knowledge),对应存储阶段;解碼器利用共有知识分别进行推荐和解释生成,对应的是在实际任务中激活存储的重要信息并依此做出决策的检索阶段。

图2:基于互注意力的多任务学习模型 CAML

CAML 的模型框架如图2所示,模型需完成的具体任务是:给定用户u,商品v,以及用户与商品的历史点评信息,预测出用户对该商品的评分r,同时产生一条文字解释阐述用户喜欢或不喜欢该商品的原因。同时,为了提取历史点评中的重要信息及特征,我们利用微软概念图谱(Microsoft Concept Graph)筛选出点评中的重要概念词(concept)。下面我们对編碼器、選擇器、解碼器分别进行具体介绍。

編碼器主要由两部分组成:(1)文字編碼器将点评中的每个词编码为词向量,综合点评中的全部词向量,我们可以对该点评进行编码;(2)用户及商品隐表示編碼器学习用户及商品的隐向量,用这些隐向量对其显式特征信息进行补充。

選擇器意在遴选对推荐与解释生成任务来说都很重要的点评以及概念,作为两个任务共有的知识。与强化学习方式相比,多指针互注意力网络能够更好地建模用户与商品的深层信息交互,拥有更好的学习效率及收敛性。受此启发,我们设计了一种层级的多指针互注意力選擇器(multi-pointer co-attention selector),仅对重要信息进行保留。

具体地,每个指针(pointer)对应两层互注意力网络,分别选择一个用户或商品概念。我们以选择用户概念为例进行说明,选择商品概念可以以类似的方式进行。第一层互注意力网络,利用点评编码计算用户点评在商品历史点评中的相关程度。综合用户与商品各个点评之间的互注意力,模型便可在点评这一层面挑选出用户最重要的历史点评。由于选择过程中 argmax 函数不可导,难以进行梯度回传,我们采用近期研究工作中提出的 Gumbel Softmax 函数,在正向传播时使用硬性注意力,反向传播中仍保持软性注意力来保证梯度正常回传。在筛选出用户最重要的点评后,我们将点评展开到概念(concept)这一层次,利用第二层互注意力网络计算每个概念的作用,选择点评中最为重要的概念作为对用户点评信息的补充。

考虑到用户在进行评分或点评时可能参考多个历史点评,我们重复单指针選擇器的操作,可得到多组点评与概念编码。我们利用非线性层将这些用户及商品编码进行整合,通过選擇器获得基于互注意力的用户表示和商品表示,它们与用户及商品的隐向量共同组成了完整的用户及商品表示。

解碼器结合用户与商品表示,同时对推荐与解释生成进行优化。推荐任务中,我们使用因子分解机(Factorization machine)计算用户对商品的评分;解释生成中,我们利用循环神经网络 GRU 迭代地生成文字解释,预测的评分也作为输入信息以保持解释与评分的一致性。同时,我们结合選擇器中挑出的重要概念词设计了新的代价函数,显式地激励模型生成包含概念词的文字解释,从而提升生成解释的质量及信息量。

綜上,我們設計了基于互注意力機制的多任務學習模型,從更深層次刻畫了用戶與商品的信息交互,能夠互補地學習對推薦及解釋生成都有作用的曆史信息。

實驗結果

我们在亚马逊的电器、电影电视以及 Yelp 三个不同类型的公开数据集上对上述模型进行评测。我们采用常见的评价指标 Bleu 和 ROUGE 对生成解释的质量进行评测,将 CAML 与各种主流的解释生成模型进行对比,其结果如表1所示。在三个数据集上,CAML 的各个指标均超过了基准模型,其中 Bleu 得分在最优的基准算法的基础上均取得了14.6%以上的提升。

为了更好地说明 CAML 能够生成高质量的解释,我们还进行了人工评测,其结果如图3所示。与基准模型相比,我们生成的文本解释在流畅性和实用性上都取得了提升。生成的解释样例如表2所示。从表中可得知,我们生成的解释富有信息量,解释中包含的概念与用户的真实兴趣十分契合。这显示出我们设计的“編碼器—選擇器—解碼器”架构和多指针互注意力選擇器的有效性,以及建模深层次用户、商品交互和显式限制解释生成对提升解释生成质量的帮助。

表1:三個數據集上解釋生成質量的評測結果

圖3:三個數據集上的解釋生成的人工評測結果

表2:生成解釋的樣例

我们同时通过常用的 RMSE 评价指标对评分推荐任务进行评测,其结果如表3所示。与主流推荐算法相比,CAML 在各个数据集上均取得了最优的效果。这说明我们提出的架构及通过多层次互注意力建模深层次用户/商品交互在推荐任务中的有效性。

表3:三個數據集上評分預測的評測結果

我们还对模型中的重要模块进行了对比实验。从表1、2中 CAML-G(只保留解释生成任务)、CAML-R(只保留推荐任务)、CAML-C(去除模型中和 concept 有关的模块)与 CAML 的實驗結果对比可得知,多任务学习模型的效果强于各单任务学习模型,而引入概念(concept)也提升了相关评测结果,这进一步佐证了我们提出的模型的可靠性。

綜上,爲了兼顧推薦系統的准確性與可解釋性,我們參考認知科學的相關理論提出了基于互注意力的多任務模型,並用充分的實驗證明了模型的有效性。目前CAML模型模型尚無法解決推薦系統的冷啓動問題,我們將在未來的工作中嘗試對此進行改進。

了解更多技術細節,請閱讀我們的論文:

Co-Attentive Multi-Task Learning for Explainable Recommendation

論文鏈接:https://www.microsoft.com/en-us/research/uploads/prod/2019/05/caml_camera_ready.pdf

 

?