一种对话推荐方法技术

技术编号:39413268 阅读:4 留言:0更新日期:2023-11-19 16:04
本发明专利技术公开了一种对话推荐方法,包括以下步骤:1)获取对话历史的话语信息;2)根据对话历史的话语信息获取对话历史的相应的实体与语义表征;3)构建树结构存储对话历史当中的实体信息;4)在将预测的实体加入推理树后,根据预测的实体所在的推理分支和在该分支中提到相关实体的历史语料生成与预测的实体高度相关的语料,作为对话回复推荐。本发明专利技术通过构造一个推理树结构来存储对话历史当中的实体信息,维持了语句间的因果联系,基于该推理树对历史信息进行建模,能够更好地判断用户感兴趣的实体,从而达到更好的推荐效果与生成效果。从而达到更好的推荐效果与生成效果。从而达到更好的推荐效果与生成效果。

【技术实现步骤摘要】
一种对话推荐方法


[0001]本专利技术涉及数据挖掘技术,尤其涉及一种对话推荐方法。

技术介绍

[0002]对话式推荐系统(CRS)旨在通过对话及时追踪用户的动态兴趣,并为项目推荐生成相关回应。在近期的研究中,各种外部知识库(尤其是知识图谱)被纳入CRS,以加强对对话背景的理解。多数工作仅对提及实体进行了笼统的融合。少数基于推理的模型也严重依赖简化的结构,如线性结构或固定的层次结构来进行因果关系推理,因此它们都不能完全弄清带有外部知识的语篇之间的复杂关系。由于没有澄清所提到的实体之间的因果关系,于是模型无法充分利用历史信息,这严重限制了模型性能。

技术实现思路

[0003]本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种对话推荐方法。
[0004]本专利技术解决其技术问题所采用的技术方案是:一种对话推荐方法,包括以下步骤:
[0005]1)获取对话历史的话语信息;
[0006]2)根据对话历史的话语信息获取对话历史的相应的实体表征与单词的语义表征;具体如下:
[0007]根据外部的知识图谱DBpedia与ConceptNet,然后通过卷积图神经网络(GCN)编码语义,通过关系图神经网络(RGCN)编码实体,相应的实体表征与单词的语义表征;
[0008]3)构建树结构存储对话历史当中的实体信息;
[0009]所述构建树结构的方法如下:
[0010]3.1)初始化推理树,首先设置一个伪节点作为根节点;根节点,只是一个占位符;
[0011]3.2)以对话历史的第一个话语中,第一个提到的实体作为子节点直接连接到根节点;
[0012]3.3)当对话进展到第(n

1)轮时,已知条件如下:当前推理树T
n
‑1,第(n

1)轮时的回复词序列s
n
‑1;根据以上两部分进行推理树T
n
‑1的扩展;
[0013]采用树状结构推理和候选实体的选择与连接进行推理树T
n
‑1的扩展;
[0014]其中,树状结构推理如下:
[0015]编码所有的推理分支,并将它们填充到设定的长度l
r

[0016]所述推理分支为从根节点到树的任何叶节点的路径;
[0017]对子节点中每个实体,将一个可学习的位置表征嵌入到子节点每个实体元素的表征中,该位置表征用于表示每个推理分支的顺序信息,位置增强的分支嵌入矩阵表示为
[0018]其中,n
r
是T
n
‑1的分支数,d是表征的维度;
[0019]结合线性注意机制来整合每个路径的表示,其中,注意力分数的计算方法如下:
[0020][0021]α
r
=Softmax(b
r tanh(W
r
P))
[0022]其中,W
r
,b
r
是可学习的参数,为由每一条推理分支中实体的注意力加权和组成的矩阵;α
r
为每一分支上实体的注意力分数;Attn()表示线性注意机制;该过程可以总结为将某一推理分支中的所有实体表征根据注意力得分进行汇总,得到推理分支的综合表征;
[0023]候选实体选择和连接如下:
[0024]对每一个推理分支,分析其中单词的语义来衡量每个分支的影响
[0025]其公式如下:
[0026][0027][0028]其中,W
s
是一个可学习的参数,s是ConceptNet中单词标记的综合语义表征,它的聚合方式与树状结构推理过程中的线性注意机制聚合推理分支表征一致;p为每一条推理分支被门控筛选并聚合语义后,通过注意力机制加权起来的综合表征,γ为门控值,来衡量每一条分支对最终的推荐有多大的贡献;
[0029]为获得结合了语义和推理信息的用户表征p
u
,需要继续进行如下操作。由于最新的回合对反应有突出的意义,我们从当前的对话回合中收集实体和单词标记,并将其表征为e
c
,s
c

[0030]然后,我们汇总当前轮次信息,并将其与所获得的表征p互换,具体如下:
[0031]p
u
=g(p,g

(Attn(e
c
),Attn(s
c
))
[0032]其中,g,g

为两个门控机制,e
c
为当前的对话回合中的实体表征,s
c
为当前的对话回合中的单词表征;Attn函数如之前所示;
[0033]从整个用户表示中得出下一跳的可能性分布
[0034][0035]其中,e0,

,e
n
是所有实体的表征,具有最大概率的实体被选中并连接到推理树上;完成推理树T
n
‑1的扩展;
[0036]3)在将预测的实体加入推理树后,根据预测的实体所在的推理分支和在该分支中提到相关实体的历史语料生成与预测的实体高度相关的语料,作为对话回复推荐。
[0037]按上述方案,所述步骤3)中,对话回复中词汇的概率分布P
g
如以下公式:
[0038]R
l
=Decoder(R
l
‑1,E,U)
[0039]R
b
=FFN(Concat(Attn(E),R
l
))
[0040]P
g
=Softmax(R
l
V
T
+R
b
W
v
)
[0041]其中,E为对应推理分支中的实体表示矩阵,U为包含E中实体的话语,R
l
为第l层解码器的输入,其中R0为单词的token嵌入表示,R
b
为用于copy

mechanism中计算概率分布的偏置项;V是词汇中所有单词的嵌入矩阵,W
v
是一个可学习的参数,它将R
b
的维度转换为|V|维度。第二个式子中运用了copy

mechanism来增强对知识相关词语的运用。
[0042]按上述方案,函数训练采用交叉熵损失函数;
[0043]在训练过程中,我们提出了两个辅助损失函数,一个是隔离损失,以保持每个推理分支的独立性,另一个是对齐损失,以弥合表示差距;
[0044][0045]其中,λ
I

a
是超参数,e
i
是第i轮对话的目标实体;
[0046]为隔离损失,
[0047][0048]为对齐损失,
[0049][0050]按上述方案,步骤3)中概率分布P
g
训练采用交叉熵损失本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对话推荐方法,其特征在于,包括以下步骤:1)获取对话历史的话语信息;2)根据对话历史的话语信息获取对话历史的相应的实体表征与单词的语义表征;3)构建树结构存储对话历史当中的实体信息;所述构建树结构的方法如下:3.1)初始化推理树,首先设置一个伪节点作为根节点;根节点,只是一个占位符;3.2)以对话历史的第一个话语中,第一个提到的实体作为子节点直接连接到根节点;3.3)当对话进展到第(n

1)轮时,已知条件如下:当前推理树T
n
‑1,第(n

1)轮时的回复词序列s
n
‑1;根据以上两部分进行推理树T
n
‑1的扩展;采用树状结构推理和候选实体的选择与连接进行推理树T
n
‑1的扩展;其中,树状结构推理:编码所有的推理分支,并将它们填充到设定的长度l
r
;所述推理分支为从根节点到树的任何叶节点的路径;对子节点中每个实体,将一个可学习的位置表征嵌入到子节点每个实体元素的表征中,该位置表征用于表示每个推理分支的顺序信息,位置增强的分支嵌入矩阵表示为其中,n
r
是T
n
‑1的分支数,d是表征的维度;结合线性注意机制来整合每个路径的表示,其中,注意力分数的计算方法如下:α
r
=Softmax(b
r tanh(W
r
P))其中,W
r
,b
r
是可学习的参数,为由每一条推理分支中实体的注意力加权和组成的矩阵;α
r
为每一分支上实体的注意力分数;Attn()表示线性注意机制;将某一推理分支中的所有实体表征根据注意力得分进行汇总,得到推理分支的综合表征;其中,候选实体选择和连接:由于推理分支对下一跳实体有不同程度的贡献,该模型分析了单词的语义来衡量每个分支的影响;对每一个推理分支,分析其中单词的语义来衡量每个分支的影响其公式如下:其公式如下:其中,W
s
是一个可学习的参数,s是ConceptNet中单词标记的综合语义表征;p为每一条推理分支被门控筛选并聚合语义后,通过注意力机制加权起来的综合表征,γ为门控值;获得结合了语义和推理信息的用户表征p
u
;从当前的对话回合中收集实体和单词标记,并将其表征为e
c
,s
c
,然后汇总当前轮次信息,并将其与所获得的表征p互换,具体如下:p
u
=g(p,g

(Attn(e
c
),Attn(s
c
))
其中,g,g

为两个门控机制,e
c
为当前的对话回合中的实体表征,s
c
为当前的对话回...

【专利技术属性】
技术研发人员:魏巍李文迪范士轩谢文峰陈当阳
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1