论文链接: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 ) = R e L U ( D − 1 2 A D − 1 2 V ( l − 1 ) W ( l ) ) V^{(l)}=ReLU(D^{-\frac{1}{2}}AD^{-\frac{1}{2}}V^{(l-1)}W^{(l)}) V(l)=ReLU(D−21AD−21V(l−1)W(l))这里 A A A代表邻接矩阵,忽略了知识图谱中的关系信息。这样,每个单词 w w w得到一个 d w d_w dw维的向量表示 v w \textbf{v}_w vw。
2.1.2、编码面向项目的知识图谱
使用的知识图谱为DBpedia,首先从整个知识图谱中筛选出与对话内容相关的项目实体,组成一个小型知识图谱,然后使用R-GCN学习单词节点的嵌入表示,即 n e ( l + 1 ) = σ ( ∑ r ∈ R ∑ e ′ ∈ E e r 1 Z e , r W r ( l ) n e ′ ( l ) + W ( l ) n e ( 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,r1Wr(