问题解答模型的训练方法及装置、问题解答方法及装置与流程

文档序号:33497793发布日期:2023-03-17 21:25阅读:30来源:国知局
问题解答模型的训练方法及装置、问题解答方法及装置与流程

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.图1是本说明书一实施例提供的一种问题解答模型的训练方法的流程图;
31.图2是本说明书一实施例提供的一种第一训练样本的结构示意图;
32.图3是本说明书一实施例提供的一种问题解答模型的结构示意图;
33.图4是本说明书一实施例提供的另一种问题解答模型的结构示意图;
34.图5是本说明书一实施例提供的一种验证模型的验证过程示意图;
35.图6是本说明书一实施例提供的一种问题解答模型的训练过程示意图;
36.图7是本说明书一实施例提供的一种问题解答方法的流程图;
37.图8是本说明书一实施例提供的一种算式语义树的示意图;
38.图9是本说明书一实施例提供的另一种算式语义树的示意图;
39.图10是本说明书一实施例提供的一种问题解答模型的训练装置的结构示意图;
40.图11是本说明书一实施例提供的一种问题解答装置的结构示意图;
41.图12是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
42.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
43.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
44.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描
述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
45.需要说明的是,在需要解答某个问题时,目前一种可能的实现方式中,可以将需要解答的问题输入端到端模型中,该端到端模型可以输出问题的最终计算公式,从而自动得到该问题的答案。然而,通过端到端模型,只能直接获得问题的最终计算公式,无法获得问题的详细解答步骤,设备的问题解答过程的可视化较差,导致问题答案的可解释性较差,极大影响了用户体验。
46.另一种可能的实现方式中,还可以将需要解答的问题输入序列到序列模型中,该序列到序列模型可以输出该问题的解答步骤。然而,由于问题的解答步骤相对较长,因而在训练序列到序列模型时,需要海量高质量的训练数据,即《问题,解答步骤》文本对,即使存在海量的这种文本对,其中的解答步骤也来源于不同的人(如教师、学生或其他人),可能会造成不同格式、不同语言风格的解答步骤的描述,导致序列到序列模型很难学到固定的解答模式,序列到序列模型训练难度较大。并且,获取到的海量《问题,解答步骤》文本对中解答步骤的正确性没有保障,错误的解答步骤可能会给模型学习带来错误引导,进一步加大了序列到序列模型的训练难度,且序列到序列模型输出的解答步骤的准确率有限,极大影响了后续问题的解答效率和正确率。
47.因而,本说明书提供了一种问题解答模型的训练方法,可以先通过少量携带语义结构标签的训练样本,对初始解答模型进行训练,该语义结构标签可以是通过语义分析确定出的各个算式因子的语义结构;然后通过初步训练得到的参考问题解答模型预测不带标签的训练样本的语义结构,并从预测得到的各个预测语义结构中筛选出预测较为正确的预测语义结构,作为新的携带语义结构标签的训练样本,继续进行训练。如此,可以仅通过一小部分带有语义结构标签的训练样本对初始解答模型进行训练,然后基于训练得到的参考问题解答模型,一轮一轮的添加带语义结构标签的样本数据,使得训练问题解答模型可以使用的带标签的训练样本越来越多,从而获得准确率较高的问题解答模型,通过少量携带语义结构标签的训练样本,即可得到正确率较高的问题解答模型。
48.本说明书还提供了一种问题解答方法,可以通过预先训练得到的问题解答模型,确定待解答问题的解答算式中每个算式因子的语义结构,构造得到一个算式语义树,该算式语义树可以表示解答算式对应的各个解答步骤,从而可以根据构造得到的算式语义树,确定出待解答问题的详细解答步骤,使得设备的问题解答过程更详细、更可视,提高了通过设备进行问题解答的可视化,进而提高了自动获得的待解答问题的答案的可解释性,大大提高了用户体验,且通过预先训练得到的问题解答模型提高了确定语义结构的效率和正确率。
49.在本说明书中,提供了一种问题解答模型的训练方法,本说明书同时涉及一种问题解答模型的训练装置,一种问题解答方法,一种问题解答装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
50.图1示出了根据本说明书一实施例提供的一种问题解答模型的训练方法的流程图,具体包括以下步骤:
51.步骤102:获取第一训练样本集和第二训练样本集,第一训练样本集中包括的各个第一训练样本携带语义结构标签。
52.具体的,第一训练样本集可以是指携带语义结构标签的第一训练样本的集合,第二训练样本集可以是指不携带语义结构标签的第二训练样本的集合。另外,第一训练样本和第二训练样本可以是文本数据,该文本数据可以是直接获取得到的,也可以是对图像数据进行文本识别得到的。
53.需要说明的是,第一训练样本集可以包括至少一个第一训练样本,每个第一训练样本可以包括样本问题和样本算式,该样本算式可以是指样本问题的答案的计算公式,也即得到样本问题的答案的计算方式,语义结构标签可以是指第一训练样本的样本算式中包括的各个算式因子对应的语义结构。其中,样本算式可以是二叉树的结构,语义结构可以代表对应的算式因子(二叉树中的节点)的物理含义。
54.实际应用中,样本算式可以是指样本问题的计算方式,因而样本算式中可以包括数值和运算符,该样本算式中包括的各个数值和运算符均为样本算式中包括的算式因子。实际实现时,可以对样本问题进行语义分析,结合对应的样本算式,分析每个算式因子代表的物理含义,得到对应的语义结构。也即,第一样本问题携带的语义结构标签可以为通过对样本问题和样本算式进行语义分析,确定出的样本算式中包括的每个算式因子对应的语义结构。
55.本实施例一个可选的实施方式中,以样本算式为二叉树结构为例,样本算式中包括的算式因子为二叉树结构中的节点;此时对样本问题和样本算式进行语义分析,确定样本算式中包括的每个算式因子对应的语义结构,具体实现过程可以如下:
56.针对叶子节点,根据预设语义抽取规则,从样本问题和样本算式的语义分析结果中确定叶子节点的语义结构;
57.针对中间节点,根据中间节点包括的子节点,确定中间节点的语义结构;
58.针对根节点,根据根节点包括的子节点,确定根节点的语义结构;或者,根据预设语义抽取规则,从样本问题和样本算式的语义分析结果中确定根节点的语义结构。
59.具体的,预设语义抽取规则可以是指从样本问题和样本算式中获取叶子节点(即算式因子)相应的物理含义的规则,该预设语义抽取规则可以预先进行定义,以用于确定叶子节点的语义结构。
60.需要说明的是,叶子节点一般是样本问题或者样本算式中包括的数字,因而叶子节点可以直接从样本问题或者样本算式中分析出对应的物理含义,也即对于叶子节点来说,可以根据预设语义抽取规则,从样本问题和样本算式的语义分析结果中确定叶子节点的语义结构。
61.另外,中间节点一般是样本算式中包括的运算符,因而中间节点无法直接从样本问题或者样本算式中分析出对应的物理含义。由于中间节点包括有子节点,因而可以根据中间节点包括的子节点,推倒出中间节点的语义结构。
62.再者,对于根节点来说,其也包括有子节点,因而也可以基于根节点包括的子节点,推倒出根节点的语义结构。或者,由于根节点是二叉树结构中最顶层的节点,因而该根节点往往代表样本问题最终需要求解的答案,因而也可以直接从样本问题或者样本算式中分析出对应的物理含义,即根据预设语义抽取规则,从样本问题和样本算式的语义分析结
果中确定根节点的语义结构。
63.本说明书中可以根据不同类型的节点的特性,采用不同的方式确定对应的语义结构,保证了确定出的语义结构的正确性,从而保证了最终得到的第一训练样本的语义结构标签的正确性。
64.需要说明的是,第一训练样本携带的语义结构标签是通过对样本问题进行语义分析,结合对应的样本算式,分析出的每个算式因子代表的物理含义,避免了从网络上获取到的训练样本的样本标签来自不同人的标记,使得第一训练样本集包括的各个第一训练样本携带的样本标签固定且统一,简化了后续模型的学习难度,提高了模型的训练效率。
65.本实施例一个可选的实施方式中,可以预先构造该第一训练样本,也即获取第一训练样本集,具体实现过程可以如下:
66.获取至少一个第一样本问题以及对应的第一样本算式;
67.将所述第一样本算式的形式由中缀表达式转换为前缀表达式;
68.将所述前缀表达式的第一样本算式拼接在对应的第一样本问题之后,并通过预设间隔符进行分隔,得到第一训练样本;
69.各个第一训练样本组成所述第一训练样本集。
70.具体的,中缀表达式为运算符嵌入在算式中间的表达形式,中缀表达式中可能会包括无意义的括号等;前缀表达式为运算符在前,数字在后的表达形式。预设间隔符可以是指预先设置的特殊符号,用于分隔第一训练样本的样本问题和样本算式,如[sep]。
[0071]
需要说明的是,在获取到第一训练样本以及对应的第一样本算式后,可以将第一样本算式由中缀表达式转换为前缀表达式,从而去掉第一样本算式中无意义的括号等符号,减少模型需要学习的信息,较少处理量,提高学习速度。
[0072]
示例的,假设某个第一样本问题为“正方形周长8厘米,求正方形面积是多少?”,该第一样本问题对应的第一样本算式为“(8
÷
4)
2”,将第一样本算式由“(8
÷
4)
2”转换为^
÷
842,然后将转换后的第一样本算式拼接在第一样本问题后,并使用预设分隔符“[sep]”进行分隔,得到第一训练样本“正方形周长8厘米,求正方形面积是多少?[sep]^
÷
842”。
[0073]
步骤104:根据第一训练样本集和语义结构标签,对初始解答模型进行训练,得到参考问题解答模型。
[0074]
需要说明的是,获取第一训练样本集和第二训练样本集的基础上,进一步地,由于第一训练样本集是携带语义结构标签的训练样本的集合,因而可以使用第一训练样本集对初始解答模型进行有监督训练,得到参考问题解答模型。
[0075]
本实施例一个可选的实施方式中,根据所述第一训练样本集和所述语义结构标签,对初始解答模型进行训练,得到参考问题解答模型,具体实现过程可以如下:
[0076]
获取所述第一训练样本集中的第一训练样本,将所述第一训练样本输入所述初始解答模型,获得所述初始解答模型输出的所述第一训练样本对应的预测语义结构;
[0077]
根据所述第一训练样本对应的预测语义结构和语义结构标签,计算所述初始解答模型的损失值;
[0078]
根据所述损失值,调整所述初始解答模型的参数,并返回执行获取所述第一训练样本集中的第一训练样本的操作步骤,直至达到第二训练停止条件,得到所述参考问题解答模型。
[0079]
具体的,可以基于第一训练样本的预测语义结构与语义结构标签计算交叉熵损失函数,生成损失值。其中,语义结构标签是指真实想要初始解答模型输出的结果,也即语义结构标签为真实结果,而将第一训练样本输入初始解答模型,输出的预测语义结构就是预测结果,在预测结果和真实结果之间的差值足够小时,说明预测结果足够接近真实结果,此时初始解答模型训练完成,得到参考问题解答模型。
[0080]
实际应用中,第二训练停止条件可以包括:第一训练样本集中包括的各个第一训练样本均获取完毕,也即第一训练样本集中包括的各个第一训练样本均完成对初始解答模型的训练。
[0081]
需要说明的是,第一训练样本集在初始时可以仅包括少量的携带语义结构标签的第一训练样本,因而在各个第一训练样本均训练完毕时,此轮基于第一训练样本集对初始解答模型进行训练的训练过程完成,达到第二训练停止条件。
[0082]
本说明书中通过计算损失值可以直观的示出模型的预测结果与真实结果之间的差异,再对初始解答模型进行针对性训练,调整参数,可以有效提高模型训练的速率及模型训练的效果。
[0083]
本实施例一个可选的实施方式中,初始解答模型可以包括编码器、至少一个分类器和屏蔽掩码层;此时将所述第一训练样本输入所述初始解答模型,获得所述初始解答模型输出的所述第一训练样本对应的预测语义结构,具体实现过程可以如下:
[0084]
将所述第一训练样本输入所述初始解答模型的编码器中,获得所述第一训练样本的隐状态向量;
[0085]
将所述隐状态向量输入所述初始解答模型的至少一个分类器中,获得所述至少一个分类器输出的预测标签和概率;
[0086]
将所述至少一个分类器输出的预测标签和概率输入所述初始解答模型的屏蔽掩码层,获得所述第一训练样本的预测语义结构。
[0087]
具体的,初始解答模型包括的编码器可以为bert模型,将第一训练样本输入初始解答模型的编码器(即bert模型)中,可以获得输出的第一训练样本的隐状态向量,即通过bert模型再次编码得到的向量。
[0088]
实际应用中,由于bert模型对于输入有独特的要求,若输入的信息为两部分,那么需要明确标识两部分,因而在将第一训练样本输入初始解答模型的编码器之前,还可以根据第一训练样本填充对应的位置信息和分段信息,并进行向量化,得到可以输入该编码器的第一训练样本。
[0089]
示例的,图2是本说明书一实施例提供的一种第一训练样本的结构示意图,如图2所示,第一训练样本包括3部分:token、position、segment,其中,token为第一训练样本包括的样本问题和前缀表达式形式的样本算式“正方形周长8厘米,求正方形面积是多少?[sep]^
÷
842”,position表示位置信息,segment表示分段信息。
[0090]
另外,将编码器(即bert模型)输出的隐状态向量输入初始解答模型的至少一个分类器中,即可得到各个分类器输出的预测标签和概率,该分类器是一个全连接层,全连接层参数矩阵的大小是隐状态向量的维度乘以分类器中预先存储的标签列表的大小。
[0091]
需要说明的是,分类器是对输入的第一训练样本中包括的各个位置均进行预测,然而第一训练样本中的样本问题、预设分隔符、常数等,无需进行预测,且无论模型预测出
什么标签都是不正确的,可能会导致模型不收敛。因而,在分类器之后,添加了屏蔽掩码层,该屏蔽掩码层中无需预测标签的位置屏蔽掩码设置为0,需要预测标签的位置屏蔽掩码设置为1,将分类器输出的各个位置对应的预测标签和概率输入屏蔽掩码层中,与预先设置的屏蔽掩码进行位乘,即可得到第一训练样本中需要预测的位置对应的标签和概率,也即只保留了第一训练样本包括的第一样本算式中需要预测语义结构的位置的信息,得到第一训练样本的预测语义结构。
[0092]
本说明书中通过屏蔽掩码层只输出需要预测语义结构的位置的信息,也即只有需要预测语义结构的位置的信息,后续才会产生损失值,进行梯度回传,避免了模型不收敛,且减少了需要处理的数据量,提高模型训练速度。
[0093]
本实施例一个可选的实施方式中,语义结构标签可以包括主语、谓词和单位,也即通过初始解码模型中的分类器,需要预测主语、谓词和单位等3个标签,以及对应的概率,因而初始解答模型可以包括3个分类器:主语分类器、谓词分类器和单位分类器,通过不同的分类器预测不同的标签以及概率。此时将所述隐状态向量输入所述初始解答模型的至少一个分类器中,获得所述至少一个分类器输出的预测标签和概率,具体实现过程可以如下:
[0094]
将所述隐状态向量输入所述初始解答模型的主语分类器中,通过所述主语分类器中存储的主语列表,获得所述第一训练样本包括的各个元素对应的预测主语和概率;
[0095]
将所述隐状态向量输入所述初始解答模型的谓词分类器中,通过所述谓词分类器中存储的谓词列表,获得所述第一训练样本包括的各个元素对应的预测谓词和概率;
[0096]
将所述隐状态向量输入所述初始解答模型的单位分类器中,通过所述单位分类器中存储的单位列表,获得所述第一训练样本包括的各个元素对应的预测单位和概率。
[0097]
需要说明的是,每个分类器中都预先存储有对应的标签列表,如主语分类器中预先存储有主语列表,谓词分类器中预先存储有谓词列表,单位分类器中预先存储有单位列表。
[0098]
实际应用中,主语列表、谓词列表、单位列表均可以预先在相应领域内进行搜集,然而对于某些领域来说,谓词和单位是一个闭集,因而可以穷举该领域内的各个谓词和单位,得到该谓词列表、单位列表,如简单几何领域。对于主语来说,很难穷举相应领域内包括的各个主语,可以从获取到的主语中选取前预设数值个或者出现频次高于阈值的主语,作为主语列表。
[0099]
示例的,图3是本说明书一实施例提供的一种问题解答模型的结构示意图,如图3所示,以一个分类器为例进行说明,第一训练样本包括样本问题和样本算式,将第一训练样本输入bert模型中,得到bert模型输出的隐状态向量,将该隐状态向量输入谓词分类器中,该谓词分类器通过预先存储的谓词词表,预测输入的隐状态向量中各个位置的谓词标签和概率,然后将预测得到的各个位置的谓词标签和概率输入至屏蔽掩码层,丢弃针对无意义位置预测的标签和概率,保留针对样本算式中有意义位置预测的标签和概率,得到第一训练样本的预测语义结构。
[0100]
需要说明的是,在初始解答模型包括至少两个分类器时,各个分类器可以共用编码器(bert模型)输出的隐状态向量,以及后续的屏蔽掩码层,不同分类器中携带的标签列表不同,从而获得第一训练样本的预测语义结构,该预测语义结构包括各个分类器对应的维度。
[0101]
示例的,图4是本说明书一实施例提供的另一种问题解答模型的结构示意图,如图4所示,以分类器为主语分类器、谓词分类器和单位分类器为例进行说明。如图4所示,第一训练样本包括样本问题和样本算式,将第一训练样本输入bert模型中,得到bert模型输出的隐状态向量。之后分别将该隐状态向量输入主语分类器、谓词分类器和单位分类器中,主语分类器通过预先存储的主语词表,预测输入的隐状态向量中各个位置的主语标签和概率;谓词分类器通过预先存储的谓词词表,预测输入的隐状态向量中各个位置的谓词标签和概率;单位分类器通过预先存储的单位词表,预测输入的隐状态向量中各个位置的单位标签和概率。
[0102]
然后,可以将预测得到的各个位置的主语标签和概率、谓词标签和概率、单位标签和概率输入至屏蔽掩码层,丢弃针对无意义位置预测出的标签和概率,保留针对样本算式中有意义位置预测的标签和概率,得到第一训练样本的预测语义结构,该预测语义结构包括针对有意义的位置预测出的主语、谓词和单位。
[0103]
步骤106:将第二训练样本集包括的各个第二训练样本输入参考问题解答模型,获得各个第二训练样本对应的预测语义结构。
[0104]
需要说明的是,第二训练样本集中包括的各个第二训练样本不携带语义结构标签,也即是,第二训练样本是不知道对应的语义结构的训练样本。由于参考问题解答模型是根据携带语义结构标签的第一训练样本初步训练得到,因而可以通过参考问题解答模型对第二训练样本集中的各个第二训练样本进行预测,得到各个第二训练样本对应的预测语义结构。
[0105]
步骤108:根据预测语义结构,从各个第二训练样本中筛选出目标训练样本添加至第一训练样本集中,得到更新的第一训练样本集。
[0106]
返回执行步骤104,直至达到第一训练停止条件,获得训练完成的问题解答模型。
[0107]
需要说明的是,第一训练样本集中仅包括少量的第一训练样本,即参考问题解答模型仅是根据少量携带语义结构标签的第一训练样本初步训练得到,因而该参考问题解答模型预测出的各个第二训练样本对应的预测语义结构中,可能会存在明显错误的结果,进而可以从预测出对应的预测语义结构的各个第二训练样本中筛选出目标训练样本添加至第一训练样本集中,得到更新的第一训练样本集。
[0108]
实际应用中,每一轮训练,第一训练样本集中包括的训练样本会比上一轮多,因而训练得到的参考问题解答模型会更加准确,可以正确预测出更多的第二训练样本的预测语义结构,因而随着一轮轮的训练,第一训练样本集中包括的训练样本会越来越多,参考问题解答模型可以正确预测出的第二训练样本也会越来越多。
[0109]
具体实现时,当参考问题解答模型可以正确预测出的第二训练样本个数没有明显增加时,也即几轮训练中,第一训练样本集中包括的训练样本的增加幅度小于幅度阈值时,说明模型收敛,已经训练完成,可以确定达到第一训练停止条件。
[0110]
本实施例一个可选的实施方式中,可以基于预设算式知识库和验证模型对各个预测语义结构进行验证,也即根据所述预测语义结构,从所述各个第二训练样本中筛选出目标训练样本添加至所述第一训练样本集中,具体实现过程可以如下:
[0111]
根据所述各个第二训练样本的预测语义结构,生成所述各个第二训练样本对应的预测算式语义树;
[0112]
根据预设算式知识库和验证模型,对各个第二训练样本对应的预测算式语义树进行验证;
[0113]
将通过验证的预测算式语义树对应的第二训练样本作为所述目标训练样本,对应的预测语义结构作为所述目标训练样本的语义结构标签;
[0114]
将所述携带语义结构标签的目标训练样本添加至所述第一训练样本集中。
[0115]
具体的,预设算式知识库可以是指预先设置的包括样本问题所属的领域内的绝大部分计算公式的知识库。如,对于简单几何领域来说,由于简单几何领域是个闭集,因而可以穷举简单几何领域内包括的各个公式,组合为预设算式知识库。另外,验证模型可以是指预先训练得到的、可以识别输入是否正确的二分类模型,如该验证模型可以为预先训练好的二分类的bert模型。
[0116]
需要说明的是,可以根据预设算式知识库和验证模型对各个预测语义结构进行验证,通过验证的预测语义结构即为参考问题解答模型可以准确预测的语义结构,即参考问题解答模型可以准确对相应的第二训练样本进行分析识别,预测出正确的语义结构。
[0117]
此时可以将通过验证的预测语义结构对应的第二训练样本确定为筛选出的目标训练样本,该目标训练样本存在正确的预测语义结构,该预测语义结构即可以作为目标训练样本的语义结构标签;也即,筛选出的目标训练样本包括有对应的语义结构标签,因而目标训练样本为带标签的训练样本,添加至第一训练样本集中,以丰富第一训练样本集中包括的训练数据,再继续根据第一训练样本集对上一轮训练得到的参考问题解答模型继续训练,然后继续预测第二训练样本集中第二训练样本的预测语义结构,直至达到第一训练停止条件,获得训练完成的问题解答模型。
[0118]
本实施例一个可选的实施方式中,根据预设算式知识库和验证模型,对各个第二训练样本对应的预测算式语义树进行验证,具体实现过程可以如下:
[0119]
根据所述预设算式知识库,对各个第二训练样本对应的预测算式语义树进行知识验证;
[0120]
确定通过知识验证的参考预测算式语义树,并确定所述参考预测算式语义树中的根节点谓词;
[0121]
将所述参考预测算式语义树对应的第二训练样本的样本问题和所述根节点谓词输入所述验证模型,获得所述验证模型输出的目标验证结果。
[0122]
需要说明的是,由于第一训练样本集中包括的训练样本较少,参考问题解答模型的预测准确度并不高,可能会存在两种形式的错误。一种为根据预测语义结构生成的预测算式语义树本身的冲突,即预测算式语义树与已知算式知识不匹配,例如预测算式语义树为面积=(面积
÷
4)2,那通过几何知识,就可以知道预测是不对的。针对这一问题,本发明可以使用事先搜集的知识公式,即预设算式知识库来对预测算式语义树进行验证。
[0123]
另一种为根据预测语义结构生成的预测算式语义树本身是自洽正确的,但和该预测算式语义树最终的结果并不是对应的第二训练样本中样本问题所问的,也即预测出的答案与题意不符,例如预测算式语义树为面积=长*宽,但对应的第二训练样本中样本问题是“一个长方体底面积是3平方厘米,高是4厘米,求它的体积。”因此正确的预测算式语义树应该是体积=底面积*高。这种情况,本发明提出训练一个二分类器,即验证模型来验证答案和题意是否相符。
[0124]
实际应用中,基于预测语义结构生成的预测算式语义树先经过预设算式知识库,再经过验证模型验证,最终通过的验证的预测算式语义树为预测正确的、且符合对应的样本问题的题意的,通过最终验证的预测算式语义树对应的第二训练样本即为筛选出的目标训练样本。
[0125]
另外,在对预测语义结构生成的预测算式语义树进行验证时,可以只基于语义结构中的谓词进行验证。
[0126]
本实施例一个可选的实施方式中,预测算式语义树包括至少一个语义子树,每个所述语义子树由子节点和父节点构成;此时述根据所述预设算式知识库,对各个第二训练样本对应的预测算式语义树进行知识验证,具体实现过程可以如下:
[0127]
针对所述预测算式语义树中的每个语义子树,将所述语义子树与所述预设算式知识库中包括的各个预设算式进行匹配,在匹配到对应的预设算式的情况下,确定所述语义子树通过算式验证;在未匹配到对应的预设算式的情况下,对所述语义子树进行规则验证,若未通过规则验证,则针对所述语义子树的父节点添加置空标识;
[0128]
确定所述预测算式语义树的根节点是否存在所述置空标识,若存在,则确定所述预测算式语义树未通过知识验证,若不存在,则确定所述预测算式语义树通过知识验证。
[0129]
实际应用中,将语义子树与预设算式知识库中包括的各个预设算式进行匹配时,可以根据预设算式知识库,确定该语义子树包括的子节点和父节点之间的关系,在预设算式知识库中是否存在对应的匹配算式,若存在,则说明该语义子树通过算式验证,若不存在,则还可以进一步基于预设的规则,对该语义子树进行规则验证,进一步确定该语义子树是否可以通过知识验证。
[0130]
其中,该预设的规则可以是指预先设置的确定语义子树包括的子节点和父节点之间的关系是否符合正确知识理论的规则,如语义子树的操作符是加减号,语义子树中子节点和父节点的谓词相同(面积=面积-面积),语义子树的操作符是除号,两个子节点的谓词相同,父节点的谓词是倍数。
[0131]
需要说明的是,算式中可能会存在一些无意义(即不存在对应的物理含义)的中间结果,以该中间结果为父节点的语义子树,可能无法通过知识验证,但是继续向上以该中间结果为子节点的语义子树的父节点可能就具有相应的物理含义,可以通过知识验证,因而若语义子树依旧未通过知识验证时,并不直接确定整个预测算式语义树未通过知识验证,而是可以为该语义子树的父节点添加置空标识。在整个预测算式语义树包括的各个语义子树均验证完毕后,通过预测算式语义树的根节点是否存在置空标识,来确定该预测算式语义树是否通过知识验证。
[0132]
本实施例一个可选的实施方式中,上述验证模型可以通过下述方法训练得到:
[0133]
获取第三训练样本集,所述第三训练样本集包括至少一个正训练样本,以及至少一个负训练样本;
[0134]
通过所述第三训练样本集中的正训练样和负训练样本,对初始验证模型进行训练,得到训练完成的验证模型。
[0135]
实际应用中,验证模型可以是一个二分类模型,因而在训练验证模型时可以通过正训练样本和负训练样本对其进行训练。其中,正训练样本为样本标签为与样本问题对应的根节点谓词,负训练样本为样本标签不是与样本问题对应的根节点谓词。
[0136]
一种可能的实现方式中,正训练样本可以为《样本问题,对应的根节点谓词》数据对,负训练样本则为随机构造的《样本问题,非对应的根节点谓词》。正训练样和负训练样本按1:1比例混合起来,对验证模型进行训练。
[0137]
需要说明的是,通过正训练样和负训练样本,对初始验证模型进行训练,得到训练完成的验证模型,使得训练完成的验证模型可以对输入的样本问题和根节点谓词进行分析,确定输入的根节点谓词是否与输入的样本问题对应,若是,则可以输出正确标签,若否,则可以输出错误标签,从而通过训练完成的验证模型,可以确定根节点谓词是否是对应的样本问题真是想要求解的答案,以确定是否通过最终的验证。
[0138]
示例的,图5是本说明书一实施例提供的一种验证模型的验证过程示意图,如图5所示,将待解答问题和根节点谓词(在待解答问题和根节点谓词之间通过预设间隔符[sep]进行分隔)输入bert模型,bert模型可以输出二分类结果,即验证通过的概率和验证不通过的概率。
[0139]
接下来,对问题解答模型的完整训练过程进行示意性说明,图6是本说明书一实施例提供的一种问题解答模型的训练过程示意图,如图6所示,先获取携带语义结构标签的第一训练样本的集合作为第一训练样本集,以及不携带语义结构标签的第二训练样本的集合作为第二训练样本集。通过第一训练样本集对初始解答模型进行训练,将第二训练样本集输入训练完的初始解答模型,获得第二训练样本集的预测语义结构。之后,根据预设算式知识库,对第二训练样本集的预测语义结构进行知识验证,再对通过知识验证的预测语义结构进行模型验证,将通过验证的预测语义结构对应的第二训练样本添加至第一训练样本集中,继续使用第一训练样本集对初始解答模型继续进行训练,直至达到训练停止条件。
[0140]
本说明书提供的问题解答模型的训练方法,可以先通过少量携带语义结构标签的训练样本,对初始解答模型进行训练,然后通过初步训练得到的参考问题解答模型预测不带标签的训练样本的语义结构,并从预测得到的各个预测语义结构中筛选出预测较为正确的预测语义结构,作为新的携带语义结构标签的训练样本,继续进行训练。如此,可以仅通过一小部分带有语义结构标签的训练样本对初始解答模型进行训练,然后基于训练得到的参考问题解答模型,一轮一轮的添加带语义结构标签的样本数据,使得训练问题解答模型可以使用的带标签的训练样本越来越多,从而获得准确率较高的问题解答模型,通过少量携带语义结构标签的训练样本,即可得到正确率较高的问题解答模型。
[0141]
图7示出了根据本说明书一实施例提供的一种问题解答方法的流程图,具体包括以下步骤:
[0142]
步骤702:将获取到的待解答问题输入算式识别模型,获得待解答问题的解答算式。
[0143]
需要说明的是,待解答问题可以是需要确定详细解答步骤的问题,该待解答问题可以是数学领域内的问题,如简单几何领域内的问题。另外,解答算式可以是指待解答问题的答案的计算公式,也即得到待解答问题的答案的计算方式。再者,算式识别模型可以是预先训练好的、能够对输入的问题进行识别分析,输出该问题对应的计算公式的模型。
[0144]
实际应用中,待解答问题为文本数据,获取到的待解答问题可以直接为文本数据,或者获取到的待解答问题也可以为图像数据,对该图像数据进行文字识别即可得到待解答问题的文本数据。
[0145]
示例的,待解答问题可以为“正方形周长8厘米,求正方形的面积是多少?”,将该待解答问题输入算式识别模型中,该算式识别模型可以输出该待解答问题对应的解答算式为“(8
÷
4)
2”。
[0146]
本说明书中在获取到待解答问题后,可以将该待解答问题输入预先训练好的算式识别模型中,获得该待解答问题对应的解答算式,后续可以通过问题解答模型对待解答问题和该解答算式进行分析,得到详细的解答步骤,为后续的分析过程提供了数据基础。
[0147]
步骤704:将解答算式和待解答问题输入问题解答模型,获得解答算式中各个算式因子的语义结构。
[0148]
其中,问题解答模型为通过上述图1所示的问题解答模型的训练方法训练得到。
[0149]
本实施例一个可选的实施方式中,将解答算式和待解答问题输入问题解答模型,具体实现过程可以如下:
[0150]
将所述解答算式拼接在所述待解答问题之后,并通过预设间隔符进行分隔,得到待编码信息;
[0151]
将拼接得到的所述待编码信息输入所述问题解答模型。
[0152]
需要说明的是,预设间隔符可以是指预先设置的特殊符号,用于分隔第一训练样本的样本问题和样本算式,如[sep]。
[0153]
步骤706:根据各个算式因子的语义结构,生成算式语义树,并根据算式语义树,确定待解答问题的解答步骤。
[0154]
具体的,语义结构可以代表对应的算式因子的物理含义,算式语义树可以是一种二叉树,该算式语义树中的各个节点对应解答算式中包括的各个算式因子,且各个节点对应有语义结构。
[0155]
需要说明的是,算式语义树可以包括多个不同类型的节点,从而构成至少一个语义子树,每个语义子树由子节点和父节点构成。也即,根据运算顺序,算式语义树可以分为至少一个语义子树,每个语义子树可以代表待解答问题的一步解答步骤。
[0156]
本实施例一个可选的实施方式中,算式语义树包括至少一个语义子树,每个语义子树由子节点和父节点构成;此时根据算式语义树,确定待解答问题的解答步骤,具体实现过程可以如下:
[0157]
针对算式语义树包括的每个语义子树,将语义子树包括的子节点和父节点的语义结构,带入预设步骤模板,得到语义子树对应的解答步骤;
[0158]
将各个语义子树的解答步骤作为待解答问题的解答步骤。
[0159]
需要说明的是,预设步骤模板可以为根据语义结构预先设置的模板,将一个语义子树包括的子节点和父节点的语义结构带入该预设步骤模板,即可得到该语义子树对应的一步解答步骤。依次类推,可以获得算式语义树包括的各个语义子树对应的解答步骤,该解答步骤即为待解答问题的详细解答步骤。
[0160]
示例的,假设预设步骤模板为求【父节点主语】的【父节点谓词】,【父节点谓词】=【左孩子节点谓词】【父节点对应的运算符号】【右孩子节点谓词】,故【父节点主语】的【父节点谓词】=【此步骤算式】=【得数】【父节点单位】。图8是本说明书一实施例提供的一种算式语义树的示意图,如图8所示,待解答问题的算式语义树包括2个语义子树,语义子树1包括:节点
“÷”
、节点“8”和节点“4”,语义子树2包括:节点“^”、节点
“÷”
和节点“2”。
[0161]
针对语义子树1,父节点为节点
“÷”
,子节点为节点“8”和节点“4”,将父节点和子节点的语义结构带入上述预设步骤模板中,可以得到语义子树1对应的解答步骤为:求【正方形】的【边长】,【边长】=【周长】【
÷
】【常数4】(由于右孩子节点谓词为常数,不存在谓词,因而直接带入常数值),故【正方形】的【边长】=【8】【
÷
】【4】=【2】【厘米】。
[0162]
针对语义子树2,父节点为节点“^”,子节点为节点
“÷”
和节点“2”,将父节点和子节点的语义结构带入上述预设步骤模板中,可以得到语义子树2对应的解答步骤为:求【正方形】的【面积】,【面积】=【边长】【^】【常数2】(由于右孩子节点谓词为常数,不存在谓词,因而直接带入常数值),故【正方形】的【面积】=【2^2】=【4】【厘米2】。
[0163]
因而待解答问题包括2个解答步骤,步骤1:求正方形的边长,边长=周长
÷
常数4,故正方形的边长=8
÷
4=2厘米;步骤2:求正方形的面积,面积=边长^2,故正方形的面积=2^2=4厘米2。
[0164]
另外,由于在根据叶子节点,推导中间节点代表的物理含义,以确定中间节点的语义结构时,中间节点还可能不存在对应的物理含义,即中间节点仅代表运算的中间结果,不具有实际意义,因而该中间节点的语义结构可能为无意义标识,并不包括主语、谓词和单位。
[0165]
因而,在针对算式语义树包括的每个语义子树,将语义子树包括的子节点和父节点的语义结构,带入预设步骤模板,得到语义子树对应的解答步骤时,若某个语义子树的父节点的语义结构为无意义标识,那么可以不根据该语义子树,单独生成对应的解答步骤,而是将该中间节点也作为子节点,继续向上找到对应的父节点(不为无意义节点),构成新的语义子树,从而得到对应的解答步骤。
[0166]
示例的,假设待解答问题为“三角形的面积为6厘米2,底为3,求三角形的高”,通过问题解答模型可以获得该待解答问题对应的解答算式为:6
×2÷
3,该解答算式对应的算式语义树如图9所示,图9是本说明书一实施例提供的另一种算式语义树的示意图。节点“6”的语义结构为“主语:三角形,谓词:面积,单位:厘米
2”,节点“2”的语义结构为“常数”,节点“3”的语义结构为“主语:三角形,谓词:底,单位:厘米”,节点
“×”
的语义结构为“无意义标识”,节点
“÷”
的语义结构为“主语:三角形,谓词:高,单位是厘米”。
[0167]
如图9所示,由于中间节点
“×”
的语义结构为“无意义标识”,因而该中间节点以及包括的子节点“6”和子节点“2”不构成单独的语义子树,而是将节点“6”、节点“2”、节点
“×”
和节点“3”均作为子节点,将节点
“÷”
作为父节点,构成一个语义子树。在生成对应的解答步骤时,可以将该中间节点插入其包括的子节点之间。
[0168]
假设预设步骤模板为求【父节点主语】的【父节点谓词】,【父节点谓词】=【左孩子节点谓词】【父节点对应的运算符号】【右孩子节点谓词】,故【父节点主语】的【父节点谓词】=【此步骤算式】=【得数】【父节点单位】。将该语义子树的父节点和子节点的语义结构带入上述预设步骤模板,可以得到求【三角形】的【高】,【高】=【面积】【
×
】【常数2】【
÷
】【底】(由于节点
“×”
无意义,因而将
“×”
插入包括的子节点之间),故【三角形】的【高】=【6
×2÷
3】=【4】【厘米】。
[0169]
因而待解答问题包括1个解答步骤,步骤1:求三角形的高,高=面积
×
常数2
÷
底,故三角形的高=6
×2÷
3=4厘米。
[0170]
本说明书提供的问题解答方法,可以通过预先训练得到的问题解答模型,确定待
解答问题的解答算式中每个算式因子的语义结构,构造得到一个算式语义树,该算式语义树可以表示解答算式对应的各个解答步骤,从而可以根据构造得到的算式语义树,确定出待解答问题的详细解答步骤,使得设备的问题解答过程更详细、更可视,提高了通过设备进行问题解答的可视化,进而提高了自动获得的待解答问题的答案的可解释性,大大提高了用户体验,且通过预先训练得到的问题解答模型提高了确定语义结构的效率和正确率。
[0171]
与上述方法实施例相对应,本说明书还提供了问题解答模型的训练装置实施例,图10示出了本说明书一实施例提供的一种问题解答模型的训练装置的结构示意图。如图10所示,该装置包括:
[0172]
获取模块1002,被配置为获取第一训练样本集和第二训练样本集,所述第一训练样本集中包括的各个第一训练样本携带语义结构标签;
[0173]
第一训练模块1004,被配置为根据所述第一训练样本集和所述语义结构标签,对初始解答模型进行训练,得到参考问题解答模型;
[0174]
第一获得模块1006,被配置为将所述第二训练样本集包括的各个第二训练样本输入所述参考问题解答模型,获得所述各个第二训练样本对应的预测语义结构;
[0175]
添加模块1008,被配置为根据所述预测语义结构,从所述各个第二训练样本中筛选出目标训练样本添加至所述第一训练样本集中,得到更新的第一训练样本集,并返回执行所述第一训练模块1004,直至达到第一训练停止条件,获得训练完成的问题解答模型。
[0176]
可选地,第一训练模块1004进一步被配置为:
[0177]
获取所述第一训练样本集中的第一训练样本,将所述第一训练样本输入所述初始解答模型,获得所述初始解答模型输出的所述第一训练样本对应的预测语义结构;
[0178]
根据所述第一训练样本对应的预测语义结构和语义结构标签,计算所述初始解答模型的损失值;
[0179]
根据所述损失值,调整所述初始解答模型的参数,并返回执行获取所述第一训练样本集中的第一训练样本的操作步骤,直至达到第二训练停止条件,得到所述参考问题解答模型。
[0180]
可选地,所述初始解答模型包括编码器、至少一个分类器和屏蔽掩码层;第一训练模块1004进一步被配置为:
[0181]
将所述第一训练样本输入所述初始解答模型的编码器中,获得所述第一训练样本的隐状态向量;
[0182]
将所述隐状态向量输入所述初始解答模型的至少一个分类器中,获得所述至少一个分类器输出的预测标签和概率;
[0183]
将所述至少一个分类器输出的预测标签和概率输入所述初始解答模型的屏蔽掩码层,获得所述第一训练样本的预测语义结构。
[0184]
可选地,所述至少一个分类器为主语分类器、谓词分类器和单位分类器;第一训练模块1004进一步被配置为:
[0185]
将所述隐状态向量输入所述初始解答模型的主语分类器中,通过所述主语分类器中存储的主语列表,获得所述第一训练样本包括的各个元素对应的预测主语和概率;
[0186]
将所述隐状态向量输入所述初始解答模型的谓词分类器中,通过所述谓词分类器中存储的谓词列表,获得所述第一训练样本包括的各个元素对应的预测谓词和概率;
[0187]
将所述隐状态向量输入所述初始解答模型的单位分类器中,通过所述单位分类器中存储的单位列表,获得所述第一训练样本包括的各个元素对应的预测单位和概率。
[0188]
可选地,获取模块1002进一步被配置为:
[0189]
获取至少一个第一样本问题以及对应的第一样本算式;
[0190]
将所述第一样本算式的形式由中缀表达式转换为前缀表达式;
[0191]
将所述前缀表达式的第一样本算式拼接在对应的第一样本问题之后,并通过预设间隔符进行分隔,得到第一训练样本;
[0192]
各个第一训练样本组成所述第一训练样本集。
[0193]
可选地,添加模块1008进一步被配置为:
[0194]
根据所述各个第二训练样本的预测语义结构,生成所述各个第二训练样本对应的预测算式语义树;
[0195]
根据预设算式知识库和验证模型,对各个第二训练样本对应的预测算式语义树进行验证;
[0196]
将通过验证的预测算式语义树对应的第二训练样本作为所述目标训练样本,对应的预测语义结构作为所述目标训练样本的语义结构标签;
[0197]
将所述携带语义结构标签的目标训练样本添加至所述第一训练样本集中。
[0198]
可选地,添加模块1008进一步被配置为:
[0199]
根据所述预设算式知识库,对各个第二训练样本对应的预测算式语义树进行知识验证;
[0200]
确定通过知识验证的参考预测算式语义树,并确定所述参考预测算式语义树中的根节点谓词;
[0201]
将所述参考预测算式语义树对应的第二训练样本的样本问题和所述根节点谓词输入所述验证模型,获得所述验证模型输出的目标验证结果。
[0202]
可选地,所述预测算式语义树包括至少一个语义子树,每个所述语义子树由子节点和父节点构成;添加模块1008进一步被配置为:
[0203]
针对所述预测算式语义树中的每个语义子树,将所述语义子树与所述预设算式知识库中包括的各个预设算式进行匹配,在匹配到对应的预设算式的情况下,确定所述语义子树通过算式验证;在未匹配到对应的预设算式的情况下,对所述语义子树进行规则验证,若未通过规则验证,则针对所述语义子树的父节点添加置空标识;
[0204]
确定所述预测算式语义树的根节点是否存在所述置空标识,若存在,则确定所述预测算式语义树未通过知识验证,若不存在,则确定所述预测算式语义树通过知识验证。
[0205]
可选地,问题解答模型的训练装置还包括第二训练模块,被配置为:
[0206]
获取第三训练样本集,所述第三训练样本集包括至少一个正训练样本,以及至少一个负训练样本;
[0207]
通过所述第三训练样本集中的正训练样和负训练样本,对初始验证模型进行训练,得到训练完成的验证模型。
[0208]
本说明书提供的问题解答模型的训练装置,可以先通过少量携带语义结构标签的训练样本,对初始解答模型进行训练,然后通过初步训练得到的参考问题解答模型预测不带标签的训练样本的语义结构,并从预测得到的各个预测语义结构中筛选出预测较为正确
的预测语义结构,作为新的携带语义结构标签的训练样本,继续进行训练。如此,可以仅通过一小部分带有语义结构标签的训练样本对初始解答模型进行训练,然后基于训练得到的参考问题解答模型,一轮一轮的添加带语义结构标签的样本数据,使得训练问题解答模型可以使用的带标签的训练样本越来越多,从而获得准确率较高的问题解答模型,通过少量携带语义结构标签的训练样本,即可得到正确率较高的问题解答模型。
[0209]
上述为本实施例的一种问题解答模型的训练装置的示意性方案。需要说明的是,该问题解答模型的训练装置的技术方案与上述的问题解答模型的训练方法的技术方案属于同一构思,问题解答模型的训练装置的技术方案未详细描述的细节内容,均可以参见上述问题解答模型的训练方法的技术方案的描述。
[0210]
与上述方法实施例相对应,本说明书还提供了问题解答模型的训练装置实施例,图11示出了本说明书一实施例提供的一种问题解答装置的结构示意图。
[0211]
如图11所示,该装置包括:
[0212]
第二获得模块1102,被配置为将获取到的待解答问题输入算式识别模型,获得所述待解答问题的解答算式;
[0213]
第三获得模块1104,被配置为将所述解答算式和所述待解答问题输入问题解答模型,获得所述解答算式中各个算式因子的语义结构,其中,所述问题解答模型为通过上述问题解答模型的训练方法训练得到;
[0214]
确定模块1106,被配置为根据所述各个算式因子的语义结构,生成算式语义树,并根据所述算式语义树,确定所述待解答问题的解答步骤。
[0215]
可选地,第三获得模块1104进一步被配置为:
[0216]
将所述解答算式拼接在所述待解答问题之后,并通过预设间隔符进行分隔,得到待编码信息;
[0217]
将拼接得到的所述待编码信息输入所述问题解答模型。
[0218]
可选地,所述算式语义树包括至少一个语义子树,每个所述语义子树由子节点和父节点构成;确定模块1106进一步被配置为:
[0219]
针对所述算式语义树包括的每个语义子树,将所述语义子树包括的子节点和父节点的语义结构,带入预设步骤模板,得到所述语义子树对应的解答步骤;
[0220]
将各个语义子树的解答步骤作为所述待解答问题的解答步骤。
[0221]
本说明书提供的问题解答装置,可以通过预先训练得到的问题解答模型,确定待解答问题的解答算式中每个算式因子的语义结构,构造得到一个算式语义树,该算式语义树可以表示解答算式对应的各个解答步骤,从而可以根据构造得到的算式语义树,确定出待解答问题的详细解答步骤,使得设备的问题解答过程更详细、更可视,提高了通过设备进行问题解答的可视化,进而提高了自动获得的待解答问题的答案的可解释性,大大提高了用户体验,且通过预先训练得到的问题解答模型提高了确定语义结构的效率和正确率。
[0222]
上述为本实施例的一种问题解答装置的示意性方案。需要说明的是,该问题解答装置的技术方案与上述的问题解答方法的技术方案属于同一构思,问题解答装置的技术方案未详细描述的细节内容,均可以参见上述问题解答方法的技术方案的描述。
[0223]
图12示出了根据本说明书一实施例提供的一种计算设备1200的结构框图。该计算设备1200的部件包括但不限于存储器1210和处理器1220。处理器1220与存储器1210通过总
线1230相连接,数据库1250用于保存数据。
[0224]
计算设备1200还包括接入设备1240,接入设备1240使得计算设备1200能够经由一个或多个网络1260通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备1240可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
[0225]
在本说明书的一个实施例中,计算设备1200的上述部件以及图12中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图12所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
[0226]
计算设备1200可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备1200还可以是移动式或静止式的服务器。
[0227]
其中,处理器1220用于执行如下计算机可执行指令,以实现问题解答模型的训练方法或者问题解答方法的步骤。
[0228]
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的问题解答模型的训练方法或者问题解答方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述问题解答模型的训练方法或者问题解答方法的技术方案的描述。
[0229]
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于实现问题解答模型的训练方法或者问题解答方法的步骤。
[0230]
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的问题解答模型的训练方法或者问题解答方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述问题解答模型的训练方法或者问题解答方法的技术方案的描述。
[0231]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0232]
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccess memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖
区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0233]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
[0234]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0235]
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1