本公开涉及计算机,尤其涉及一种答案生成方法、装置、电子设备及存储介质。
背景技术:
1、相关技术中,自然语言问答(qa)是指利用各种技术对用户提出的自然语言问题直接给出问题答案。知识图谱问答(kb-qa)是基于知识库的问答。kb-qa在技术实现上,主要包括两大类,分别是基于语义解析的方法、基于信息检索的方法。语义解析式的方法则是通过对自然语言问题进行语义解析,将用户问题转化成给定知识库相应的查询语言,将查询结果作为答案返回。基于信息检索的方法,是直接从知识库中检索子图,形成候选答案,再通过对候选答案进行打分,从而返回最终的问题答案。
2、近年来,预训练基础模型已经是大数据时代人工智能的重要组成部分,研究者们发现通过扩大预训练语言模型的参数量和数据量,大语言模型(large language model)能够在效果显著提升的同时,展示出很多特殊能力(如上下文学习能力、逐步推理能力等)。最近,作为代表性的大语言模型应用chatgpt更是展现出了超强的人机对话能力和任务求解能力,对于整个ai研究都带来了重大影响。
3、传统kb-qa对自然语言理解能力较弱,目前对简单问题可以达到较好效果,但是面对复杂问题基本束手无策,而大语言模型可以弥补该缺陷,所以将大模型用于kb-qa是未来很有前景的技术方向。大语言模型负责语义分析,知识图谱提供结构化知识来检索答案,两者互为补充,这种结合既发挥了知识图谱的结构化知识优势,也利用了大语言模型对自然语言的理解力,进而可以让kb-qa的问答效果得以大幅提升,尤其是可以攻克复杂问题技术难关。
技术实现思路
1、本公开提供一种答案生成方法、装置、电子设备及存储介质,以至少解决相关技术中目标答案的确定效率以及准确率较低的问题。本公开的技术方案如下:
2、根据本公开实施例的第一方面,提供一种答案生成方法,包括:
3、获取目标问题,并对所述目标问题进行合理性验证,得到目标验证结果;所述合理性验证用于验证所述目标问题的语义是否清楚、逻辑是否合理;
4、在所述目标验证结果表征所述目标问题验证合理的情况下,将所述目标问题拆分成至少两个目标子问题;
5、根据所述至少两个目标子问题各自对应的目标实体信息,得到至少两个图查询语句;所述至少两个图查询语句包括每个目标子问题对应的图查询语句;其中,一个目标子问题对应一个图查询语句;
6、在图数据库中查询与所述至少两个图查询语句相匹配的答案,得到所述至少两个目标子问题各自对应的目标子答案;
7、在图数据库中查询与所述至少两个图查询语句相匹配的答案,得到所述至少两个目标子问题各自对应的目标子答案;
8、根据所述至少两个目标子问题各自对应的目标子答案,生成所述目标问题对应的目标答案。
9、在一示例性的实施方式中,所述根据所述至少两个目标子问题各自对应的目标实体信息,得到至少两个图查询语句包括:
10、调用实体链接识别所述至少两个目标子问题各自对应的初始实体信息,得到至少两组初始实体信息;
11、对所述至少两组初始实体信息进行消歧处理,得到至少两组目标实体信息;
12、在预设知识库中查询与每组目标实体信息相匹配的目标关联信息,得到每组目标实体信息对应的目标关联信息;
13、基于每个目标子问题对应的目标实体信息以及目标关联信息,生成每个目标子问题对应的图查询语句;
14、将各个目标子问题各自对应的图查询语句,确定为所述至少两个图查询语句。
15、在一示例性的实施方式中,所述在图数据库中查询与所述至少两个图查询语句相匹配的答案,得到所述至少两个目标子问题各自对应的目标子答案,包括:
16、调用图查询引擎,在所述图数据库中查询是否存在与所述至少两个图查询语句相匹配的答案,得到初始查询结果;
17、当至少一个图查询语句在所述图数据库中不存在相匹配的答案时,确定所述至少一个图查询语句存在语义或逻辑错误,并对所述至少一个图查询语句进行纠错,得到更新的图查询语句;
18、基于所述更新的图查询语句查询所述图数据库,得到与所述更新的图查询语句相匹配的查询答案;
19、基于所述初始查询结果以及所述查询答案,得到所述至少两个目标子问题各自对应的目标子答案。
20、在一示例性的实施方式中,所述根据所述至少两个目标子问题各自对应的目标子答案,生成所述目标问题对应的目标答案,包括:
21、对所述至少两个目标子问题各自对应的目标子答案进行逻辑运算,生成所述目标问题对应的初始答案;
22、对所述初始答案进行合理性验证,得到初始验证结果;
23、在所述初始验证结果表征所述初始答案验证合理的情况下,将所述初始答案确定为所述目标问题对应的目标答案。
24、在一示例性的实施方式中,所述方法还包括:
25、在所述初始验证结果表征所述初始答案验证不合理的情况下,跳转至所述将所述目标问题拆分成至少两个目标子问题的步骤,并重复所述根据所述至少两个目标子问题各自对应的目标实体信息,得到至少两个图查询语句至所述根据所述至少两个目标子问题各自对应的目标子答案,生成所述目标问题对应的目标答案的步骤。
26、在一示例性的实施方式中,所述方法还包括:
27、在所述目标验证结果表征所述目标问题验证不合理的情况下,向所述目标问题对应的终端发送验证未通过消息;
28、接收所述终端基于所述验证未通过消息发送的目标更新问题,并对所述目标更新问题进行合理性验证。
29、在一示例性的实施方式中,所述对所述目标问题进行合理性验证,得到目标验证结果,包括:
30、将所述目标问题输入答案生成模型,基于所述答案生成模型中的合理性验证子模型对所述目标问题进行合理性验证,得到所述目标验证结果;
31、所述将所述目标问题拆分成至少两个目标子问题,包括:
32、基于所述答案生成模型中的问题拆分子模型,对所述目标问题进行拆分处理,得到所述至少两个目标子问题;
33、所述根据所述至少两个目标子问题各自对应的目标实体信息,得到至少两个图查询语句,包括:
34、基于所述答案生成模型中的语句生成子模型,对所述至少两个目标子问题各自对应的目标实体信息进行图查询语句生成处理,得到所述至少两个图查询语句;
35、所述根据所述至少两个目标子问题各自对应的目标子答案,生成所述目标问题对应的目标答案,包括:
36、基于所述答案生成模型中的答案生成子模型,对所述至少两个目标子问题各自对应的目标子答案进行逻辑运算,生成所述目标问题对应的目标答案。
37、在一示例性的实施方式中,所述方法还包括:
38、将所述目标问题输入答案生成模型,生成所述目标问题对应的目标答案;
39、所述答案生成模型的训练方法包括:
40、获取样本问题;所述样本问题标注了样本答案标签;
41、将所述样本问题输入大模型的合理性验证网络进行合理性验证,得到样本验证结果;
42、在所述样本验证结果表征所述样本问题验证合理的情况下,将所述样本问题输入所述大模型的问题拆分网络,对所述样本问题进行拆分处理,得到所述至少两个样本子问题;
43、将所述至少两个样本子问题各自对应的样本实体信息,输入所述大模型的语句生成网络进行图查询语句生成处理,得到所述至少两个样本图查询语句;
44、在图数据库中查询与所述至少两个样本图查询语句相匹配的答案,生成所述至少两个样本子问题各自对应的样本子答案;
45、将所述至少两个样本子问题各自对应的样本子答案,输入所述答案生成模型中的答案生成网络进行逻辑运算,生成所述样本问题对应的样本预测答案;
46、基于所述样本预测答案与所述样本答案标签之间的差异,训练所述大模型,得到所述答案生成模型。
47、根据本公开实施例的第二方面,提供一种答案生成装置,包括:
48、目标结果确定模块,被配置为执行获取目标问题,并对所述目标问题进行合理性验证,得到目标验证结果;所述合理性验证用于验证所述目标问题的语义是否清楚、逻辑是否合理;
49、目标问题拆分模块,被配置为执行在所述目标验证结果表征所述目标问题验证合理的情况下,将所述目标问题拆分成至少两个目标子问题;
50、图查询语句确定模块,被配置为执行根据所述至少两个目标子问题各自对应的目标实体信息,得到至少两个图查询语句;所述至少两个图查询语句包括每个目标子问题对应的图查询语句;其中,一个目标子问题对应一个图查询语句;
51、目标子答案生成模块,被配置为执行在图数据库中查询与所述至少两个图查询语句相匹配的答案,得到所述至少两个目标子问题各自对应的目标子答案;
52、目标答案生成模块,被配置为执行根据所述至少两个目标子问题各自对应的目标子答案,生成所述目标问题对应的目标答案。
53、在一示例性的实施方式中,所述图查询语句确定模块包括:
54、初始实体信息确定单元,被配置为执行调用实体链接识别所述至少两个目标子问题各自对应的初始实体信息,得到至少两组初始实体信息;
55、目标实体信息确定单元,被配置为执行对所述至少两组初始实体信息进行消歧处理,得到至少两组目标实体信息;
56、目标关联信息确定单元,被配置为执行在预设知识库中查询与每组目标实体信息相匹配的目标关联信息,得到每组目标实体信息对应的目标关联信息;
57、图查询语句确定单元,被配置为执行基于每个目标子问题对应的目标实体信息以及目标关联信息,生成每个目标子问题对应的图查询语句;以及将各个目标子问题各自对应的图查询语句,确定为所述至少两个图查询语句。
58、在一示例性的实施方式中,所述目标子答案生成模块包括:
59、第一查询单元,被配置为执行调用图查询引擎,在所述图数据库中查询是否存在与所述至少两个图查询语句相匹配的答案,得到初始查询结果;
60、更新单元,被配置为执行当至少一个图查询语句在所述图数据库中不存在相匹配的答案时,确定所述至少一个图查询语句存在语义或逻辑错误,并对所述至少一个图查询语句进行纠错,得到更新的图查询语句;
61、第二查询单元,被配置为执行基于所述更新的图查询语句查询所述图数据库,得到与所述更新的图查询语句相匹配的查询答案;
62、子答案生成单元,被配置为执行基于所述初始查询结果以及所述查询答案,得到所述至少两个目标子问题各自对应的目标子答案。
63、在一示例性的实施方式中,所述目标答案生成模块包括:
64、初始答案生成单元,被配置为执行对所述至少两个目标子问题各自对应的目标子答案进行逻辑运算,生成所述目标问题对应的初始答案;
65、初始验证结果确定单元,被配置为执行对所述初始答案进行合理性验证,得到初始验证结果;
66、目标答案确定单元,被配置为执行在所述初始验证结果表征所述初始答案验证合理的情况下,将所述初始答案确定为所述目标问题对应的目标答案。
67、在一示例性的实施方式中,所述装置还包括:
68、跳转模块,被配置为执行在所述初始验证结果表征所述初始答案验证不合理的情况下,跳转至所述将所述目标问题拆分成至少两个目标子问题的步骤,并重复所述根据所述至少两个目标子问题各自对应的目标实体信息,得到至少两个图查询语句至所述根据所述至少两个目标子问题各自对应的目标子答案,生成所述目标问题对应的目标答案的步骤。
69、在一示例性的实施方式中,所述装置还包括:
70、消息发送模块,被配置为执行在所述目标验证结果表征所述目标问题验证不合理的情况下,向所述目标问题对应的终端发送验证未通过消息;
71、验证模块,被配置为执行接收所述终端基于所述验证未通过消息发送的目标更新问题,并对所述目标更新问题进行合理性验证。
72、在一示例性的实施方式中,所述目标结果确定模块包括:
73、目标验证单元,被配置为执行将所述目标问题输入答案生成模型,基于所述答案生成模型中的合理性验证子模型对所述目标问题进行合理性验证,得到所述目标验证结果;
74、所述目标问题拆分模块包括:
75、拆分单元,被配置为执行基于所述答案生成模型中的问题拆分子模型,对所述目标问题进行拆分处理,得到所述至少两个目标子问题;
76、所述图查询语句确定模块包括:
77、图查询语句确定单元,被配置为执行基于所述答案生成模型中的语句生成子模型,对所述至少两个目标子问题各自对应的目标实体信息进行图查询语句生成处理,得到所述至少两个图查询语句;
78、所述目标答案生成模块包括:
79、目标答案生成单元,被配置为执行基于所述答案生成模型中的答案生成子模型,对所述至少两个目标子问题各自对应的目标子答案进行逻辑运算,生成所述目标问题对应的目标答案。
80、在一示例性的实施方式中,所述装置还包括:
81、答案生成模块,被配置为执行将所述目标问题输入答案生成模型,生成所述目标问题对应的目标答案;
82、样本问题获取模块,被配置为执行获取样本问题;所述样本问题标注了样本答案标签;
83、样本验证模块,被配置为执行将所述样本问题输入大模型的合理性验证网络进行合理性验证,得到样本验证结果;
84、样本问题拆分模块,被配置为执行在所述样本验证结果表征所述样本问题验证合理的情况下,将所述样本问题输入所述大模型的问题拆分网络,对所述样本问题进行拆分处理,得到所述至少两个样本子问题;
85、样本图查询语句确定模块,被配置为执行将所述至少两个样本子问题各自对应的样本实体信息,输入所述大模型的语句生成网络进行图查询语句生成处理,得到所述至少两个样本图查询语句;
86、样本子答案生成模块,被配置为执行在图数据库中查询与所述至少两个样本图查询语句相匹配的答案,生成所述至少两个样本子问题各自对应的样本子答案;
87、样本答案预测模块,被配置为执行将所述至少两个样本子问题各自对应的样本子答案,输入所述答案生成模型中的答案生成网络进行逻辑运算,生成所述样本问题对应的样本预测答案;
88、模型训练模块,被配置为执行基于所述样本预测答案与所述样本答案标签之间的差异,训练所述大模型,得到所述答案生成模型。
89、根据本公开实施例的第三方面,提供一种电子设备,包括:
90、处理器;
91、用于存储所述处理器可执行指令的存储器;
92、其中,所述处理器被配置为执行所述指令,以实现如上所述的答案生成方法。
93、根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备处理器执行时,使得电子设备能够执行如上所述的答案生成方法。
94、根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的答案生成方法。
95、本公开的实施例提供的技术方案至少带来以下有益效果:
96、本公开获取目标问题,并对所述目标问题进行合理性验证,得到目标验证结果;在所述目标验证结果表征所述目标问题验证合理的情况下,将所述目标问题拆分成至少两个目标子问题;从而避免由于不合理问题造成无法生成正确答案;根据所述至少两个目标子问题各自对应的目标实体信息,得到至少两个图查询语句;在图数据库中查询与所述至少两个图查询语句相匹配的答案,得到所述至少两个目标子问题各自对应的目标子答案;根据所述至少两个目标子问题各自对应的目标子答案,生成所述目标问题对应的目标答案。本公开通过将目标问题分解成多个子问题并先查询子问题对应的答案,最后根据多个目标子答案,生成所述目标问题对应的目标答案,从而提高了目标答案的确定效率以及准确率。
97、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。