System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于动态图聚合的对话推荐方法技术_技高网
当前位置: 首页 > 专利查询>云南大学专利>正文

一种基于动态图聚合的对话推荐方法技术

技术编号:44740150 阅读:1 留言:0更新日期:2025-03-21 18:07
本发明专利技术提出了一种基于动态图聚合的对话推荐方法,通过整合知识图谱信息提高对话推荐系统的性能。该方法首先利用GCN编码项目级别的知识图,然后通过动态图聚合在单词级别上编码知识图,根据对话上下文挑选相关三元组构建动态子图,形成全局图表示。过程中引入语言模型编码器以弥补知识图与语言模型间的语义差距,并采用注意力机制来增强学习到的图特征。此外,该方法增强了推荐模块和对话模块,分别使用Softmax函数计算推荐概率和下一个标记生成概率,优化了推荐结果和自然语言答复的质量。实验结果证明,本发明专利技术在推荐准确性和对话流畅性方面优于现有方法。

【技术实现步骤摘要】

本专利技术属于推荐系统,特别是涉及一种基于动态图聚合的对话推荐方法


技术介绍

1、对话推荐系统(conversational recommender system,简称crs)是推荐系统领域的热点研究课题。与传统静态的推荐系统模型不同的是,crs通过自然语言与用户交互,在对话的过程中动态地根据用户的反馈提供更高质量的推荐,在电子商务、在线客服、旅游餐饮等领域有非常大的实用价值。一般来说,crs主要由对话模块和推荐模块两部分组成,对话模块负责理解用户当前意图并生成相应的自然语言答复,推荐模块则需要捕捉用户的偏好并提供高质量的推荐项目,crs通过转换机制将两个部分结合起来生成最终的包含推荐项目的答复。

2、然而,由于crs本身不包含任何相关知识信息,所以它无法仅靠简短的几句对话就理解用户的全部意图。为了解决这个问题,一些研究引入了外部知识图(knowledge graph,kg)来丰富上下文信息,如电影相关知识图dbpedia、单词相关知识图conceptnet等。其中主要使用图神经网络来聚合知识图的信息以便将其整合进crs框架,如图卷积神经网络gcn、关系图卷积神经网络rgcn等。在对话生成方面,crs通常使用序列到序列模型作为语言模型来生成答复文本,如transformer,其通常为编码器-解码器结构,编码器将上下文对话作为输入并将其编码为高级表示,而解码器根据此编码表示生成响应。

3、尽管很多研究表明这样的做法确实能够提高crs的性能,但仍然存在两个问题亟待解决。首先,在利用以知识图为主的辅助信息时,直接采用图神经网络对整张知识图进行编码,并且编码后在单独的子图上挑选相关内容,会导致无关信息过多以及有偏差和不完整的特征学习。其次,目前的crs框架仍然受到语言生成模型和编码外部知识图的gnn之间隐藏空间的表示差距的阻碍,尽管图神经网络能够很好的编码知识图的信息,但是crs并不能真正理解知识图中节点的语义,这给后续文本解码以及推荐过程中利用图知识带来了重大的挑战。


技术实现思路

1、本专利技术的目的在于提供一种基于动态图聚合的对话推荐方法,能够得到更准确的推荐结果,生成更高质量的自然语言答复。

2、本专利技术所采用的技术方案是,一种基于动态图聚合的对话推荐方法,其特征在于,包括以下步骤:

3、步骤s1,gcn编码项目级别的知识图;

4、步骤s2,动态图聚合编码单词级别知识图,通过对话上下文挑选知识图现有三元组,进一步构建动态子图,最终获得的是一张全局图,所述步骤2具体包括:

5、步骤s21,动态图构建;

6、步骤s22,动态图聚合;

7、步骤s3,增强知识图的推荐模块;

8、步骤s4,增强知识图的对话模块。

9、进一步的,所述步骤s1中,根据对话内容构建新的动态知识图来利用知识图信息,并融合语言模型的编码器弥补知识图与语言模型之间的语义鸿沟:

10、

11、其中,r表示关系集合,表示节点e在节点间关系r下的相邻节点的集合,w(l)表示可训练参数矩阵,表示与邻居节点e'相关的权重矩阵,w(l)表示与自身相关的权重矩阵,ze,r表示归一化因子,表示节点e在下一层的表示,σ表示非线性激活函数,表示节点e在当前层的表示,表示节点e的邻居节点e'在当前层的表示。

12、进一步的,所述步骤s21中,

13、步骤s21a,通过单词匹配和规则过滤检索当前对话的回复,挑选出全部出现在回复中的单词以及与之相连接的其他单词,进而挑选出与当前回复相关的全部三元组,形成若干张子图,每张子图包含若干三元组;然后将每个三元组展平并送入对话模块中的语言模型编码器中,得到基础伪节点每一个伪节点代表一个三元组:

14、

15、其中,f(tj)表示对三元组tj进行展平操作,将三元组展为文本序列(例如:(play,mannerof,sound)将被展平为”play manner of milk”),encoder表示对话模块中的语言模型编码器,分别表示三元组tj的头节点,节点间关系,尾节点;是得到的基础伪节点;

16、步骤s21b,引入语言模型编码器,学习当前文本中提到的单词的语义,同时填补知识图与语言生成模型之间存在的语义鸿沟,得到基本伪节点之后,再按照分组用分层伪节点将基本伪节点连接起来,形成由新的三元组构成的新子图:

17、

18、g'i={t'1,t'2,…,t'j}     (5)

19、其中,t'j表示新三元组,g'i表示新子图,表示得到的基础伪节点,ra是新的三元组中的关系,表示分层伪节点,t'1,t'2,…,t'j表示各个新的三元组;

20、步骤s21c,通过根伪节点v将子图连接起来,最终形成一张全新的由伪三元组构成的全局伪图;

21、

22、g'={t1,t2,…,tj}    (7)

23、其中,tj表示伪三元组,g'表示全局伪图表示分层伪节点,v表示根伪节点,t1,t2,…,tj表示分层伪节点和根伪节点v连接形成的伪三元组,ra表示它们之间的关系。

24、进一步的,所述步骤s22,基于步骤s21得到的重构的伪图,选择注意力机制在伪节点之间动态聚合信息以学习整张图,直接计算全部基本伪节点的平均值来聚合节点的特征,得到全局表示ε;将上下文出现过的单词送入语言模型编码器,得到上下文语义编码;最后,将ε与te级联起来送入一个全连接网络得到查询向量q,用于后续的注意力机制;

25、

26、te=encoder(context_words)      (9)

27、q=fc(ε;te)      (10)

28、其中,ε表示全部三元组的整体语义,te表示上下文语义编码,q表示查询向量,表示基本伪节点,|g'|表示新生成的全局伪图的节点数量,encoder表示语言模型编码器,context_words表示上下文出现过的单词,fc表示全连接神经网络。

29、进一步的,所述步骤s22得到查询向量q之后,正式开始图聚合过程,聚合基本伪节点的信息,以此来学习分层伪节点

30、

31、其中,表示注意力打分,表示注意力分布,是参数矩阵,q表示查询向量,表示基本伪节点;注意力更新函数,即根据注意力分布聚合的信息到的过程;t表示矩阵的转置,|g'i|表示子图g'i中节点的个数,j表示遍历这个子图的当前序号;

32、最后,聚合分层伪节点的信息来学习根伪节点v,聚合完成后,得到由conceptnet根据对话上下文内容动态聚合到的全局特征,即单词级别的嵌入矩阵u;

33、

34、其中,表示基本伪节点,q表示查询向量,|g'|表示新生成的全局伪图的节点数量,g'表示全局伪图,表示分层伪节点,表示注意力打分,wg'表示参数矩阵,表示是注意力分布,j表示遍历这个子图的本文档来自技高网...

【技术保护点】

1.一种基于动态图聚合的对话推荐方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于动态图聚合的对话推荐方法,其特征在于,所述步骤S1中,根据对话内容构建新的动态知识图来利用知识图信息,并融合语言模型的编码器弥补知识图与语言模型之间的语义鸿沟:

3.根据权利要求1所述的一种基于动态图聚合的对话推荐方法,其特征在于,所述步骤S21中,

4.根据权利要求1所述的一种基于动态图聚合的对话推荐方法,其特征在于,所述步骤S22,基于步骤S21得到的重构的伪图,选择注意力机制在伪节点之间动态聚合信息以学习整张图,直接计算全部基本伪节点的平均值来聚合节点的特征,得到全局表示ε;将上下文出现过的单词送入语言模型编码器,得到上下文语义编码;最后,将ε与TE级联起来送入一个全连接网络得到查询向量q,用于后续的注意力机制;

5.根据权利要求4所述的一种基于动态图聚合的对话推荐方法,其特征在于,所述步骤S22得到查询向量q之后,正式开始图聚合过程,聚合基本伪节点的信息,以此来学习分层伪节点

6.根据权利要求1所述的一种基于动态图聚合的对话推荐方法,其特征在于,所述步骤S3中,收集出现在对话上下文中的全部项目,与通过R-GCN得到的项目嵌入做一个查找操作,得到上下文相关的项目嵌入矩阵I,用自注意力机制来编码项目嵌入矩阵I和通过动态图聚合得到的上下文相关的单词嵌入矩阵U,最后通过门机制将二者结合得到用户偏好表示pu,

7.根据权利要求6所述的一种基于动态图聚合的对话推荐方法,其特征在于,基于所述步骤S3的得到的用户偏好pu,用Softmax函数计算用户偏好表示与项目嵌入的相似度,得到一系列得分,进而生成一个排名,得到一个待推荐的项目集,这里设置一个交叉熵损失函数来学习参数:

8.根据权利要求1所述的一种基于动态图聚合的对话推荐方法,其特征在于,所述步骤S4中,使用Transformer作为对话模块的语言模型,

9.根据权利要求1或8所述的一种基于动态图聚合的对话推荐方法,其特征在于,所述步骤S4中,设置一个交叉熵损失函数学习参数:

...

【技术特征摘要】

1.一种基于动态图聚合的对话推荐方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于动态图聚合的对话推荐方法,其特征在于,所述步骤s1中,根据对话内容构建新的动态知识图来利用知识图信息,并融合语言模型的编码器弥补知识图与语言模型之间的语义鸿沟:

3.根据权利要求1所述的一种基于动态图聚合的对话推荐方法,其特征在于,所述步骤s21中,

4.根据权利要求1所述的一种基于动态图聚合的对话推荐方法,其特征在于,所述步骤s22,基于步骤s21得到的重构的伪图,选择注意力机制在伪节点之间动态聚合信息以学习整张图,直接计算全部基本伪节点的平均值来聚合节点的特征,得到全局表示ε;将上下文出现过的单词送入语言模型编码器,得到上下文语义编码;最后,将ε与te级联起来送入一个全连接网络得到查询向量q,用于后续的注意力机制;

5.根据权利要求4所述的一种基于动态图聚合的对话推荐方法,其特征在于,所述步骤s22得到查询向量q之后,正式开始图聚合过程,聚合基本伪节点的信息,以...

【专利技术属性】
技术研发人员:何婧谯光辉王勉张镇蔡静雯
申请(专利权)人:云南大学
类型:发明
国别省市:

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

1