CRS(4)阅读笔记:2020KDD - Improving Conversational Recommender Systems via Knowledge Graph based Seman...

前言

对话式推荐系统(CRS)旨在通过交互式对话向用户推荐高质量的物品。现有CRS有两个主要问题有待解决:

  • 对话数据缺少足够的上下文信息,无法准确地了解用户的偏好很实在的问题
  • 自然语言表达与物品级用户偏好之间存在语义鸿沟(semantic gap)语言表达到具体物品存在gap
    针对以上问题:
  • 文中结合了面向单词和面向实体的知识图谱(KG)来增强CRS中的数据表示,并采用互信息最大化来对齐单词级和实体级的语义空间。
  • 基于对齐的语义表征,进一步研究用于进行准确推荐的KG增强的推荐模型,以生成信息丰富的关键字或实体的KG增强对话模块。

在上图示例中,重要的是要理解单词“ scary”和电影“ Paranormal Activity(2007)”的基本语义。显然,仅基于话语文本很难获得这样的事实信息。其次,实际的用户偏好则反映在物品或实体(例如演员和体裁)上。两种数据信号之间存在自然的语义鸿沟。我们需要一种有效的语义融合方式来理解或产生话语。如表1所示,系统同时显示了推荐电影和推荐原因。在不弥合语义鸿沟的情况下,无法生成用于推荐解释的文本a classic thriller movie with good plot。为了丰富对话信息,在CRS中使用了外部知识图。它们主要集中于合并物品知识,而单词级的关系(例如,“恐怖”和“惊悚”之间的关系)却被以某种方式忽略了。此外,他们还没有考虑自然语言和外部知识之间的语义鸿沟。

本质上,问题源于:对话模块和推荐模块对应于两个不同的语义空间,即单词级语义空间和实体级语义空间。本文尝试合并两个特殊的KG,以增强这两个部分的数据表示,并通过关联两个KG来融合两个语义空间。
推荐关注物品信息,对话关注文本信息,分别对应实体级-和单词级-的KG,构成两个不同的语义空间

CRS Task Review

通过多轮对话向用户提供适当的商品。在对话中,聊天代理根据上下文对话历史分析并了解用户的偏好。然后,它要么生成适当的推荐,要么开始新一轮的对话以进一步解释。该过程结束,直到任务成功或用户离开。在CRS中,有两个主要组件需要开发,即推荐组件和对话组件。 这两个组件应无缝集成,并且成功推荐是最终目标。

Approach

1. Encoding External Knowledge Graphs

如上表一所示,完全理解用户偏好并生成合适的回复是非常难的。文中分别使用两个KG来在增强推荐侧(item/entity)和对话侧的表征(word)

  • Encoding Word-oriented KG
    基于微软的ConceptNet作为单词级KG,其中语义信息表示为<w_1,r,w_2>r为单词间的关系。并非ConceptNet中的所有单词都对任务有用,只考虑出现在语料库中的单词,从ConceptNet中提取它们相关的三元组,并删除了与语料库中的单词相关的三元组很少的单词。 基于GCN来捕获单词节点之间的语义关系。 在每次更新时,GCN都会从图中的一跳邻域接收信息,并执行汇总操作:
    通过对这个KG进行卷积学习获得单词w的adW维表示nw。 这里没有合并关系信息,因为关系的数量很大并且许多关系对推荐任务没有直接的帮助

这里没有介绍GCN的训练方式。

  • Encoding Item-oriented KG
    针对推荐物品,要考虑的另一种语义信息:物品及其相关实体。 利用开源KG: DBpedia。 三元组由⟨e1,r,e2⟩表示,其中e1,e2∈E是实体集E中的项目或实体,而r是关系集R中的实体关系。 从这些数据集中相关物品和实体作为种子开始,在DBpedia图上提取它们的一跳三元组。 对于面向物品的KG,关系语义还是很重要的。 因此利用R-GCN来学习提取的子图上的物品表示:

2. KG Fusion via Mutual Information Maximization

以上可以获得了两种KG的节点表征,分别由V(单词w)和N(物品表示n_e)表示。 为了弥合单词和物品之间的语义鸿沟,文中使用Mutual Information Maximization technique(MIM)互信息最大化技术,用于相互改善两个耦合信号(例如,输入和输出)的数据表示。 其核心思想是基于互信息(MI)的概念。 给定两个变量X和Y的MI定义为


MI实际上计算比较困难,MIM因此也不需要计算精确的MI值,而是尝试以下面的形式最大化MI:
\mathbb{E}_P\mathbb{E}_N分别表示正样本与负样本,简单理解为最大化正负样本差异?

对于本文,有两种语义信息(即单词和实体),并且希望对齐它们的语义表示空间。 进行对话后,首先从话语文本中收集单词(非停用词)和实体(包括物品)。 对于在对话中共同出现的实体词对⟨e,w⟩,我们通过转换矩阵拉近它们的表示

\mathbf{T}即转移矩阵,文中将对话中同时出现的所有单词-实体对视为正,而将随机单词-实体对视为负。 我们可以得出所有对话的客观损失,并使用优化算法将损失降到最低。 但是,对话通常包含许多上下文单词,并且枚举所有单词-实体对非常耗时。此外,其中一些单词存在噪音,可能会影响最终效果。 文中假设对话能够表示上下文单词的整体语义,因此为会话添加了一个超级令牌〜w。 不用考虑所有的词-实体对,我们仅使用g()函数对每个实体与超级令牌〜w之间的关系进行建模。我们利用自我注意机制来学习〜w的表示形式:
V^{(C)}表示当前对话C的上下文中的单词。

为了有效地对齐两个KG的语义空间,对前面利用的两个GNN采用MIM损失进行预训练,这迫使两个语义空间在开始时就接近。 在fine-tuning阶段,我们将MIM损失视为GNN的正则化约束,以防止过度拟合。 通过融合的KG的表示进行推荐。

3. KG-enhanced Recommender Module

推荐的重点是学习用户偏好。 与传统的推荐系统不同,文中假设没有以前的交互记录。(CRS推荐往往都只利用当时context的信息),我们只能利用对话数据来推断用户的偏好。 首先,整理对话中出现的所有单词。通过lookup,可以获得预训练的单词/物品向量,并将这些向量拼接得到矩阵V^{C}N^{C},通过自注意力机制对两个矩阵得到特征向量。

为了合并两部分的信息,利用gate机制来构建用户偏好表征:

推荐方法也比较简单:
那么loss形式如下:其中j即为对话轮次的索引,i为物品索引
循环整个数据并计算交叉熵损失。 这里仅针对一个对话具有一个真实推荐物品的情况,也可以将上述损失扩展到具有多个物品的情况。

4. KG-enhanced Response Generation Module

研究如何在CRS中生成回复话语,采用Transformer [27]开发编码器-解码器框架。 encoder遵循标准的Transformer架构。 并采用KG增强的decoder。 为了在解码时更好地生成响应,结合了上下文词和物品的KG增强表示。 在自我注意子层之后,我们进行两个基于KG的注意层,以融合来自两个KG的信息:


\mathbf{X}是encoder的输出,\mathbf{X}^{n-1}是上一层decoder的输出,区别与标准的Transformer,这块引入了的物品和单词的KG信息。

与聊天模型不同,预期生成的回复需要包含推荐的物品,相关实体和描述性关键词。 文中进一步采用复制机制(copy mechanism)来增强此类令牌的生成。 形式上,给定预测子y1,···,yi-1,产生yi作为下一个标记的概率为:


Pr_()是通过将encoder输出R_i作为输入,实现上是在词汇表上的softmax函数构成生成概率,Pr_2是通过复制机制实现的复制概率, 在两个KG的节点上,而G_1, G_2表示我们已使用的两个KG。 copynet:https://zhuanlan.zhihu.com/p/73590690
为了学习响应生成模块:


在训练中尝试将物品和文本表征两个语义空间进行融合。

实验

实验设置

  • 数据集
    基于REDIAL数据集进行构建,是电影推荐任务。
  • 评估:
    对于推荐任务,根据[4],我们采用Recall @ k进行评估。除了标准设置外,我们还考虑推荐系统中的一种特殊情况,即冷启动

在CRS中,由于我们有对话上下文。为了模拟CRS中的冷启动场景,我们仅考虑上下文中没有提及任何项目的测试案例。这项实验旨在研究我们的融合策略对于从基于单词的语音中学习用户偏好是否有用。

对于对话任务,评估包括自动评估和人工评估。我们使用Distinct n-gram(n = 2、3、4)来测量句子级别的多样性。对于CRS,对话系统能够生成与项目或实体相关的信息性答复尤其重要。因此,我们引入了一种新的度量标准,计算所生成话语中物品的比率。与传统的对话任务不同,我们不需要产生类似于地面真实话语的响应。相反,最终目标是成功提出建议。因此,我们采用人工评估,而不是使用BLEU指标。我们邀请三个志愿者在两个方面给生成的候选者打分,即流畅性和信息性 (Fluency and Informativeness)。分数范围是0到2。

小结

这篇工作的motivation指出了CRS现有问题,通过引入两种不同的KG来增强CRS,具体基于生成的思想进行对话生成,将对话和推荐两部分进行融合,跟其他通过策略控制对话和推荐的方法有较大区别。因此本文的CRS更偏向聊天向的任务。

END

本人简书所有文章均为原创,欢迎转载,请注明文章出处 。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问本人简书主页查看最新信息https://www.jianshu.com/u/40d14973d97c

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容