一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于知识学习的数学应用题智能解题方法及系统

2022-09-14 19:53:28 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,尤其涉及一种基于知识学习的数学应用题智能解题方法及系统。


背景技术:

2.数学应用题(math word problems,mwp)自动求解是实现通用型人工智能的一个重要任务,其主要目的是使机器理解一段自然语言描述的数学问题并推理获得相应的答案。这一过程要求机器从数据中学习数学知识、理解数理逻辑、并像人类一样进行认知推理。因此,数学应用题自动求解能力被视为机器智能水平的一个重要标志,一直是人工智能领域的一个基础但十分重要的研究方向。
3.目前,数学应用题自动求解主要有以下方法:(1)基于规则的自动求解方法。
4.基于规则的自动求解方法依赖于人工构建的规则或模式,通过匹配问题文本中的子句与预定义的问题模板,将其映射为特定的命题形式,再利用人工定义的规则逐步生成推理结果。
5.(2)基于统计的自动求解方法。
6.基于统计的自动求解方法利用传统的机器学习模型如支持向量机、对数线性模型等,从问题文本中识别实体、数量和操作符,将其代入预定义的表达式模板中,通过简单的逻辑推理得出答案。
7.(3)基于语义解析的自动求解方法。
8.基于语义解析的自动求解方法将问题文本映射为结构化的语义表示(如语义解析树),通过一定的逻辑规则将语义信息转化为数学表达式。
9.(4)基于深度学习的自动求解方法。
10.基于深度学习的自动求解方法根据对问题信息的不同利用、推理方式的不同定义,设计了不同的神经网络架构用于自动求解中。如在序列到序列(sequence-to-sequence, seq2seq)框架中,循环神经网络利用问题文本信息与已生成的表达式推理下一步的符号。序列到树(sequence-to-tree,seq2tree)框架则基于人类的问题分解逻辑机制,利用目标导向的树结构解码器逐步分解推理目标。图到树(graph-to-tree,graph2tree)框架利用图编码器捕捉数值与问题文本的描述关系、数值之间的大小关系,实现对问题更准确的理解并获得更合理的推理结果。
11.上述数学应用题自动求解关注如何让机器模型能够更好地理解问题文本,或是提高机器模型利用问题本身包含的信息进行推理的能力。然而,这些方法与类人水平的人工智能仍具有一定距离,这是因为它们忽略了人类在求解数学应用题时,对问题背后数学知识的学习与应用过程。实际上,随着做题数量的增加,人类对数学知识的掌握与理解逐渐加深,问题求解能力也不断加强。实现通用型人工智能的一个关键问题是让机器能够自动地学习数学知识,并基于知识实施更准确的认知推理,但是,目前并没有相关的方案。


技术实现要素:

12.本发明的目的是提供一种基于知识学习的数学应用题智能解题方法及系统,将数学知识学习过程与应用题求解过程有机耦合,以助于在改善学习得到的知识质量的同时提高问题求解能力。
13.本发明的目的是通过以下技术方案实现的:一种基于知识学习的数学应用题智能解题方法,其特征在于,包括:训练阶段:利用数学应用题数据构建训练数据集,数学应用题数据包括:数学应用题文本与对应表达式;构建智能解题系统,其包括两个子系统,分别称为大脑系统与手臂系统;基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程,大脑系统负责知识储存与知识更新两个认知过程,手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程;测试阶段:将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。
14.一种基于知识学习的数学应用题智能解题系统,包括:两个子系统,分别称为大脑系统与手臂系统;训练阶段:利用数学应用题数据构建训练数据集,数学应用题数据包括:数学应用题文本与对应表达式;基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程,大脑系统负责知识储存与知识更新两个认知过程,手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程;测试阶段:将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。
15.由上述本发明提供的技术方案可以看出,(1)本发明设计了认知框架与知识学习过程,构建了更接近通用型人工智能目标的智能系统,系统可以作为一种通用框架,融合多种机器学习任务,为实现强人工智能提供了一定的基础。(2)本发明建立了引入知识学习的数学应用题求解方法,有助于提高应用题求解的准确性与可解释性。同时,学习到的数学知识具有一定的实际应用价值,可以作为众多机器学习任务的先验信息改善任务表现,也可进一步辅助教育平台搭建知识图谱,并基于此提供更好的个性化教育服务。
附图说明
16.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用
的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
17.图1为本发明实施例提供的一种基于知识学习的数学应用题智能解题方法的流程图;图2为本发明实施例提供的一种智能解题系统的示意图;图3为本发明实施例提供的一种基于知识学习的数学应用题智能解题方法中知识应用过程流程图。
具体实施方式
18.下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
19.首先对本文中可能使用的术语进行如下说明:术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
20.下面对本发明所提供的一种基于知识学习的数学应用题智能解题方法及系统进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。
21.实施例一为了克服现有技术无法建模对数学知识的学习过程、缺乏可解释性、与通用型人工智能目标距离较远的不足,本发明实施例提供一种基于知识学习的数学应用题智能解题方法,如图1所示,主要包括:一、训练阶段。
22.1、利用数学应用题数据构建训练数据集。
23.数学应用题数据包括:数学应用题文本、对应的数学表达式与数值答案。数学应用题数据可以通过公开渠道收集。
24.本发明实施例中,数值答案是指通过数学表达式计算出的结果。需要说明的是,虽然答案在训练阶段没有被显式的使用,但是从任务完整性与实际应用的角度出发,最终需要获得的是一个数值答案,因此,在数学应用题数据中保留了数值答案;此外,在后续测试阶段,也需要根据生成的表达式计算出数值答案。
25.2、构建智能解题系统。
26.本发明实施例中,构建智能解题系统与构建训练数据集不区分执行的先后顺序,二者可以同步执行,也可以按照任意顺序一前一后执行。
27.本发明实施例中,基于双过程理论构建智能解题系统,如图2所示,其主要包括两
个子系统,分别称为大脑系统(brain)与手臂系统(arm);基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程(store-apply-update iteratively),大脑系统负责知识储存与知识更新两个认知过程;大脑系统中具体存储和更新三类知识,包括语义知识、关系知识、规则知识(三类知识的内容将在后续进行介绍);手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程。
28.(1)知识应用。
29.本发明实施例中,手臂系统的输入为训练数据集中的数学应用题文本(问题文本)以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式包括:(a)所述手臂系统根据数学应用题文本从大脑系统中储存的语义知识中获取对应的语义信息序列,并根据数学应用题文本对应的语义信息序列获得数学应用题文本的初始文本表征序列与初始目标表征;其中,所述语义知识包括:词语的语义向量与运算符的语义向量。
30.此部分通过手臂系统的编码器实现,编码器根据数学应用题文本从大脑系统中储存的语义知识中获取对应的语义信息序列,所述语义信息序列包括词语的语义向量序列 与运算符的语义向量序列;其中,wi表示词语i的语义向量,i=1,2,

,n,n表示数学应用题文本中词语数目,词语包含数学应用题文本中单词,以及将数学应用题文本中数值映射得到的单词;oc表示运算符c的语义向量,c=1,2,

,m,m表示数学应用题领域涉及运算符的总数(例如,若数学应用题中仅涉及加减乘除四种运算符,则m=4)。
31.所述手臂系统中的编码器对所述词语的语义向量序列进行处理,获得初始词语表征序列,并利用初始词语表征序列获得用于表征数学应用题整体的初始目标表征q1,初始目标表征为整个数学应用题的初始表征,后续阶段会进行更新。具体实现方式可以使用简单的序列模型(如lstm)或复杂模型(如bert)等多种模型;编码器还将运算符的语义向量序列作为初始运算符表征序列;其中,表示词语i的初始词语表征,表示运算符c的初始运算符表征;初始词语表征序列与初始运算符表征序列构成初始文本表征序列。
32.(b)所述手臂系统利用初始文本表征序列与初始目标表征,结合从大脑系统中储存的关系知识、规则知识通过迭代的推理步骤预测出数学应用题文本的求解表达式,推理结果形式化为表达式对应的前序表达式树,如图3所示,为了便于理解,此处先针对表达式树原理进行介绍,再介绍推理部分。
33.表达式树原理如下:本发明并非直接生成一个符号序列,因为符号序列无法保证
合理性(比如“1 ”并非一个可计算的表达式),因此,本发明是生成一个表达式树,如图3的e
p
,叶子节点是数值,非叶子节点是运算符,根据该表达式树做前序遍历(如图3遍历结果为 32)得到最终的前序表达式,其必定是可以最终转化为正常的、合理的表达式。基于上述原理,由于是按先序遍历,所以左子树会先计算,再计算右子树。如:
÷ꢀ
2 3中2是
÷
的左子树,计算结果为2/3=0.67,而
÷
3 2中3是
÷
的左子树,计算结果为3/2=1.5,因此,左右子树的顺序是重要的,本发明运用规则知识(交换律)也是基于此,只有当符号是 ,x时,左右子树是可交换的。
34.推理步骤包括:当前推理步骤中,利用上一推理步骤的文本表征序列、上一推理步骤生成的当前推理步骤的目标表征,以及从大脑系统中储存的知识中获取的关系知识,通过上下文感知的方式获得当前推理步骤的文本表征序列,并结合当前推理步骤的目标表征,预测当前推理步骤的符号,其中,关系知识包括:词语与词语的关系,以及词语与运算符的关系;若预测出的当前推理步骤的符号为设定的终止符号,则表示推理步骤结束;若预测出的当前推理步骤的符号不为设定的终止符号,则基于当前推理步骤的文本表征序列、当前推理步骤的目标表征、以及预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识对其约束改善,之后进入下一推理步骤;其中,所述规则知识为数学知识,属于先验知识,如交换律规则。如果当前推理步骤为第一次推理步骤,则上一推理步骤的文本表征序列为所述初始文本表征序列,上一推理步骤生成的当前推理步骤的目标表征为所述初始目标表征。
35.需要说明的是,终止符号可以选择本领域通用的符号,也可以由用户根据需要设定某个特定符号作为终止符号,对于终止符号的具体形式,本发明不做限制。
36.此部分通过手臂系统的解码器实现,所述解码器包括:问题图谱、上下文感知模块、符号预测模块与交换模块。
37.(b1)所述问题图谱,用于组织上一推理步骤结束后获得的信息,问题图谱定义为,其中,表示当前推理步骤t中,利用上一推理步骤结束后获得的信息构建的问题图谱;v表示节点集合,包括:文本表征与目标表征,所述文本表征包括词语表征与运算符表征;e表示边集合,包括:词语与词语的关系,词语与运算符的关系,通过语法分析工具(例如,stanfordnlp)自动建立的同一子句内词语之间的依存语法关系,以及通过层次注意力机制计算的词语与目标的关系(通过每个词语的表征与目标表征计算出的每个词语与目标表征的关系);第一次推理步骤时,词语与词语的关系以及词语与运算符的关系均为大脑系统中储存关系知识。
38.本领域技术人员可以理解,依存语法关系为行业术语,两个词语之间存在的依存语法关系包括:主谓关系、动宾关系等。
39.(b2)上下文感知模块,用于将上下文信息引入问题图谱,通过上下文感知的方式获得当前推理步骤的文本表征序列,所述文本表征序列包括词语表征序列与运算符表征序列。
40.此部分所述通过上下文感知的方式获得当前推理步骤的文本表征序列的优选实施方式如下:所有词语均各自通过上下文感知的方式获得当前推理步骤t的词语表征,构成当前推理步骤t的词语表征序列;所有运算符均各自通过上下文感知的方式获得当前推理步
骤t的运算符表征,构成当前推理步骤t的运算符表征序列;由当前推理步骤t的词语表征序列与当前推理步骤t的运算符表征序列构成当前推理步骤t的文本表征序列。其中:对于词语i,通过上下文感知的方式获得当前推理步骤t的词语表征的方式表示为:示为:示为:示为:其中,q
t
表示当前推理步骤t的目标表征,其由上一推理步骤生成;表示词语i与目标表征q
t
的关系,属于词语与目标的关系;、分别表示上一推理步骤t-1的词语j、词语k的词语表征,表示上一推理步骤t-1中词语i与词语j的关系,n表示数学应用题文本中词语数目;表示与词语i存在依存语法关系的词语构成的集合(通过问题图谱中确定);表示各类表征拼接得到的信息,表示向量的拼接操作;表示词语i的第一中间表征,表示sigmoid函数,与均为权重矩阵,与均为偏置项;fi表示控制已有知识保留的第一比例系数,、分别表示当前推理步骤t、上一推理步骤t-1的词语i的词语表征。
41.对于运算符c,通过上下文感知的方式获得当前推理步骤t的运算符表征的方式表示为:式表示为:式表示为:其中,表示运算符c的中间表征,与均为权重矩阵,与均为偏置项;fc表示控制已有知识保留的第二比例系数;表示上一推理步骤t-1中词语i与运算符c的关系;表示上一推理步骤t-1的运算符c的运算符表征。
42.(b3)符号预测模块,用于通过当前推理步骤的文本表征序列以及当前推理步骤的
目标表征预测当前推理步骤的符号。
43.符号预测的优选实施方式如下:利用层次注意力机制评估当前推理步骤t的目标表征q
t
与当前推理步骤t的文本表征序列中每个词语表征的相关性,并基于词语表征的相关性对词语表征序列加权求和获得上下文向量c
t
;通过指针-生成网络根据当前推理步骤t的目标表征q
t
、上下文向量c
t
、以及当前推理步骤t的文本表征序列,预测当前推理步骤t的符号y
t
;其中,当前推理步骤t的符号y
t
来自外部符号集或者来自数学应用题文本的数值集合。
44.预测符号y
t
来自外部符号集的概率:其中,表示sigmoid函数,与分别表示权重矩阵与偏置项;外部符号集表示为,表示运算符集合,表示常数集合。
45.预测符号y
t
来自外部符号集的情况下的概率分布,以及预测符号y
t
来自数学应用题文本的数值集合情况下的概率分布::其中,与均为权重矩阵,与均为权重向量,t为矩阵转置符号,与均为偏置项;若符号y
t
是来自运算符集合的运算符,则概率分布中为符号y
t
的运算符表征,否则,为相应常数的表征;若符号y
t
是来自数学应用题文本的数值集合中的数值,则概率分布中为符号y
t
的词语表征。
46.最终符号y
t
在符号集合上的概率分布表示为:其中,;依据概率分布,预测当前推理步骤t的符号y
t
。由于y
t
在后续模块中参与计算下一推理步骤的目标表征,从而指导下一个符号y
t 1
的生成,因此推理步骤t的实际上可表示为(含义详见后文的说明)。
47.(b4)交换模块,用于基于当前推理步骤的文本表征序列、当前推理步骤的目标表征、以及预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识进行约束。
48.如果当前推理步骤t的符号y
t
不是设定的终止符号,由交换模块生成下一推理步骤的目标表征,优选实施方式如下:基于当前推理步骤的文本表征序列,通过上下文感知模块计算当前推理步骤t的词语与运算符的关系,再结合当前推理步骤t的目标表征q
t
计算临时目标向量,最后,结合临时目标向量与预测出的当前推理步骤的符号生成下一推理步骤的目标表征q
t 1

49.其中,基于当前推理步骤的文本表征序列,通过上下文感知模块计算当前推理步骤t的词语与运算符的关系,再结合当前推理步骤t的目标表征q
t
计算临时目标向量的步骤包括:当前推理步骤的文本表征序列包括当前推理步骤的词语表征序列与运算符表征序列;对于词语i与运算符c,利用上一推理步骤t-1的词语i与运算符c的关系、当前推理步骤t的词语表征,以及当前推理步骤t的运算符表征计算当前推理步骤t的词语i与运算符c的关系,表示为:,表示为:,表示为:其中,与均为权重矩阵,与均为偏置项;表示当前推理步骤t中词语i与运算符c的中间关系;表示sigmoid函数,表示控制已有知识保留的第三比例系数。
50.结合当前推理步骤t的词语与运算符的关系,与推理步骤t的目标表征q
t
计算临时目标向量,表示为:,表示为:,表示为:,表示为:,表示为:其中,表示各类表征拼接得到的信息,m表示数学应用题领域涉及运算符的总数,、分别表示当前推理步骤t的词语j、词语k的词语表征,表示当前推理
步骤t-1的词语i与词语j的关系,迭代的推理步骤中词语i与词语j的关系保持不变,n表示数学应用题文本中词语数目,表示与词语i存在依存语法关系的词语构成的集合;与均为权重矩阵,与均为偏置项;表示词语i的第二中间表征;表示词语i与目标表征q
t
的关系,属于词语与目标的关系;表示利用各个词语的第二中间表征计算出的中间信息;表示控制已有知识保留的第四比例系数。
51.所述结合临时目标向量与预测出的当前推理步骤的符号,生成下一推理步骤的目标表征q
t 1
的过程如下: (1)如果当前步骤t预测的符号y
t
是运算符,则将临时目标向量输入如下第一前馈网络decompose1获得下一推理步骤的目标表征q
t 1
,表示为:其中,第一前馈网络decompose1内部处理过程表示为:其中,第一前馈网络decompose1内部处理过程表示为:其中,表示第二临时目标向量,是上下文向量,是符号y
t
对应的运算符表征,为第一前馈网络中的权重矩阵,符号表示两个向量逐元素相乘。
52.如之前所述,推理结果形式化为表达式对应的前序表达式树,而表达式树中叶子节点是数值,非叶子节点是运算符,因此,当前步骤t预测的符号y
t
是运算符时,将下一推理步骤的目标表征q
t 1
作为符号y
t
的左子节点的目标向量,并将依据下一推理步骤的目标表征q
t 1
推理得到的下一个符号y
t 1
作为符号y
t
的左子节点。
[0053] (2)如果当前步骤t预测的符号y
t
是数值,确定其在已生成的表达式树上的节点位置,具体而言,若上一步骤t-1预测的符号是运算符,则当前步骤t的节点是t-1步预测符号在表达式树上对应节点的左子节点;若上一步骤t-1预测的符号是数值,则当前步骤t的节点是t-2步预测符号在表达式树上对应节点的右子节点。按上述方法确定节点位置后,在已生成的表达式树上确定距该节点位置最近、且不存在右子树的运算符节点,将确定的运算符节点记为u,将运算符节点u对应左子树中所有节点的表征输入前馈网络encode_tree得到运算符节点u的左子树表征。该前馈网络encode_tree在表达式树中自底向上从倒数第二层开始逐层计算,对运算符节点u对应左子树中的每一层,将节点y被推理生成时的表征(对于当前步骤t,若推理生成的是运算符, ;若推理生成的是数值,则),以及节点y左子树表征与右子树表征按如下方式进行融合:
其中,与均为前馈网络encode_tree中的权重矩阵,表示融合特征。如果节点y为运算符节点u的左子节点,则将作为运算符节点u的左子树表征;如果节点y不为运算符节点u的左子节点,融合表征会进一步被用作节点y的上层节点的左子树表征或右子树表征(取决于y是其左子节点还是右子节点)。最终通过运算符节点u的左子节点以及该左子节点的左子树表征与右子树表征获得的融合特征作为运算符节点u的左子树表征。
[0054]
再利用第二前馈网络decompose2根据运算符节点u的左子树表征与该运算符节点u对应的临时目标向量计算下一推理步骤的目标表征q
t 1
,表示为:,计算公式如下:计算公式如下:其中,运算符节点u对应的临时目标向量是指在预测出运算符节点u对应运算符的推理步骤中,所计算出的临时目标向量,计算方式即为前文提供的公式;表示第三临时目标向量,为第二前馈网络decompose2的权重矩阵。此时,依据q
t 1
推理得到的下一个符号y
t 1
是运算符节点u的右子节点。
[0055]
在以上过程中,考虑大脑系统中储存的规则知识,即数学交换律这一规则知识,对满足交换律的运算符(“ ,
×”
),交换其左右两边的运算对象得到的结果相同。此时,优先生成其左子节点与右子节点无本质区别。为实现该效果,大脑储存的规则知识被用于判断y
t
是否满足交换律:当符号y
t
是运算符,且满足交换律时,额外利用符号y
t
对应运算符节点的右子树表征反向生成左子节点的目标向量,即,最小化其与正向生成的左子节点目标向量的差距,进而隐式地提高推理得到的q
t 1
的合理性。该差距定义为交换损失:其中,是将右子树输入网络encode_tree获得的右子树表征,具体方式与前文介绍的方式类似,区别主要在于,前文输入的是运算符节点对应的左子树,因此得到的是运算符节点对应的左子树表征,此处需要输入的是运算符节点对应的右子树,因此得到的是运算符节点对应的右子树表征。当根据规则知识发现y
t
不满足交换律时,在当前步骤t不计算交换损失。
[0056]
以上为知识应用这一认知过程的主要实现方式,在完成一道或一个批次数学应用题后需要对大脑系统的知识进行更新。
[0057] (2)知识更新与知识储存。
[0058]
本发明实施例中,基于预测的表达式与相应数学应用题文本对应表达式之间的差
异构建总的训练损失函数,采用梯度反向传播的方式自动更新知识。
[0059]
将符号预测损失记为,表示为:其中,m表示训练数据集中的相应数学应用题文本p对应表达式的运算符与词语的总数,每一个推理步骤预测出一个符号,预测出的符号为一个运算符或一个词语,总的推理步骤数目等于训练数据集中的相应数学应用题文本p对应表达式的运算符与词语的总数m;y
t
表示当前推理步骤t预测的符号,其结合之前推理步骤预测的符号预测出y
t

[0060]
将交换损失、预测的表达式与相应数学应用题文本对应表达式之间的差异构建的符号预测损失相结合,构成总的训练损失函数,总的训练损失函数表示为:其中,用于控制符号预测损失与交换损失的平衡,系统通过adam算法最小化上述总的训练损失函数进行训练。
[0061]
如图2所示,根据总的训练损失函数采用梯度反向传播的方式更新语义知识,以及根据更新后的语义知识更新关系知识;语义知识包括:词语的语义向量与运算符的语义向量,关系知识包括:词语与词语的关系,以及词语与运算符的关系;其中,根据更新后的语义知识更新关系知识包括:对于词语与词语的关系,利用更新后的语义知识重新估计词语与词语的关系,设计过滤器对重新估计的词语与词语的关系进行判断,确定最终的词语与词语的关系,表示为:为:其中,表示重新估计的词语i与词语j的关系,表示更新后的词语i的语义向量,表示更新后的词语j的语义向量,表示所有词语对之间的平均距离;表示最终的词语i与词语j的关系,表示设定的词语与词语的关系强度阈值。
[0062]
对于词语与运算符的关系,利用更新后的语义知识重新估计词语与运算符的关系,设计过滤器对重新估计的词语与运算符的关系进行判断,确定最终的词语与运算符的关系,表示为:
其中,表示重新估计的词语i与运算符c的关系,表示更新后的词语c的语义向量,最终的词语i与运算符c的关系,表示词语与运算符的关系强度阈值。
[0063]
知识更新主要是针对语义知识和关系知识进行更新,规则知识作为确定性的数学规律不进行更新,最终所有更新后的知识被存储与大脑系统中。
[0064]
二、测试阶段。
[0065]
将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。此部分的主要技术细节可参照前述训练阶段中知识应用认知过程的介绍,故不再赘述;同时,获得表达式中,也无需进行知识更新。
[0066]
为了更加清晰地展现出本发明所提供的技术方案及所产生的技术效果,下面以具体实施例对本发明实施例所提供一种基于知识学习的数学应用题智能解题方法进行详细描述。
[0067]
一、问题定义与形式化。
[0068]
数学应用题自动求解任务的目的是基于数学应用题文本(问题文本)进行逻辑推理,生成数学表达式计算问题的答案。在本发明实施例中,问题文本p定义为n个词语组成的序列,其中数值的集合定义为(如:{1,2})。由于在解题推理中不关心这些数的具体值,建模时所有数值都被映射为特殊单词“num”。问题p的答案是问题文本的待求变量(如:水果总数为“5”),通过一个数学表达式e
p
推导得出。表达式e
p
定义为一个由m个运算符、常数或问题中数值组成的序列,其中每个元素y都是问题p的解码符号集合的一个元素。符号集合由运算符集合(如:),常数集合(如:)和数值集合组成,即,对于所有数学应用题文本,使用相同的运算符集合与常数集合,每个数学应用题文本的数值集合,由数学应用题文本内容确定。任务目标是学习一个模型,读取问题文本p,生成表达式e
p
,并基于e
p
计算问题待求变量(即答案)。
[0069]
二、数据收集与预处理。
[0070]
1、数据收集。
[0071]
本发明实施例中,使用广义上的数学应用题作为输入数据集,问题需包括题目文本、数学表达式和数值答案。此类数据样例,如腾讯公司发布的开源数学应用题数据集(math23k)以及microsoft公司发布的开源数据集(mawps)。此外,也可以通过网络爬取或线下收集中小学生的作业或考试数学题集获得输入数据集。
[0072]
2、数据预处理。
[0073]
在训练模型之前,需要对收集的数据进行预处理以保证模型的效果。预处理主要包括以下内容:1)数据过滤。
[0074]
本发明实施例中,主要针对仅包含一个问题、答案为数值且可以通过一个数学表达式直接计算得到的数学应用题,因此需要选择数据集中仅含有一个数学表达式和数值答案的题目,过滤掉缺少表达式或有两个及以上表达式、答案的题目。
[0075]
2)抽样在每类数据集中分别进行随机抽样,选用原始数据集的子集构建训练数据集训练模型(即图1所示系统模型)。
[0076]
三、系统的建立,以及系统的原理。
[0077]
如图2所示,本发明的基于知识学习的数学应用题求解系统包括两个子系统:大脑系统和手臂系统。大脑系统中进行知识储存过程和知识更新过程;手臂系统中进行知识运用过程。
[0078]
1、知识储存。
[0079]
知识储存关注三种类型的数学知识:(1)语义知识,指词语、运算符的语义内涵。在本发明实施例中,表示为概念空间内的语义向量,,其中,,分别是词语i,运算符c的语义向量,n与m分别表示大脑系统中存储的词语数目、运算符数目。本发明实施例中,根据大量试题文本与表达式利用预训练模型初始化大脑内的语义知识。
[0080]
(2)关系知识,包括词语—词语关系(也称为常识知识,如:苹果—水果)、词语—运算符关系(如:求和— )两种类型。在本发明实施例中,对词语i和词语j,使用表示它们的关系;对词语i和运算符c,使用表示它们的关系。与均是属于[0,1]区间内的实值,采用随机生成的方式进行初始化。
[0081] (3)规则知识,包括交换律、结合律、分配律等数学规则,基于人类先验直接获得,本发明后续仅以交换律为例进行说明。
[0082]
在大脑系统中,语义知识和关系知识共同组成一个知识图谱,节点由词语和运算符构成,节点的表征为与,边的权重为与,按照后续第3部分介绍的知识更新方法随着不断求解数学应用题进行更新。
[0083]
2、知识应用。
[0084]
数学应用题文本在手臂系统进行读入,并在如图3所示知识应用过程中完成求解:在手臂系统读入数学应用题文本后,结合大脑系统中的知识,经过编码器与解码器进行认知推理,生成数学表达式作为解答。需要说明的是,图3所示的数学应用题文本的内容仅为示例。
[0085]
(1)编码器。
[0086]
编码器输入从大脑系统中提取出的数学应用题文本的词语序列
的语义向量序列,输出词语表征序列与解码器的初始目标向量表征q1。具体通过简单的序列模型(如lstm)或者复杂模型(如bert)进行实现。
[0087]
(2)解码器。
[0088]
解码器中具体包括问题图谱、上下文感知模块、符号预测模块与交换模块。四个部分具体介绍如下:(a)问题图谱定义为,用于统一组织上一推理步骤t-1结束后的语义知识与关系知识。在本发明实施例中,点集v包括三种类型的节点:问题文本中词语的表征、所有运算符的表征,以及目标向量表征q
t
。边集e包括四种类型的边:问题文本中词语—词语关系、词语—运算符关系、通过语法分析工具stanfordnlp自动建立的同一子句内词语之间的依存语法关系,以及通过层次注意力机制计算的的词语—目标关系。值得注意的是,初始化为从大脑中提取出的运算符语义知识与关系知识,因此问题图谱可视为大脑知识在给定问题上的局部子图。
[0089]
(b)上下文感知模块用以将上下文信息引入问题图谱,从而能够根据当前步骤调整已有知识的使用方式,更好地实现当前推理目标。针对图谱中的语义知识,考虑到人类的思考过程采用目标—词语—运算符的层次推理结构,在本发明实施例中,设计了层次卷积神经网络(hgcn)自底向上对问题图谱的节点表征(语义知识)进行传播。对于词语i,其下层邻居包括目标向量与问题文本中的其他的词语表征,使用遗忘网络并通过不同的非线性激活函数得到其当前推理步骤t的表征,计算方式如下:,计算方式如下:,计算方式如下:,计算方式如下:其中,表示各类表征(词语i下层邻居的表征)拼接得到的信息。遗忘门第一比例系数,控制已有知识保留的比例,通过前馈神经网络和函数(非线性激活函)数得到。考虑到这部分参数在之前已经做了逐一说明,故不再赘述,后面各个公式也是如此。
[0090]
对运算符c,其下层邻居即为问题文本中的词语,采用如下类似的方式计算当前推理步骤t的运算符表征:
其中,第二比例系数也属于fc遗忘门,取值范围为[0,1]。
[0091]
根据当前推理步骤的语义知识,使用前馈神经网络进一步获得融合上下文信息的当前推理步骤所需要的关系知识,当然,此处更新操作一般是在当前推理步骤结束后执行,且只有当前推理步骤预测出的字符不为终止字符时执行。由于词语—词语关系(常识知识)不随问题不同而改变(即),因此只需计算,公式如下:,公式如下:,公式如下: 同时,为利用上述信息更好地生成下一步骤的目标向量,再次使用层次卷积神经网络自顶向下在问题图谱中进行传播,按如下方式计算临时目标向量:::::其中,表示各类表征(主要是词语i上层邻居的表征)拼接得到的信息。
[0092]
本发明实施例中,问题图谱的层次为目标—词语—运算符,底层是目标表征,中间层是词语表征,顶层是运算符表征。对目标表征,其上层邻居是所有词语表征,词语表征的上层邻居是词语表征(因为词语之间有边)和运算符表征;相应的运算符的下层邻居是词语表征(运算符之间没有边),词语表征的下层邻居是词语表征和目标表征。
[0093]
(c)符号预测模块根据目标向量q
t
、词语表征和运算符表征生成当前推理步骤的符号。为了抽取局部语义辅助目标导向的符号预测,本发明实施实例中,首先利用层次注意力机制评估目标向量q
t
与每个词语表征的相关性,并基于相关性对
加权求和获得上下文向量c
t
。再通过指针-生成网络根据目标向量q
t
、上下文向量c
t
、词语表征和运算符表征,预测出符号y
t
,其中需要计算y
t
来自外部符号集()的概率:y
t
来自外部符号集的情况下的概率分布:以及y
t
来自数学应用题文本的数值集合的情况下的概率分布:在中,若y
t
为运算符,则,否则为常数(如)待优化的表征向量。中的是问题所含数值的语义表征。为参数矩阵,与为权重向量,、与为偏置项。基于上述三个概率分布,y
t
在符号集合上的概率分布表示为:依据概率,符号预测模块生成步骤t的符号y
t
,并根据问题p的真实表达式,最小化如下符号预测损失函数:。
[0094]
(d)交换模块将规则知识(例如,交换律)应用于下一推理步骤的目标向量生成过程中,进一步提高推理结果的合理性。本发明实施实例中,如果当前推理步骤t的符号y
t
是运算符,则会利用第一前馈网络decompose1将上下文感知模块获得的临时目标向量分解为,依据下一推理步骤的目标表征q
t 1
推理得到的下一个符号作为符号y
t
的左子节点。如果当前推理步骤t的符号y
t
是数值,则在已生成的表达式树上确定距该数值节点最近、且不存在右子树的运算符节点u,将该运算符节点u的左子树表征与对应的临时目标向量输入前馈网络decompose2计算。在该过程中,考虑数学交换律这一规则知识,即对满足交换律的运算符(“ ,
×”
),交换其左右两边的运算对象得到的结果相同。此时,优先生成其左子节点与右子节点无本质区别。因此利用规则知识判断y
t
是否满足交换律,若满足(即y
t
为“ ,
×”
)则基于与y
t
的右子树表征反向生成额外的左子目标,并期望其与真实左子目标相近,此时本发明设计如下交换损失(若y
t

满足交换律则当前步骤t不计算交换损失):。
[0095]
综合与,最终知识应用过程的训练损失函数如下:其中,用于控制符号预测损失与交换损失的平衡。针对问题p和对应的目标表达式e
p
,系统通过adam算法最小化上述损失函数进行训练。
[0096] 3、知识更新。
[0097]
在完成一道或一个批次数学应用题后对语义知识、关系知识的自动更新。通过对比系统推理生成的表达式与正确表达式,采用梯度反向传播的方式自动更新语义知识;依据更新后的语义知识对关系知识进行重新评估,并设计了过滤器来消除知识冗余,去除不合理的知识。规则知识作为确定性的数学规律不进行更新。
[0098]
语义知识通过梯度反向传播的方式自动更新,词语i与运算符c更新后的语义向量表示为与,利用更新后的语义知识,依据语义距离重新估计词语与词语的关系,词语与运算符的关系强弱。
[0099]
对词语与词语的关系,公式如下: 其中,是所有词语对之间的平均距离,用于调整词语对关系的分布。然而,由于上式输出结果属于0到1的区间,代表所有词语对之间均存在一定强度的关系,从而导致不合理的关系知识出现。为了消除这些冗余,本发明设计了过滤器进一步提高关系知识的质量,公式如下:其中,表示设定的词语与词语的关系强度阈值。
[0100]
词语与运算符的关系同样采用过滤器机制提升知识合理性,表示为:词语与运算符的关系同样采用过滤器机制提升知识合理性,表示为:其中,表示词语与运算符的关系强度阈值。
[0101]
更新后的语义向量与更新后的关系向量,被存储于大脑系统中,供下一次手臂系统执行知识应用认知过程时调用。
[0102]
本发明实施例上述方案主要获得如下有益效果:
(1)设计了认知框架与知识学习过程,构建了更接近通用型人工智能目标的智能系统,系统可以作为一种通用框架,融合多种机器学习任务,为实现强人工智能提供了一定的基础。
[0103]
(2)建立了引入知识学习的数学应用题求解方法,有助于提高应用题求解的准确性与可解释性。同时,学习到的数学知识具有一定的实际应用价值,可以作为众多机器学习任务的先验信息改善任务表现,也可进一步辅助教育平台搭建知识图谱,并基于此提供更好的个性化教育服务。
[0104]
实施例二本发明还提供一种基于知识学习的数学应用题智能解题系统,还参见图2,该系统主要包括:两个子系统,分别称为大脑系统与手臂系统;训练阶段:利用数学应用题数据构建训练数据集,数学应用题数据包括:数学应用题文本与对应表达式;基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程,大脑系统负责知识储存与知识更新两个认知过程,手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程;测试阶段:将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。
[0105]
该系统所涉及的主要细节在之前的实施例一中已经做了详细的说明,故不再赘述。
[0106]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0107]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献