论文链接:https://arxiv.org/pdf/2007.04032.pdf
代码链接:https://github.com/RUCAIBox/KGSF

1、摘要

会话推荐系统(CRS)旨在通过交互式对话向用户推荐高质量的项目。尽管已为CRS做出了一些努力,但仍有两个主要问题有待解决。首先,对话数据本身缺少足够的上下文信息,无法准确地了解用户的偏好。第二,自然语言表达与项目级用户偏好之间存在语义鸿沟。

为了解决这些问题,我们结合了面向单词和面向实体的知识图谱(KG)以增强CRS中的数据表示,并采用互信息最大化来对齐单词级和实体级的语义空间。基于对齐的语义表示,我们进一步开发了用于KG增强的推荐程序组件,以及可以在响应文本中生成信息丰富的关键字或实体的KG增强的对话框组件。大量的实验证明了我们的方法在推荐和会话任务上都能产生更好的效果。

上图展示了一个具体的实例,红色单词表示一些重要的上下文信息,蓝色单词代表电影名称。

2、KGSF模型

整体模型框架如下:

主要包括4个部分:对话信息、基于知识图谱的语义融合(项目图谱DBpedia和单词图谱ConceptNet)、推荐系统和会话系统等。

2.1、编码外部知识图谱

2.1.1、编码面向单词的知识图谱

使用的知识图谱为ConceptNet,首先从整个知识图谱中筛选出与对话相关的单词,组成一个小型知识图谱,然后使用GCN学习单词节点的嵌入表示,即V(l)=ReLU(D−12AD−12V(l−1)W(l))V^{(l)}=ReLU(D^{-\frac{1}{2}}AD^{-\frac{1}{2}}V^{(l-1)}W^{(l)})V(l)=ReLU(D−21​AD−21​V(l−1)W(l))这里AAA代表邻接矩阵,忽略了知识图谱中的关系信息。这样,每个单词www得到一个dwd_wdw​维的向量表示vw\textbf{v}_wvw​。

2.1.2、编码面向项目的知识图谱

使用的知识图谱为DBpedia,首先从整个知识图谱中筛选出与对话内容相关的项目实体,组成一个小型知识图谱,然后使用R-GCN学习单词节点的嵌入表示,即ne(l+1)=σ(∑r∈R∑e′∈Eer1Ze,rWr(l)ne′(l)+W(l)ne(l))\textbf{n}_e^{(l+1)}=\sigma(\sum_{r\in\mathcal{R}}\sum_{e'\in\mathcal{E}_e^r}\frac{1}{Z_{e,r}}W_r^{(l)}n_{e'}^{(l)}+W^{(l)}n_e^{(l)})ne(l+1)​=σ(r∈R∑​e′∈Eer​∑​Ze,r​1​Wr(l)​ne′(l)​+W(l)ne(l)​)这里Eer\mathcal{E}_e^rEer​代表实体e在关系类型rrr下的邻居实体集合。这样,每个实体eee得到一个ded_ede​维的向量表示ne\textbf{n}_ene​。

2.2、通过互信息最大化融合两个知识图谱

在以上的两个部分,我们分别得到了单词的表示vw\textbf{v}_wvw​和实体的表示ne\textbf{n}_ene​,为了进行信息融合,我们对同时出现在一个对话中的单词和项目实体进行编码,使他们在隐空间中尽可能地接近,即g(e,w)=σ(ne⊤⋅T⋅vw)g(e,w)=\sigma(\textbf{n}_e^{\top}\cdot \textbf{T}\cdot\textbf{v}_w)g(e,w)=σ(ne⊤​⋅T⋅vw​)然后最大化互信息,即优化下面的式子:MI(X,Y)≥EP[g(x,y)]−EN[g(x′,y′)]MI(X,Y)\geq\mathbb{E}_P[g(x,y)]-\mathbb{E}_{N}[g(x',y')]MI(X,Y)≥EP​[g(x,y)]−EN​[g(x′,y′)]这里EP\mathbb{E}_PEP​和EN\mathbb{E}_NEN​分别表示正负样本。

由于在一个对话中有大量的单词-实体对,如果对每一个都这样计算,复杂度较高,因此,提出一个super token w~\tilde{w}w~来编码整个对话中的所有单词的融合表示,使用的方法为自注意力机制:vw~=V(C)⋅α\textbf{v}_{\tilde{w}}=V^{(C)}\cdot\alphavw~​=V(C)⋅αα=softmax(b⊤⋅tanh(WαV(C)))\alpha=softmax(b^{\top}\cdot tanh(W_{\alpha}V^{(C)}))α=softmax(b⊤⋅tanh(Wα​V(C)))这里,V(C)V^{(C)}V(C)表示出现在一个对话CCC中的所有上下文单词的嵌入表示。出现在同一个对话中的项目的表示也是采用类似的方法。

2.3、KG增强的推荐模块

根据自注意力机制,我们可以得到在一个对话CCC中的所有上下文单词的表示V(C)V^{(C)}V(C)以及所有出现的项目的表示N(C)N^{(C)}N(C),接下来对这两部分进行融合,得到用户uuu的偏好表示pu\textbf{p}_upu​:pu=β⋅V(C)+(1−β)⋅N(C)\textbf{p}_u=\beta\cdot V^{(C)}+(1-\beta)\cdot N^{(C)}pu​=β⋅V(C)+(1−β)⋅N(C)β=σ(Wgate[V(C);N(C)])\beta=\sigma(W_{gate}[V^{(C)};N^{(C)}])β=σ(Wgate​[V(C);N(C)])得到用户的偏好表示之后,把项目集中的某个项目iii推荐给用户uuu的概率为Prrec(i)=softmax(pu⊤⋅ni)Pr_{rec}(i)=softmax(\textbf{p}_u^{\top}\cdot\textbf{n}_i)Prrec​(i)=softmax(pu⊤​⋅ni​)整个损失函数为Lrec=−∑j=1N∑i=1M[−(1−yij)⋅log⁡(1−Prrec(j)(i))+yij⋅log⁡(Prrec(j)(i))]+λ∗LMIML_{rec}=-\sum_{j=1}^N\sum_{i=1}^M\left[-(1-y_{ij})\cdot\log\left(1-Pr_{rec}^{(j)}(i)\right)+y_{ij}\cdot\log\left(Pr_{rec}^{(j)}(i)\right)\right]+\lambda*L_{MIM}Lrec​=−j=1∑N​i=1∑M​[−(1−yij​)⋅log(1−Prrec(j)​(i))+yij​⋅log(Prrec(j)​(i))]+λ∗LMIM​其中,jjj为对话的索引,iii为项目的索引。

2.4、KG增强的应答生成模块

对于用户提出的一个为题,为了生成一个应答,这里采用Transformer模型来形成一个encoder-decoder框架。为了在decoder中生成应答,我们在子注意力模块之后加入两个基于KG的注意力层,以此来融合外部KG信息:

使用copy mechanism来增强生成的应答的质量:Pr(yi∣y1,⋯,yi−1)=Pr1(yi∣Ri)+Pr2(yi∣Ri,G1,G2)Pr(y_i|y_1,\cdots,y_{i-1})=Pr_1(y_i|R_i)+Pr_2(y_i|R_i,\mathcal{G}_1,\mathcal{G}_2)Pr(yi​∣y1​,⋯,yi−1​)=Pr1​(yi​∣Ri​)+Pr2​(yi​∣Ri​,G1​,G2​)损失函数为Lgen=−1N∑t=1Nlog⁡(Pr(st∣s1,⋯,st−1))L_{gen}=-\frac{1}{N}\sum_{t=1}^N\log(Pr(s_t|s_1,\cdots,s_{t-1}))Lgen​=−N1​t=1∑N​log(Pr(st​∣s1​,⋯,st−1​))这里NNN代表在一个对话CCC中的对话轮数,我们为CCC中的每个句子sts_tst​分别计算损失。
整个算法流程为:

3、实验

实验数据集为REcommendations through DIALog(REDIAL),划分训练集、验证机和测试集的比例为8:1:1。

推荐任务实验结果:

有无MIM loss对实验结果的影响:

对话生成任务实验结果:

消融实验:

case study:

4、展望

  1. 融合更多的外部信息,比如,用户的统计特征等。
  2. 如何生成高质量的应答。
  3. 如何融入用户-项目交互信息。

KGSF:通过基于语义融合的知识图谱来改善会话推荐系统 KDD2020相关推荐

  1. 基于深度学习的知识图谱综述

    基于深度学习的知识图谱综述 摘要:随着现如今计算机设备的更新,计算能力的不断提高促使深度学习再一度推上热门技术,深度学习已经广泛应用于图像处理.文本挖掘.自然语言处理等方面,在医学.交通.教育.旅游等 ...

  2. 数云融合丨知识图谱在烟草零售数字化转型中的应用

    一.知识图谱的趋势       随着互联网.云计算.大数据.人工智能等信息数据技术的快速发展,计算机的智能化程度也越来越高,知识图谱作为人工智能的核心技术,其在数据集成.语义表示和逻辑推理等方面存在着 ...

  3. 基于Neo4j的网络安全知识图谱构建分析

    摘要: 网络上大量安全情报知识以多源.异构.碎片化的形式存在,为使这些信息表达成安全人员能够有效管理.理解.组织的形式,构建了基于Neo4j的网络安全知识图谱.首先,设计了网络安全本体模型:其次,将权 ...

  4. SHU语义网与知识图谱

    SHU语义网与知识图谱 文章目录 SHU语义网与知识图谱 前言 课程笔记 第一讲:语义网概述 第二讲:RDF和RDFs RDF部分 RDFs及其形式语义 第三讲:本体论与OWL语言 本体论 OWL语言 ...

  5. 论文浅尝-综述 | 基于强化学习的知识图谱综述

    转载公众号 | 人工智能前沿讲习 论文来源:https://crad.ict.ac.cn/CN/10.7544/issn1000-1239.20211264 摘要:知识图谱是一种用图结构建模事物及事物 ...

  6. 【国内首家】第一个基于语音生成实时知识图谱的系统来啦!!!

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要8分钟 Follow小博主,每天更新前沿干货 基于文本生成知识图谱的研究很常见,但是基于语音生成知识图谱,这算是第一家. 在这个信息飞速发展的 ...

  7. AAAI 2020 开源论文 | 可建模语义分层的知识图谱补全方法

    ©PaperWeekly · 作者|蔡健宇 学校|中国科学技术大学 研究方向|知识图谱 近些年,知识图谱(Knowledge Graph)在自然语言处理.问答系统.推荐系统等诸多领域取得了广泛且成功的 ...

  8. 论文浅尝 | ​ADRL:一个基于注意力机制的知识图谱深度强化学习框架

    论文笔记整理:谭亦鸣,东南大学博士. 来源:Knowledge-Based Systems 197 (2020) 105910 链接:https://www.sciencedirect.com/sci ...

  9. 论文浅尝 | 可建模语义分层的知识图谱补全方法

    本文转载自公众号:PaperWeekly. 论文作者:蔡健宇,中国科学技术大学,研究方向:知识图谱 近些年,知识图谱(Knowledge Graph)在自然语言处理.问答系统.推荐系统等诸多领域取得了 ...

最新文章

  1. socks5协议RFC文档
  2. DataV 支持 token 验证啦!
  3. poj 1696(极角排序)
  4. 溢出键盘程序漏洞 得到管理员权限
  5. boost::spirit模块实现演示逗号分隔的数字列表的解析器的测试程序
  6. 反沙箱——SetErrorMode
  7. JMX学习笔记(一)-MBean
  8. ajax 同步怎么回调,Ajax jquery同步回调成功
  9. js元素事件的绑定与解绑,绑定事件的区别
  10. PureFTP安装配置
  11. 不要再危言耸听!家用电脑辐射全揭秘
  12. oracle恢复删除数据
  13. word 项目符号(或称之为无序编号),默认,可以采用星号加空格方式实现。
  14. git提交,安装配置 commitizen cz-conventional-emoji $git cz代替$git commit
  15. 【说透区块链系列】一文读懂什么是Web 3.0
  16. hexo next主题去掉码市的Coding Pages等待页
  17. 使用容联云获取短信验证码
  18. SpringBoot Thymeleaf Vue Mybatis 登录和注册的实现,以及使用Cookie实现七天免登录
  19. Android GPU呈现模式分析功能,手机流畅度。仅供参考
  20. 利用AD和AUTO CAD制作PCB电路板车间生产工序卡

热门文章

  1. MySQL 5.5 手册下载
  2. IoC容器Autofac(2) - 一个简单示例(附demo源码)
  3. 深入理解Golang之context
  4. HTTPS 跟 HTTP区别简述
  5. Redis分布锁原理简介和实现过程
  6. QEMU/KVM原理概述
  7. Linux Kernel Git国内镜像源
  8. Golang连接池的几种实现案例
  9. Java NIO---1
  10. docker开启mysql的binlog日志