一种基于强化学习的问题约束和焦点实体转移的知识图谱对话式问答方法

未命名 07-14 阅读:87 评论:0


1.本发明属于问答系统技术领域,采用基于强化学习与深度学习相结合的知识图谱对话式问答方法。


背景技术:

2.问答系统作为用户获取信息的重要方式随着技术的进步不断地在发展。由于知识图谱包含了可以直接进行问答的三元组形式的事实信息,基于知识图谱的问答已经得到了深入的研究,并在解决复杂问题上不断取得新进展。然而随着用户对于信息需求的逐渐增加,用户往往会在一个主题上希望获取更多的信息,从而在一个主题上进行后续的提问。在这样的后续提问中,可能会出现实体的省略、谓词的省略、不符合语法等问题。因此,解决对话问答的挑战之一是对对话历史进行建模,同时要使用恰当的方法捕捉对话过程中焦点实体的转移,以更好地回答当前问题。
3.现有的知识图谱问答系统均要求问题的形式完整,它们基本上都无法在对话问答中处理后续的不完全问题。在此基础上,相关研究人员开始了对话式的问答系统研究。现有的基于知识图谱的对话式问答系统中,基于无监督的方法通过拓展上下文子图来维护整个对话的历史信息,从而回答后续问题,这种方法依赖于相似度的评价指标,且无监督的方法对准确性的提高有一定的限制。基于语义分析的端到端模型,通过了使用语法引导的解码器来控制动作序列的生成,并通过一个对话记忆管理组件来利用对话历史上下文,可以有效地处理多轮问答中的上下文指代和省略现象,但这种方法侧重于基于规则的方法。强化学习已经在知识图谱推理中获得了不错的效果,基于强化学习的对话式问答系统需要定义适合的动作空间与奖励机制,例如,一种从用户问题重构信息中进行强化学习的对话问答方法就充分利用模拟用户对答案是否正确的反馈信息实现对模型进行训练,其依赖与非专家用户的明确反馈,从而产生附加依赖性。
4.同时,目前的基于知识图谱的对话式问答系统中,还缺少对于问题中各种约束信息与对话式焦点转移的结合,大部分仅在1跳路径上进行推理。


技术实现要素:

5.基于上述,本发明提出一种基于强化学习的问题约束和焦点实体转移的知识图谱对话式问答方法,通过动态地维护一个上下文实体集来捕捉对话进行中所有可能涉及的焦点实体,解决对话过程中的焦点实体转移问题,使用bert预训练模型来获取对话上下文的语义信息,解决对话过程中的后续问题的语义缺失问题,模型结合了问题轮次、实体轮次和各种约束信息,并使用强化学习的方式实现对模型在1跳路径和2跳约束路径上的训练。
6.为了实现上述目的,本发明采用技术方案如下:
7.一种基于强化学习的问题约束和焦点实体转移的知识图谱对话式问答方法,步骤如下:
8.步骤一:数据准备与预处理
9.(1-1)安装wikidata知识图谱转储:wikidata知识图谱包括三元组信息《s,p,o》和对三元组信息进行补充和增强的限定符,实现问答的过程是在知识图谱上对三元组和限定符进行推理的过程;
10.知识图谱是一个包含一组已知事实的关系图,这些事实以三元组《s,p,o》的形式存储,其中主语s与宾语o是知识图谱实体,谓语p是它们之间的关系,即知识图谱路径;在wikidata中,除了三元组信息外,还有用于对三元组信息进行补充和增强的限定符,实现问答的过程是在知识图谱上对三元组和限定符进行推理的过程;将wikidata的转储数据加载到neo4j图形数据库中,便于后续的访问;
11.(1-2)获取对话式问答数据集:采用公开数据集convref;
12.对话式问答数据集使用公开数据集convref,包含了大约11000个自然对话,每个对话中包含最多5个上下接续的问题,并且每个问题都提供了最多5个重构问题,重构问题是当前问题的不同表达形式,当当前问题无法正确回答时,可以尝试使用重构问题进行回答;convref可以通过wikidata进行评估;对于每一个对话,只使用公开数据集的问题答案对信息进行模型训练;
13.(1-3)检测问题中包含的实体:使用实体检测工具tagme来检测convref的对话问答中所有问题可能包含的实体;
14.步骤二:初始化上下文实体集
15.上下文实体集用于维护对话问答过程中涉及到的所有知识图谱实体的相关信息;初始化上下文实体集是依据步骤一的(1-3)中的问题实体检测结果进行初始化,将对话的首个问题中检测出的实体放入上下文实体集中,并记录实体的轮次为0,实体轮次是该实体首次出现时所在的问题轮次;
16.步骤三:实现对话式问答模型的构建
17.(3-1)语义信息的提取:首先通过bert预训练模型分别获取当前问题的嵌入向量q
t
和对话历史问题的嵌入向量q
t-1
,若当前问题为首轮问题,则将对话历史问题设为空字符串;
18.接着将q
t
和q
t-1
拼接后输入全连接层1、通过relu激活后再输入全连接层2,最终输出上下文问题向量表示conq:
19.conq=w2
×
(relu(w1
×
[q
t-1
;q
t
]))
[0020]
其中,w1和w2表示两个全连接层,relu表示激活函数;
[0021]
然后从知识图谱中获取以上下文实体集中的实体为出发点的所有知识图谱1跳路径,使用bert预训练模型获取所有路径的嵌入向量表示,构成强化学习动作空间as;
[0022]
(3-2)综合语义信息与问题中包含的各种信息,获取知识图谱的路径概率实现推理:首先将上下文问题向量表示conq与动作空间as做内积,从而获取问题与路径的相似度评价向量;将相似度评价向量、时间约束、最高级约束、当前问题轮次、实体发现轮次这5个维度向量输入到一个全连接网络:
[0023]
z=[as
×
conq,time,max,qturn,eturn(ei)]
[0024]
其中,conq为上下文问题向量表示,as为路径动作空间,time和max表示问题中是否存在时间约束与最高级约束,qturn表示当前问题所在问题轮次,eturn(ei)表示当前路
径出发实体ei的实体轮次;
[0025]
最终通过softmax函数获得各个路径的选择概率,选择概率最大的知识图谱1跳路径获得的实体即为候选答案实体,1跳路径概率分布p(as)的定义如下:
[0026]
p(as)=σ(w3
×
z)
[0027]
其中,w3是全连接网络,σ表示softmax操作,根据1跳路径输出概率分布,从中取概率最大的路径即可获得候选答案实体;
[0028]
当1跳路径获得的候选答案大于1个时,将触发对2跳约束路径的训练;2跳路径的输入与1跳路径不同点在于对于路径信息,将输入以候选答案出发的路径;2跳路径的输出概率分布p(a
s2
)的定义如下:
[0029]
p(a
s2
)=σ(w3
×
z2)
[0030]
z2=[a
s2
×
conq,time,max,qturn,eturn(ej)]
[0031]
其中,a
s2
表示2跳路径所构成的动作空间;ej为1跳路径的起始实体;为了使模型具备同时对问句中的主干与约束的识别能力,上述的对于1跳和2跳路径的选择是通过同一个网络实现的;
[0032]
步骤四:基于强化学习进行模型训练
[0033]
为了训练模型,使用了公开训练集中所有对话问题及其黄金答案(golden answer);
[0034]
(4-1)对于1跳路径,以各个1跳路径所得到的实体相对于黄金答案的精确度分数作为训练1跳路径的奖励;为了更新策略函数的参数θ,目标函数定义如下:
[0035]
j(θ)=e
(q,ans)∈conea∽π(θ)
[pre(q,ans,a)]
[0036]
其中,(q,ans)为当前对话con中的一轮问答,ans为黄金答案,a为通过策略网络的概率选择的动作,pre()为预测答案的精确度;由于存在性问题(即判断性的问题)的答案“yes”和”“no”在知识图谱中是无法直接获得的,因此只对答案为“yes”且至少能识别出2个实体的存在性问题进行训练,将其中一个实体视为答案实体;
[0037]
(4-2)对与那些可以获得答案且精确度不为1的路径将再次拓展2跳路径,并按照人工定义的约束相似性规则对2跳路径进行排序,然后按照排序结果给予奖励:
[0038]
具体目标函数定义如下:
[0039][0040]
其中,score()为动作路径a2对应的约束实体通过运用相似性规则获得的奖励;
[0041]
利用似然方法,1跳路径策略和2跳约束路径策略的梯度如下:
[0042][0043][0044]
完成当前问题训练后,需要将当前问题训练的最佳答案以及下一轮问题检测出的实体放入上下文实体集,对上下文实体集进行拓展;
[0045]
步骤五:通过训练好的模型从知识图谱获取答案
[0046]
在测试集上应用训练好的模型进行测试,获得答案;获取答案的过程主要分为2个步骤:1)通过将问题信息与知识图谱路径信息输入模型获取路径概率,依照路径概率选择路径,再依照选择路获取候选答案;2)若候选答案数量大于1,继续通过模型获取2跳路径概
率,依照路径概率来获取约束实体,并依照约束实体排序候选答案。
[0047]
进一步地,步骤五所述的排序候选答案依据的规则如下:
[0048]
a若问题中有最高级约束,则对于所有候选答案,按照其2跳路径对应的约束实体以时间进行排序并将排序结果返回给用户;
[0049]
b若问题中识别出时间约束,则对于所有候选答案,按照其2跳路径对应的约束实体与该时间约束的相近程度进行排序,然后将排序结果返回给用户;
[0050]
c若问题中不存在最高级约束与时间约束,则只考虑实体约束;对于所有候选答案,若某2跳路径得到的约束实体可以在问题中识别出来,则将其排在前面;否则使用交并比作为相似度的度量计算约束实体与问题的相似度并进行排序,最终将排序结果返回给用户。
[0051]
本发明具有以下有益效果:
[0052]
(1)本发明使用强化学习策略网络,通过捕捉实体轮次、问题轮次以及问句中的各种约束条件,来实现对路径的选择,使得答案的精确度更优。
[0053]
(2)本发明使用上下文实体集与bert预训练模型,从实体转移与语义继承两个层面对上下文历史进行维护,使对话上下文信息的捕捉更精准。
[0054]
(3)本发明在知识图谱的1跳路径和2跳路径上应用对应的奖励机制实现对策略网络模型参数的训练,使其综合了1跳的主干信息和2跳的约束信息,使结果更精确。
附图说明
[0055]
图1是本发明的基于强化学习的对话式问答基本过程图;
[0056]
图2是本发明的策略网络结构,展示了对1跳路径和2跳约束路径的选择过程;
[0057]
图3是本发明的对话式问答流程示意图。
具体实施方式
[0058]
为了更为具体地描述本发明,下面结合附图及具体实施方案对本发明的技术方案进行详细说明。
[0059]
首先,对所涉及的一些预备知识和概念给出相关定义。
[0060]
定义1.q
t
:问题q
t
是在对话问答的第t轮次中,由用户提出的单词序列,其中暗含了用户查询的意图。q
t
={w1,w2,...,wn},n表示当前句子中单词数。
[0061]
定义2.q
t-1
:历史问题q
t-1
指的是对话过程中相对于本轮问题q
t
的上一轮问题,在对话问答过程中,由于语义承接,上一轮问题往往暗含着回答本轮问题的重要信息,特别是谓词信息。
[0062]
定义3.预测答案:针对问题q
t
的预测答案,其必须是限定在知识图谱上的事实,包括知识图谱中的实体、文本字符串、数量或者表示判断的“yes”和“no”。
[0063]
定义4.问题轮次:问题的轮次qturn表示该问题在何时被提出。当qturn=0时,该问题为首轮问题,用户在此时基于某个主题发起提问。qturn》0的问题将围绕此主题或关联主题展开后续提问。
[0064]
定义5.实体轮次:实体轮次eturn记录了某个实体在对话的何时被提出,其对模型捕捉话题转移有至关重要的作用。在直观上,首轮问题中出现的实体和上一轮问题中出现
的实体及其答案实体更有可能成为当前问题的焦点实体。
[0065]
结合以上定义,我们将最终问题描述为:基于当前轮次的问题q
t
和历史问题q
t-1
,对整个对话式问答的上下文语义进行建模,并通过上下文实体集维护当前问题所有可能的主题实体,结合问题轮次qturn、实体轮次eturn以及各种约束信息,从知识图谱中推理出问题q
t
的最佳答案。
[0066]
本发明提出了一种基于强化学习的问题约束和焦点实体转移的知识图谱对话式问答方法,如图2为强化学习的策略网络,通过bert预训练模型分别获取当前问题与历史问题的语义嵌入表示,然后将它们通过两个全连接网络与激活层获取一个上下文嵌入表示,同样通过bert预训练模型获取所有知识图谱候选路径的语义嵌入表示,然后将上下文嵌入于知识图谱路径语义嵌入做内积,从而获得相似度评级分数,作为一个5*1全连接层的其中1维输入,另外4维分别为实体轮次、问题轮次、问题中的时间约束、最高级约束。
[0067]
我们以公开数据集convref数据集为例进行说明,数据集convref是通过另一个数据集convquestions中的对话来创建的包含问题重构信息的数据集,其为convquestions中的每一个问题设置了最多4个重构问题,重构问题是原问题的不同表述,当原问题无法回答,可以通过触发问题重构再次回答,该数据集包含约11200个对话和20500个重组问题,每个对话有5轮问答,内容涵盖了书籍、电影、足球、音乐和电视剧5个领域,可以通过知识图谱wikidata进行评估,convref数据集网址为https://conquer.mpi-inf.mpg.de/。
[0068]
具体实施时,包括如下步骤:
[0069]
步骤一:数据准备与预处理;
[0070]
(1-1)问答的过程就是在知识图谱上对三元组和限定符进行推理的过程,所以首先需要将知识图谱wikidata的转储数据加载到neo4j图形数据库中,便于后续的访问。本发明使用了由kaiser等人修改过的2020年4月26日的wikidata转储数据,其中约有2亿个三元组,其中的url、外部id、语言标签等冗余标签已被删除。然后将该wikidata转储数据加载到了neo4j图形数据库中,该转储数据的网址为https://github.com/philippchr/wikidata-core-for-qa。
[0071]
(1-2)对话问答数据集使用了公开数据集convref,对于每一轮对话,只使用其中的问题答案对信息进行模型训练;
[0072]
(1-3)检测问题中包含的实体:使用实体检测工具tagme来检测对话问答中所有问题可能包含的实体,通过python语言直接调用tagme官方api来实现。
[0073]
步骤二:初始化上下文实体集
[0074]
上下文实体集用于维护对话问答过程中涉及到的所有知识图谱实体的相关信息。依据tagme的问题实体检测结果初始化当前对话的上下文实体集,将对话的首个问题中检测出的实体放入上下文实体集中,并记录实体的轮次为0。后续在对话进行的过程中将不断地向上下文实体集中加入新发现的相关实体,并记录新加入实体的实体轮次为该实体出现的问题轮次,从而实现对上下文实体集的拓展。
[0075]
步骤三:实现对话式问答模型的构建
[0076]
(3-1)语义信息的提取:首先通过bert预训练模型分别获取当前问题的嵌入向量q
t
和对话历史问题的嵌入向量q
t-1
,若当前问题为首轮问题,则将对话历史问题设为空字符串。接着将q
t
和q
t-1
拼接后输入全连接层1、通过relu激活后再输入全连接层2,最终输出上
下文问题向量表示conq:
[0077]
conq=w2
×
(relu(w1
×
[q
t-1
;q
t
]))
[0078]
其中,w1和w2表示两个全连接层,relu表示激活函数,上下文问题向量conq综合了对话的历史信息,从而有助于补全当前问题的语义缺失。接着从neo4j图数据库保存的wikidata中获取以上下文实体集中的实体为出发点的所有知识图谱1跳路径,并使用bert预训练模型获取所有路径的嵌入向量表示,拼接后构成强化学习动作空间矩阵as;
[0079]
(3-2)综合语义信息与问题中包含的各种约束信息,获取知识图谱的路径概率实现推理:首先将上下文问题向量表示conq与动作空间as做内积,从而获取问题与路径的相似度评价向量。将相似度评价向量、时间约束、最高级约束、当前问题轮次、出发实体轮次这5个维度向量输入到一个全连接网络:
[0080]
z=[as
×
conq,time,max,qturn,eturn(ei)]
[0081]
其中,conq为上下文问题向量表示,as为路径动作空间,time和max表示问题中是否存在时间约束与最高级约束,用0或1表示,qturn表示当前问题所在问题轮次,eturn(ei)表示当前路径出发实体ei的实体轮次;
[0082]
最终通过softmax函数获得各个路径的选择概率,选择概率最大的知识图谱1跳路径获得的实体即为候选答案实体,1跳路径概率分布p(as)的定义如下:
[0083]
p(as)=σ(w3
×
z)
[0084]
其中,w3是全连接网络,σ表示softmax操作,根据1跳路径输出概率分布,从中选取概率最大的路径即可获得候选答案实体。
[0085]
当1跳路径获得的候选答案大于1个时,将触发对2跳约束路径的训练。2跳路径的输入与1跳路径类似,不同点在于对于路径信息,将输入以候选答案出发的路径。2跳路径的输出概率分布p(a
s2
)的定义如下:
[0086]
p(a
s2
)=σ(w3
×
z2)
[0087]
z2=[a
s2
×
conq,time,max,qturn,eturn(ej)]
[0088]
其中,a
s2
表示2跳路径所构成的动作空间。ej为1跳路径的起始实体;为了使模型具备同时对问句中的主干与约束的识别能力,上述的对于1跳和2跳路径的选择是通过同一个网络实现的;整体模型构成如图2所示。
[0089]
步骤四:基于强化学习进行模型训练
[0090]
为了训练模型,使用了公开训练集convref中所有对话问题及其黄金答案。
[0091]
(4-1)对于1跳路径,以各个1跳路径所得到的实体相对于黄金答案的精确度分数作为训练1跳路径的奖励。为了更新策略函数的参数θ,目标函数定义如下:
[0092]
j(θ)=e
(q,ans)∈conea∽π(θ)
[pre(q,ans,a)]
[0093]
其中,(q,ans)为当前对话con中的一轮问答,ans为黄金答案,a为通过策略网络的概率选择的动作,pre()为预测答案的精确度。由于存在性问题(即判断性的问题)的答案“yes”和”“no”在知识图谱中是无法直接获得的,因此只对答案为“yes”且至少能识别出2个实体的存在性问题进行训练,将其中一个实体视为答案实体。
[0094]
(4-2)对与那些可以获得答案且精确度不为1的路径将再次拓展2跳路径,并按照以下定义的约束相似性规则进行排序,然后按照排序结果给予奖励:
[0095]
1若问题中识别出最高级约束(如first等),则对于所有2跳路径按照其对应的约
束实体按时间进行排序,约束实体为非时间类型的路径将排在时间约束实体路径的后面,然后根据路径的排序结果给予奖励;
[0096]
2若问题中识别出时间约束(如2013等),将2跳路径按照与最高级约束类似的方法进行排序并给予奖励,约束实体与时间约束越接近的排在前面;
[0097]
3若问题中不存在最高级约束与时间约束,则只考虑实体约束。若某2跳路径得到的约束实体可以在问题中识别出来,则对该2跳路径奖励1。否则使用了交并比作为相似度的度量计算约束实体与问题的相似度并进行排序,然后根据路径的排序结果给予奖励;
[0098]
需要注意的是,由于wikidata除了三元组信息外还有限定符信息,所以上述规则将同时考虑限定符。同时,可能会出现相似度结果相同的情况,本发明将按照对应答案实体的热门程度进行再次排序,将热门程度高的实体排在前面(热门程度即邻居实体的数量大小,从一般常识出发,热门程度越高越可能被问到)。
[0099]
具体目标函数定义如下:
[0100][0101]
其中,score()为动作路径a2对应的约束实体通过运用相似性规则获得的奖励;
[0102]
利用似然方法,1跳路径策略和2跳约束路径策略的梯度如下:
[0103][0104][0105]
步骤五:通过训练好的模型从知识图谱获取答案
[0106]
模型训练完毕后,在测试集上应用策略即可获得答案。获取答案的过程主要分为2个步骤:1)通过将问题信息与知识图谱路径信息输入模型获取路径概率,依照概率选择动作获取候选答案。2)若候选答案数量大于1,继续通过模型获取2跳路径概率,依照概率来获取约束实体,并依此按照以下定义的相似度规则排序候选答案:
[0107]
1若问题中有最高级约束(如first等),则对于所有候选答案,按照其2跳路径对应的约束实体以时间进行排序并将排序结果返回给用户;
[0108]
2若问题中识别出时间约束(如2013等),则对于所有候选答案,按照其2跳路径对应的约束实体与该时间约束的相近程度进行排序,然后将排序结果返回给用户;
[0109]
3若问题中不存在最高级约束与时间约束,则只考虑实体约束。对于所有候选答案,若某2跳路径得到的约束实体可以在问题中识别出来,则将其排在前面。否则使用交并比作为相似度的度量计算约束实体与问题的相似度并进行排序,最终将排序结果返回给用户;
[0110]
由于convref数据集包含问题重构信息,所以按照其他实验做的那样,当获取的答案精确度不等于1时,可以使用重构问题尝试再次回答。
[0111]
步骤六:模型与测试细节:本发明的强化学习代码所使用python语言进行编写,并且使用了深度学习库pytorch,模型在训练集上训练了30个epoch,在参数更新时使用adam优化器,并使用了预热学习率,具体来说,学习率在训练初始时将从0快速升高到最大值10-5
,并在后续训练中慢慢降低,使用预热学习率可以使模型收敛速度变得更快,模型效果更佳。最终代码在ubuntu 20.04系统上运行,配置为intel(r)xeon(r)silver 4210r cpu@2.40ghz、32g ram和nvidia geforce rtx 3090gpu。此外,我们用于存储wikidata的neo4j
数据库在另一台具有64g ram的计算机上运行,以满足数据存储和访问的要求。
[0112]
根据以上步骤的操作过程,即可实现本发明提出的基于强化学习的知识图谱对话式问答方法。为了验证本发明在问答系统中的技术效果,本发明使用公开数据集convref进行了实验,并通过知识图谱wikidata进行评估。对于数据集convref的实验,仅使用移除了问题重构信息的convref训练集,然后在convref测试集上进行测试。这是由于convref是通过补充另一个数据集convquestions的问题重构信息获得的,本发明不需要使用convref训练集中的重构信息。
[0113]
convref评测指标为精确率(p@1)、平均排名倒数(mmr)、命中率(h@5)以及reftriggers(重构触发次数)。为说明效果,将本发明与使用了相同数据集的相关方法进行比较,得到的比较结果如表1所示。
[0114]
本发明在convref数据集的p@1指标下提升了4.1%,并且少使用了2525次重构问题。在与最优方法praline的比较中可以看出,本发明在p@1指标下相较于praline结果提升了5.9%,而对于p@1指标来说主要是评价返回的首个答案,可以看出本发明的基于2跳约束路径的答案排序方法对结果有很大的改进。
[0115]
表1:在convref数据集上的结果
[0116]

技术特征:
1.一种基于强化学习的问题约束和焦点实体转移的知识图谱对话式问答方法,其特征在于通过动态地维护一个上下文实体集来捕捉对话进行中所有可能涉及的焦点实体,解决对话过程中的焦点实体转移问题;使用bert预训练模型来获取对话上下文的语义信息,解决对话过程中的后续问题的语义缺失问题;模型结合了问题轮次、实体轮次和各种约束信息,并使用强化学习的方式实现对模型在1跳路径和2跳约束路径上的训练;具体步骤如下:步骤一:数据准备与预处理(1-1)安装wikidata知识图谱转储:wikidata知识图谱包括三元组信息<s,p,o>和对三元组信息进行补充和增强的限定符,实现问答的过程是在知识图谱上对三元组和限定符进行推理的过程;(1-2)获取对话式问答数据集:采用公开数据集convref;(1-3)检测问题中包含的实体:使用实体检测工具tagme来检测convref的对话问答中所有问题可能包含的实体;步骤二:初始化上下文实体集上下文实体集用于维护对话问答过程中涉及到的所有知识图谱实体的相关信息;初始化上下文实体集是依据步骤一的(1-3)中的问题实体检测结果进行初始化,将对话的首个问题中检测出的实体放入上下文实体集中,并记录实体的轮次为0,实体轮次是该实体首次出现时所在的问题轮次;步骤三:实现对话式问答模型的构建(3-1)语义信息的提取:首先通过bert预训练模型分别获取当前问题的嵌入向量q
t
和对话历史问题的嵌入向量q
t-1
,若当前问题为首轮问题,则将对话历史问题设为空字符串;接着将q
t
和q
t-1
拼接后输入全连接层1、通过relu激活后再输入全连接层2,最终输出上下文问题向量表示conq:conq=w2
×
(relu(w1
×
[q
t-1
;q
t
]))其中,w1和w2表示两个全连接层,relu表示激活函数;然后从知识图谱中获取以上下文实体集中的实体为出发点的所有知识图谱1跳路径,使用bert预训练模型获取所有路径的嵌入向量表示,构成强化学习动作空间as;(3-2)综合语义信息与问题中包含的各种信息,获取知识图谱的路径概率实现推理:首先将上下文问题向量表示conq与动作空间as做内积,从而获取问题与路径的相似度评价向量;将相似度评价向量、时间约束、最高级约束、当前问题轮次、实体发现轮次这5个维度向量输入到一个全连接网络:z=[as
×
conq,time,max,qturn,eturn(e
i
)]其中,conq为上下文问题向量表示,as为路径动作空间,time和max表示问题中是否存在时间约束与最高级约束,qturn表示当前问题所在问题轮次,eturn(e
i
)表示当前路径出发实体e
i
的实体轮次;最终通过softmax函数获得各个路径的选择概率,选择概率最大的知识图谱1跳路径获得的实体即为候选答案实体,1跳路径概率分布p(as)的定义如下:p(as)=σ(w3
×
z)其中,w3是全连接网络,σ表示softmax操作,根据1跳路径输出概率分布,从中取概率最大的路径即可获得候选答案实体;
当1跳路径获得的候选答案大于1个时,将触发对2跳约束路径的训练;2跳路径的输入与1跳路径不同点在于对于路径信息,将输入以候选答案出发的路径;2跳路径的输出概率分布p(a
s2
)的定义如下:p(a
s2
)=σ(w3
×
z2)z2=[a
s2
×
conq,time,max,qturn,eturn(e
j
)]其中,a
s2
表示2跳路径所构成的动作空间;ej为1跳路径的起始实体;步骤四:基于强化学习进行模型训练(4-1)对于1跳路径,以各个1跳路径所得到的实体相对于黄金答案的精确度分数作为训练1跳路径的奖励;为了更新策略函数的参数θ,目标函数定义如下:j(θ)=e
(q,ans)∈con
e
a∽π(θ)
[pre(q,ans,a)]其中,(q,ans)为当前对话con中的一轮问答,ans为黄金答案,a为通过策略网络的概率选择的动作,pre()为预测答案的精确度;由于存在性问题(即判断性的问题)的答案“yes”和”“no”在知识图谱中是无法直接获得的,因此只对答案为“yes”且至少能识别出2个实体的存在性问题进行训练,将其中一个实体视为答案实体;(4-2)对与那些可以获得答案且精确度不为1的路径将再次拓展2跳路径,并按照人工定义的约束相似性规则对2跳路径进行排序,然后按照排序结果给予奖励:具体目标函数定义如下:其中,score()为动作路径a2对应的约束实体通过运用相似性规则获得的奖励;利用似然方法,1跳路径策略和2跳约束路径策略的梯度如下:利用似然方法,1跳路径策略和2跳约束路径策略的梯度如下:完成当前问题训练后,需要将当前问题训练的最佳答案以及下一轮检测出的实体放入上下文实体集,对上下文实体集进行拓展;步骤五:通过训练好的模型从知识图谱获取答案在测试集上应用训练好的模型进行测试,获得答案;获取答案的过程主要分为2个步骤:1)通过将问题信息与知识图谱路径信息输入模型获取路径概率,依照路径概率选择路径,再依照选择路获取候选答案;2)若候选答案数量大于1,继续通过模型获取2跳路径概率,依照路径概率来获取约束实体,并依照约束实体排序候选答案。2.根据权利要求1所述的一种基于强化学习的问题约束和焦点实体转移的知识图谱对话式问答方法,其特征在于,步骤五所述的排序候选答案依据的规则如下:a若问题中有最高级约束,则对于所有候选答案,按照其2跳路径对应的约束实体以时间进行排序并将排序结果返回给用户;b若问题中识别出时间约束,则对于所有候选答案,按照其2跳路径对应的约束实体与该时间约束的相近程度进行排序,然后将排序结果返回给用户;c若问题中不存在最高级约束与时间约束,则只考虑实体约束;对于所有候选答案,若某2跳路径得到的约束实体可以在问题中识别出来,则将其排在前面;否则使用交并比作为相似度的度量计算约束实体与问题的相似度并进行排序,最终将排序结果返回给用户。

技术总结
一种基于强化学习的问题约束和焦点实体转移的知识图谱对话式问答方法,属于问答系统技术领域。通过动态地维护一个上下文实体集来捕捉对话进行中所有可能涉及的焦点实体,解决对话过程中的焦点实体转移问题;使用BERT预训练模型来获取对话上下文的语义信息,解决对话过程中的后续问题的语义缺失问题;模型结合了问题轮次、实体轮次和各种约束信息,并使用强化学习的方式实现对模型在1跳路径和2跳约束路径上的训练。路径上的训练。路径上的训练。


技术研发人员:徐喜荣 徐涛 朱理 李昊宸
受保护的技术使用者:大连理工大学
技术研发日:2023.02.10
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐