CN115049062A - 一种基于知识学习的数学应用题智能解题方法及系统 - Google Patents
一种基于知识学习的数学应用题智能解题方法及系统 Download PDFInfo
- Publication number
- CN115049062A CN115049062A CN202210978505.XA CN202210978505A CN115049062A CN 115049062 A CN115049062 A CN 115049062A CN 202210978505 A CN202210978505 A CN 202210978505A CN 115049062 A CN115049062 A CN 115049062A
- Authority
- CN
- China
- Prior art keywords
- knowledge
- words
- inference step
- text
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000014509 gene expression Effects 0.000 claims description 103
- 238000012512 characterization method Methods 0.000 claims description 93
- 239000013598 vector Substances 0.000 claims description 86
- 210000004556 brain Anatomy 0.000 claims description 73
- 238000012549 training Methods 0.000 claims description 56
- 230000019771 cognition Effects 0.000 claims description 47
- 230000006870 function Effects 0.000 claims description 38
- 238000003860 storage Methods 0.000 claims description 21
- 238000009826 distribution Methods 0.000 claims description 18
- 239000011159 matrix material Substances 0.000 claims description 18
- 230000014759 maintenance of location Effects 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 8
- 230000010365 information processing Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 25
- 238000013473 artificial intelligence Methods 0.000 abstract description 12
- 238000010801 machine learning Methods 0.000 abstract description 7
- 230000001149 cognitive effect Effects 0.000 abstract description 6
- 238000004364 calculation method Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- -1 carrier Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/041—Abduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于知识学习的数学应用题智能解题方法及系统,将数学知识学习过程与应用题求解过程有机耦合,以助于在改善学习得到的知识质量的同时提高问题求解能力。相关方案中:设计了认知框架与知识学习过程,构建了更接近通用型人工智能目标的智能系统,系统可以作为一种通用框架,融合多种机器学习任务,为实现强人工智能提供了一定的基础;并且,建立了引入知识学习的数学应用题求解方法,有助于提高应用题求解的准确性与可解释性。同时,学习到的数学知识具有一定的实际应用价值,可以作为众多机器学习任务的先验信息改善任务表现,也可进一步辅助教育平台搭建知识图谱,并基于此提供更好的个性化教育服务。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于知识学习的数学应用题智能解题方法及系统。
背景技术
数学应用题(Math Word Problems,MWP)自动求解是实现通用型人工智能的一个重要任务,其主要目的是使机器理解一段自然语言描述的数学问题并推理获得相应的答案。这一过程要求机器从数据中学习数学知识、理解数理逻辑、并像人类一样进行认知推理。因此,数学应用题自动求解能力被视为机器智能水平的一个重要标志,一直是人工智能领域的一个基础但十分重要的研究方向。
目前,数学应用题自动求解主要有以下方法:
(1)基于规则的自动求解方法。
基于规则的自动求解方法依赖于人工构建的规则或模式,通过匹配问题文本中的子句与预定义的问题模板,将其映射为特定的命题形式,再利用人工定义的规则逐步生成推理结果。
(2)基于统计的自动求解方法。
基于统计的自动求解方法利用传统的机器学习模型如支持向量机、对数线性模型等,从问题文本中识别实体、数量和操作符,将其代入预定义的表达式模板中,通过简单的逻辑推理得出答案。
(3)基于语义解析的自动求解方法。
基于语义解析的自动求解方法将问题文本映射为结构化的语义表示(如语义解析树),通过一定的逻辑规则将语义信息转化为数学表达式。
(4)基于深度学习的自动求解方法。
基于深度学习的自动求解方法根据对问题信息的不同利用、推理方式的不同定义,设计了不同的神经网络架构用于自动求解中。如在序列到序列(Sequence-to-sequence, Seq2Seq)框架中,循环神经网络利用问题文本信息与已生成的表达式推理下一步的符号。序列到树(Sequence-to-tree,Seq2Tree)框架则基于人类的问题分解逻辑机制,利用目标导向的树结构解码器逐步分解推理目标。图到树(Graph-to-tree,Graph2Tree)框架利用图编码器捕捉数值与问题文本的描述关系、数值之间的大小关系,实现对问题更准确的理解并获得更合理的推理结果。
上述数学应用题自动求解关注如何让机器模型能够更好地理解问题文本,或是提高机器模型利用问题本身包含的信息进行推理的能力。然而,这些方法与类人水平的人工智能仍具有一定距离,这是因为它们忽略了人类在求解数学应用题时,对问题背后数学知识的学习与应用过程。实际上,随着做题数量的增加,人类对数学知识的掌握与理解逐渐加深,问题求解能力也不断加强。实现通用型人工智能的一个关键问题是让机器能够自动地学习数学知识,并基于知识实施更准确的认知推理,但是,目前并没有相关的方案。
发明内容
本发明的目的是提供一种基于知识学习的数学应用题智能解题方法及系统,将数学知识学习过程与应用题求解过程有机耦合,以助于在改善学习得到的知识质量的同时提高问题求解能力。
本发明的目的是通过以下技术方案实现的:
一种基于知识学习的数学应用题智能解题方法,其特征在于,包括:
训练阶段:利用数学应用题数据构建训练数据集,数学应用题数据包括:数学应用题文本与对应表达式;构建智能解题系统,其包括两个子系统,分别称为大脑系统与手臂系统;基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程,大脑系统负责知识储存与知识更新两个认知过程,手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程;
测试阶段:将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。
一种基于知识学习的数学应用题智能解题系统,包括:两个子系统,分别称为大脑系统与手臂系统;
训练阶段:利用数学应用题数据构建训练数据集,数学应用题数据包括:数学应用题文本与对应表达式;基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程,大脑系统负责知识储存与知识更新两个认知过程,手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程;
测试阶段:将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。
由上述本发明提供的技术方案可以看出,(1)本发明设计了认知框架与知识学习过程,构建了更接近通用型人工智能目标的智能系统,系统可以作为一种通用框架,融合多种机器学习任务,为实现强人工智能提供了一定的基础。(2)本发明建立了引入知识学习的数学应用题求解方法,有助于提高应用题求解的准确性与可解释性。同时,学习到的数学知识具有一定的实际应用价值,可以作为众多机器学习任务的先验信息改善任务表现,也可进一步辅助教育平台搭建知识图谱,并基于此提供更好的个性化教育服务。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种基于知识学习的数学应用题智能解题方法的流程图;
图2为本发明实施例提供的一种智能解题系统的示意图;
图3为本发明实施例提供的一种基于知识学习的数学应用题智能解题方法中知识应用过程流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
首先对本文中可能使用的术语进行如下说明:
术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
下面对本发明所提供的一种基于知识学习的数学应用题智能解题方法及系统进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。
实施例一
为了克服现有技术无法建模对数学知识的学习过程、缺乏可解释性、与通用型人工智能目标距离较远的不足,本发明实施例提供一种基于知识学习的数学应用题智能解题方法,如图1所示,主要包括:
一、训练阶段。
1、利用数学应用题数据构建训练数据集。
数学应用题数据包括:数学应用题文本、对应的数学表达式与数值答案。数学应用题数据可以通过公开渠道收集。
本发明实施例中,数值答案是指通过数学表达式计算出的结果。需要说明的是,虽然答案在训练阶段没有被显式的使用,但是从任务完整性与实际应用的角度出发,最终需要获得的是一个数值答案,因此,在数学应用题数据中保留了数值答案;此外,在后续测试阶段,也需要根据生成的表达式计算出数值答案。
2、构建智能解题系统。
本发明实施例中,构建智能解题系统与构建训练数据集不区分执行的先后顺序,二者可以同步执行,也可以按照任意顺序一前一后执行。
本发明实施例中,基于双过程理论构建智能解题系统,如图2所示,其主要包括两个子系统,分别称为大脑系统(Brain)与手臂系统(Arm);基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程(Store-Apply-Updateiteratively),大脑系统负责知识储存与知识更新两个认知过程;大脑系统中具体存储和更新三类知识,包括语义知识、关系知识、规则知识(三类知识的内容将在后续进行介绍);手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程。
(1)知识应用。
本发明实施例中,手臂系统的输入为训练数据集中的数学应用题文本(问题文本)以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式包括:
(A)所述手臂系统根据数学应用题文本从大脑系统中储存的语义知识中获取对应的语义信息序列,并根据数学应用题文本对应的语义信息序列获得数学应用题文本的初始文本表征序列与初始目标表征;其中,所述语义知识包括:词语的语义向量与运算符的语义向量。
此部分通过手臂系统的编码器实现,编码器根据数学应用题文本从大脑系统中储存的语义知识中获取对应的语义信息序列,所述语义信息序列包括词语的语义向量序列 与运算符的语义向量序列;其中,w i 表示词语i的语义向量,i=1,2,…,n,n表示数学应用题文本中词语数目,词语包含数学应用题文本中单词,以及将数学应用题文本中数值映射得到的单词;o c 表示运算符c的语义向量,c=1,2,…,M,M表示数学应用题领域涉及运算符的总数(例如,若数学应用题中仅涉及加减乘除四种运算符,则M=4)。
所述手臂系统中的编码器对所述词语的语义向量序列进行处理,获得初始词语表征序列,并利用初始词语表征序列获得用于表征数学应用题整体的初始目标表征q 1,初始目标表征为整个数学应用题的初始表征,后续阶段会进行更新。具体实现方式可以使用简单的序列模型(如LSTM)或复杂模型(如BERT)等多种模型;编码器还将运算符的语义向量序列作为初始运算符表征序列;其中,表示词语i的初始词语表征,表示运算符c的初始运算符表征;初始词语表征序列与初始运算符表征序列构成初始文本表征序列。
(B)所述手臂系统利用初始文本表征序列与初始目标表征,结合从大脑系统中储存的关系知识、规则知识通过迭代的推理步骤预测出数学应用题文本的求解表达式,推理结果形式化为表达式对应的前序表达式树,如图3所示,为了便于理解,此处先针对表达式树原理进行介绍,再介绍推理部分。
表达式树原理如下:本发明并非直接生成一个符号序列,因为符号序列无法保证合理性(比如“1++”并非一个可计算的表达式),因此,本发明是生成一个表达式树,如图3的E P ,叶子节点是数值,非叶子节点是运算符,根据该表达式树做前序遍历(如图3遍历结果为+32)得到最终的前序表达式,其必定是可以最终转化为正常的、合理的表达式。基于上述原理,由于是按先序遍历,所以左子树会先计算,再计算右子树。如:÷ 2 3中2是÷的左子树,计算结果为2/3=0.67,而÷3 2中3是÷的左子树,计算结果为3/2=1.5,因此,左右子树的顺序是重要的,本发明运用规则知识(交换律)也是基于此,只有当符号是+,x时,左右子树是可交换的。
推理步骤包括:当前推理步骤中,利用上一推理步骤的文本表征序列、上一推理步骤生成的当前推理步骤的目标表征,以及从大脑系统中储存的知识中获取的关系知识,通过上下文感知的方式获得当前推理步骤的文本表征序列,并结合当前推理步骤的目标表征,预测当前推理步骤的符号,其中,关系知识包括:词语与词语的关系,以及词语与运算符的关系;若预测出的当前推理步骤的符号为设定的终止符号,则表示推理步骤结束;若预测出的当前推理步骤的符号不为设定的终止符号,则基于当前推理步骤的文本表征序列、当前推理步骤的目标表征、以及预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识对其约束改善,之后进入下一推理步骤;其中,所述规则知识为数学知识,属于先验知识,如交换律规则。如果当前推理步骤为第一次推理步骤,则上一推理步骤的文本表征序列为所述初始文本表征序列,上一推理步骤生成的当前推理步骤的目标表征为所述初始目标表征。
需要说明的是,终止符号可以选择本领域通用的符号,也可以由用户根据需要设定某个特定符号作为终止符号,对于终止符号的具体形式,本发明不做限制。
此部分通过手臂系统的解码器实现,所述解码器包括:问题图谱、上下文感知模块、符号预测模块与交换模块。
(B1)所述问题图谱,用于组织上一推理步骤结束后获得的信息,问题图谱定义为,其中,表示当前推理步骤t中,利用上一推理步骤结束后获得的信息构建的问题图谱;V表示节点集合,包括:文本表征与目标表征,所述文本表征包括词语表征与运算符表征;E表示边集合,包括:词语与词语的关系,词语与运算符的关系,通过语法分析工具(例如,Stanfordnlp)自动建立的同一子句内词语之间的依存语法关系,以及通过层次注意力机制计算的词语与目标的关系(通过每个词语的表征与目标表征计算出的每个词语与目标表征的关系);第一次推理步骤时,词语与词语的关系以及词语与运算符的关系均为大脑系统中储存关系知识。
本领域技术人员可以理解,依存语法关系为行业术语,两个词语之间存在的依存语法关系包括:主谓关系、动宾关系等。
(B2)上下文感知模块,用于将上下文信息引入问题图谱,通过上下文感知的方式获得当前推理步骤的文本表征序列,所述文本表征序列包括词语表征序列与运算符表征序列。
此部分所述通过上下文感知的方式获得当前推理步骤的文本表征序列的优选实施方式如下:
所有词语均各自通过上下文感知的方式获得当前推理步骤t的词语表征,构成当前推理步骤t的词语表征序列;所有运算符均各自通过上下文感知的方式获得当前推理步骤t的运算符表征,构成当前推理步骤t的运算符表征序列;由当前推理步骤t的词语表征序列与当前推理步骤t的运算符表征序列构成当前推理步骤t的文本表征序列。其中:
其中,q t 表示当前推理步骤t的目标表征,其由上一推理步骤生成;表示词语i与目标表征q t 的关系,属于词语与目标的关系;、分别表示上一推理步骤t-1的词语j、词语k的词语表征,表示上一推理步骤t-1中词语i与词语j的关系,n表示数学应用题文本中词语数目;表示与词语i存在依存语法关系的词语构成的集合(通过问题图谱中确定);表示各类表征拼接得到的信息,表示向量的拼接操作;表示词语i的第一中间表征,表示sigmoid函数,与均为权重矩阵,与均为偏置项;f i 表示控制已有知识保留的第一比例系数,、分别表示当前推理步骤t、上一推理步骤t-1的词语i的词语表征。
(B3)符号预测模块,用于通过当前推理步骤的文本表征序列以及当前推理步骤的目标表征预测当前推理步骤的符号。
符号预测的优选实施方式如下:
利用层次注意力机制评估当前推理步骤t的目标表征q t 与当前推理步骤t的文本表征序列中每个词语表征的相关性,并基于词语表征的相关性对词语表征序列加权求和获得上下文向量c t ;通过指针-生成网络根据当前推理步骤t的目标表征q t 、上下文向量c t 、以及当前推理步骤t的文本表征序列,预测当前推理步骤t的符号y t ;其中,当前推理步骤t的符号y t 来自外部符号集或者来自数学应用题文本的数值集合。
预测符号y t 来自外部符号集的概率:
其中,与均为权重矩阵,与均为权重向量,T为矩阵转置符号,与均为偏置项;若符号y t 是来自运算符集合的运算符,则概率分布中为符号y t 的运算符表征,否则,为相应常数的表征;若符号y t 是来自数学应用题文本的数值集合中的数值,则概率分布中为符号y t 的词语表征。
(B4)交换模块,用于基于当前推理步骤的文本表征序列、当前推理步骤的目标表征、以及预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识进行约束。
如果当前推理步骤t的符号y t 不是设定的终止符号,由交换模块生成下一推理步骤的目标表征,优选实施方式如下:
基于当前推理步骤的文本表征序列,通过上下文感知模块计算当前推理步骤t的词语与运算符的关系,再结合当前推理步骤t的目标表征q t 计算临时目标向量,最后,结合临时目标向量与预测出的当前推理步骤的符号生成下一推理步骤的目标表征q t+1。
当前推理步骤的文本表征序列包括当前推理步骤的词语表征序列与运算符表征序列;对于词语i与运算符c,利用上一推理步骤t-1的词语i与运算符c的关系、当前推理步骤t的词语表征,以及当前推理步骤t的运算符表征计算当前推理步骤t的词语i与运算符c的关系,表示为:
其中,表示各类表征拼接得到的信息,M表示数学应用题领域涉及运算符的总数,、分别表示当前推理步骤t的词语j、词语k的词语表征,表示当前推理步骤t-1的词语i与词语j的关系,迭代的推理步骤中词语i与词语j的关系保持不变,n表示数学应用题文本中词语数目,表示与词语i存在依存语法关系的词语构成的集合;与均为权重矩阵,与均为偏置项;表示词语i的第二中间表征;表示词语i与目标表征q t 的关系,属于词语与目标的关系;表示利用各个词语的第二中间表征计算出的中间信息;表示控制已有知识保留的第四比例系数。
其中,第一前馈网络Decompose1内部处理过程表示为:
如之前所述,推理结果形式化为表达式对应的前序表达式树,而表达式树中叶子节点是数值,非叶子节点是运算符,因此,当前步骤t预测的符号y t 是运算符时,将下一推理步骤的目标表征q t+1作为符号y t 的左子节点的目标向量,并将依据下一推理步骤的目标表征q t+1推理得到的下一个符号y t+1作为符号y t 的左子节点。
(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的左子树表征。
其中,运算符节点u对应的临时目标向量是指在预测出运算符节点u对应运算符的推理步骤中,所计算出的临时目标向量,计算方式即为前文提供的公式;表示第三临时目标向量,为第二前馈网络Decompose2的权重矩阵。此时,依据q t+1推理得到的下一个符号y t+1是运算符节点u的右子节点。
在以上过程中,考虑大脑系统中储存的规则知识,即数学交换律这一规则知识,对满足交换律的运算符(“+,×”),交换其左右两边的运算对象得到的结果相同。此时,优先生成其左子节点与右子节点无本质区别。为实现该效果,大脑储存的规则知识被用于判断y t 是否满足交换律:当符号y t 是运算符,且满足交换律时,额外利用符号y t 对应运算符节点的右子树表征反向生成左子节点的目标向量,即,最小化其与正向生成的左子节点目标向量的差距,进而隐式地提高推理得到的q t+1的合理性。该差距定义为交换损失:
其中,是将右子树输入网络Encode_tree获得的右子树表征,具体方式与前文介绍的方式类似,区别主要在于,前文输入的是运算符节点对应的左子树,因此得到的是运算符节点对应的左子树表征,此处需要输入的是运算符节点对应的右子树,因此得到的是运算符节点对应的右子树表征。当根据规则知识发现y t 不满足交换律时,在当前步骤t不计算交换损失。
以上为知识应用这一认知过程的主要实现方式,在完成一道或一个批次数学应用题后需要对大脑系统的知识进行更新。
(2)知识更新与知识储存。
本发明实施例中,基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,采用梯度反向传播的方式自动更新知识。
其中,m表示训练数据集中的相应数学应用题文本P对应表达式的运算符与词语的总数,每一个推理步骤预测出一个符号,预测出的符号为一个运算符或一个词语,总的推理步骤数目等于训练数据集中的相应数学应用题文本P对应表达式的运算符与词语的总数m;y t 表示当前推理步骤t预测的符号,其结合之前推理步骤预测的符号预测出y t 。
如图2所示,根据总的训练损失函数采用梯度反向传播的方式更新语义知识,以及根据更新后的语义知识更新关系知识;语义知识包括:词语的语义向量与运算符的语义向量,关系知识包括:词语与词语的关系,以及词语与运算符的关系;
其中,根据更新后的语义知识更新关系知识包括:
对于词语与词语的关系,利用更新后的语义知识重新估计词语与词语的关系,设计过滤器对重新估计的词语与词语的关系进行判断,确定最终的词语与词语的关系,表示为:
其中,表示重新估计的词语i与词语j的关系,表示更新后的词语i的语义向量,表示更新后的词语j的语义向量,表示所有词语对之间的平均距离;表示最终的词语i与词语j的关系,表示设定的词语与词语的关系强度阈值。
对于词语与运算符的关系,利用更新后的语义知识重新估计词语与运算符的关系,设计过滤器对重新估计的词语与运算符的关系进行判断,确定最终的词语与运算符的关系,表示为:
知识更新主要是针对语义知识和关系知识进行更新,规则知识作为确定性的数学规律不进行更新,最终所有更新后的知识被存储与大脑系统中。
二、测试阶段。
将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。此部分的主要技术细节可参照前述训练阶段中知识应用认知过程的介绍,故不再赘述;同时,获得表达式中,也无需进行知识更新。
为了更加清晰地展现出本发明所提供的技术方案及所产生的技术效果,下面以具体实施例对本发明实施例所提供一种基于知识学习的数学应用题智能解题方法进行详细描述。
一、问题定义与形式化。
数学应用题自动求解任务的目的是基于数学应用题文本(问题文本)进行逻辑推理,生成数学表达式计算问题的答案。在本发明实施例中,问题文本P定义为n个词语组成的序列,其中数值的集合定义为(如:{1,2})。由于在解题推理中不关心这些数的具体值,建模时所有数值都被映射为特殊单词“NUM”。问题P的答案是问题文本的待求变量(如:水果总数为“5”),通过一个数学表达式E P 推导得出。表达式E P 定义为一个由m个运算符、常数或问题中数值组成的序列,其中每个元素y都是问题P的解码符号集合的一个元素。符号集合由运算符集合(如:),常数集合(如:)和数值集合组成,即,对于所有数学应用题文本,使用相同的运算符集合与常数集合,每个数学应用题文本的数值集合,由数学应用题文本内容确定。任务目标是学习一个模型,读取问题文本P,生成表达式E P ,并基于E P 计算问题待求变量(即答案)。
二、数据收集与预处理。
1、数据收集。
本发明实施例中,使用广义上的数学应用题作为输入数据集,问题需包括题目文本、数学表达式和数值答案。此类数据样例,如腾讯公司发布的开源数学应用题数据集(Math23K)以及Microsoft公司发布的开源数据集(MAWPS)。此外,也可以通过网络爬取或线下收集中小学生的作业或考试数学题集获得输入数据集。
2、数据预处理。
在训练模型之前,需要对收集的数据进行预处理以保证模型的效果。预处理主要包括以下内容:
1)数据过滤。
本发明实施例中,主要针对仅包含一个问题、答案为数值且可以通过一个数学表达式直接计算得到的数学应用题,因此需要选择数据集中仅含有一个数学表达式和数值答案的题目,过滤掉缺少表达式或有两个及以上表达式、答案的题目。
2)抽样
在每类数据集中分别进行随机抽样,选用原始数据集的子集构建训练数据集训练模型(即图1所示系统模型)。
三、系统的建立,以及系统的原理。
如图2所示,本发明的基于知识学习的数学应用题求解系统包括两个子系统:大脑系统和手臂系统。大脑系统中进行知识储存过程和知识更新过程;手臂系统中进行知识运用过程。
1、知识储存。
知识储存关注三种类型的数学知识:
本发明实施例中,根据大量试题文本与表达式利用预训练模型初始化大脑内的语义知识。
(2)关系知识,包括词语—词语关系(也称为常识知识,如:苹果—水果)、词语—运算符关系(如:求和—+)两种类型。在本发明实施例中,对词语i和词语j,使用表示它们的关系;对词语i和运算符c,使用表示它们的关系。与均是属于[0,1]区间内的实值,采用随机生成的方式进行初始化。
(3)规则知识,包括交换律、结合律、分配律等数学规则,基于人类先验直接获得,本发明后续仅以交换律为例进行说明。
2、知识应用。
数学应用题文本在手臂系统进行读入,并在如图3所示知识应用过程中完成求解:在手臂系统读入数学应用题文本后,结合大脑系统中的知识,经过编码器与解码器进行认知推理,生成数学表达式作为解答。需要说明的是,图3所示的数学应用题文本的内容仅为示例。
(1)编码器。
(2)解码器。
解码器中具体包括问题图谱、上下文感知模块、符号预测模块与交换模块。四个部分具体介绍如下:
(A)问题图谱定义为,用于统一组织上一推理步骤t-1结束后的语义知识与关系知识。在本发明实施例中,点集V包括三种类型的节点:问题文本中词语的表征、所有运算符的表征,以及目标向量表征q t 。边集E包括四种类型的边:问题文本中词语—词语关系、词语—运算符关系、通过语法分析工具Stanfordnlp自动建立的同一子句内词语之间的依存语法关系,以及通过层次注意力机制计算的的词语—目标关系。值得注意的是,初始化为从大脑中提取出的运算符语义知识与关系知识,因此问题图谱可视为大脑知识在给定问题上的局部子图。
(B)上下文感知模块用以将上下文信息引入问题图谱,从而能够根据当前步骤调整已有知识的使用方式,更好地实现当前推理目标。针对图谱中的语义知识,考虑到人类的思考过程采用目标—词语—运算符的层次推理结构,在本发明实施例中,设计了层次卷积神经网络(HGCN)自底向上对问题图谱的节点表征(语义知识)进行传播。对于词语i,其下层邻居包括目标向量与问题文本中的其他的词语表征,使用遗忘网络并通过不同的非线性激活函数得到其当前推理步骤t的表征,计算方式如下:
其中,表示各类表征(词语i下层邻居的表征)拼接得到的信息。遗忘门第一比例系数,控制已有知识保留的比例,通过前馈神经网络和函数(非线性激活函)数得到。考虑到这部分参数在之前已经做了逐一说明,故不再赘述,后面各个公式也是如此。
其中,第二比例系数也属于f c 遗忘门,取值范围为[0,1]。
根据当前推理步骤的语义知识,使用前馈神经网络进一步获得融合上下文信息的当前推理步骤所需要的关系知识,当然,此处更新操作一般是在当前推理步骤结束后执行,且只有当前推理步骤预测出的字符不为终止字符时执行。由于词语—词语关系(常识知识)不随问题不同而改变(即),因此只需计算,公式如下:
本发明实施例中,问题图谱的层次为目标—词语—运算符,底层是目标表征,中间层是词语表征,顶层是运算符表征。对目标表征,其上层邻居是所有词语表征,词语表征的上层邻居是词语表征(因为词语之间有边)和运算符表征;相应的运算符的下层邻居是词语表征(运算符之间没有边),词语表征的下层邻居是词语表征和目标表征。
(C)符号预测模块根据目标向量q t 、词语表征和运算符表征生成当前推理步骤的符号。为了抽取局部语义辅助目标导向的符号预测,本发明实施实例中,首先利用层次注意力机制评估目标向量q t 与每个词语表征的相关性,并基于相关性对加权求和获得上下文向量c t 。再通过指针-生成网络根据目标向量q t 、上下文向量c t 、词语表征和运算符表征,预测出符号y t ,其中需要计算y t 来自外部符号集()的概率:
y t 来自外部符号集的情况下的概率分布:
(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不计算交换损失):
3、知识更新。
在完成一道或一个批次数学应用题后对语义知识、关系知识的自动更新。通过对比系统推理生成的表达式与正确表达式,采用梯度反向传播的方式自动更新语义知识;依据更新后的语义知识对关系知识进行重新评估,并设计了过滤器来消除知识冗余,去除不合理的知识。规则知识作为确定性的数学规律不进行更新。
对词语与词语的关系,公式如下:
其中,是所有词语对之间的平均距离,用于调整词语对关系的分布。然而,由于上式输出结果属于0到1的区间,代表所有词语对之间均存在一定强度的关系,从而导致不合理的关系知识出现。为了消除这些冗余,本发明设计了过滤器进一步提高关系知识的质量,公式如下:
词语与运算符的关系同样采用过滤器机制提升知识合理性,表示为:
更新后的语义向量与更新后的关系向量,被存储于大脑系统中,供下一次手臂系统执行知识应用认知过程时调用。
本发明实施例上述方案主要获得如下有益效果:
(1)设计了认知框架与知识学习过程,构建了更接近通用型人工智能目标的智能系统,系统可以作为一种通用框架,融合多种机器学习任务,为实现强人工智能提供了一定的基础。
(2)建立了引入知识学习的数学应用题求解方法,有助于提高应用题求解的准确性与可解释性。同时,学习到的数学知识具有一定的实际应用价值,可以作为众多机器学习任务的先验信息改善任务表现,也可进一步辅助教育平台搭建知识图谱,并基于此提供更好的个性化教育服务。
实施例二
本发明还提供一种基于知识学习的数学应用题智能解题系统,还参见图2,该系统主要包括:两个子系统,分别称为大脑系统与手臂系统;
训练阶段:利用数学应用题数据构建训练数据集,数学应用题数据包括:数学应用题文本与对应表达式;基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程,大脑系统负责知识储存与知识更新两个认知过程,手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程;
测试阶段:将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。
该系统所涉及的主要细节在之前的实施例一中已经做了详细的说明,故不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (10)
1.一种基于知识学习的数学应用题智能解题方法,其特征在于,包括:
训练阶段:利用数学应用题数据构建训练数据集,数学应用题数据包括:数学应用题文本与对应表达式;构建智能解题系统,其包括两个子系统,分别称为大脑系统与手臂系统;基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程,大脑系统负责知识储存与知识更新两个认知过程,手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程;
测试阶段:将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。
2.根据权利要求1所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式包括:
所述手臂系统根据数学应用题文本从大脑系统中储存的语义知识中获取对应的语义信息序列,并根据数学应用题文本对应的语义信息序列获得数学应用题文本的初始文本表征序列与初始目标表征;其中,所述语义知识包括:词语的语义向量与运算符的语义向量;初始目标表征为整个数学应用题的初始表征;
所述手臂系统利用初始文本表征序列与初始目标表征,结合从大脑系统中储存的关系知识与规则知识通过迭代的推理步骤预测出数学应用题文本对应的表达式,推理步骤包括:
当前推理步骤中,利用上一推理步骤的文本表征序列、上一推理步骤生成的当前推理步骤的目标表征,以及从大脑系统中储存的知识中获取的关系知识,通过上下文感知的方式获得当前推理步骤的文本表征序列,并结合当前推理步骤的目标表征,预测当前推理步骤的符号,其中,关系知识包括:词语与词语的关系,以及词语与运算符的关系;若预测出的当前推理步骤的符号为设定的终止符号,则表示推理步骤结束;若预测出的当前推理步骤的符号不为设定的终止符号,则基于当前推理步骤的文本表征序列、当前推理步骤的目标表征、以及预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识进行约束,之后进入下一推理步骤;其中,所述规则知识为数学知识,属于先验知识,如果当前推理步骤为第一次推理步骤,则上一推理步骤的文本表征序列为所述初始文本表征序列,上一推理步骤生成的当前推理步骤的目标表征为所述初始目标表征。
3.根据权利要求2所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述手臂系统根据数学应用题文本从大脑系统中储存的语义知识中获取对应的语义信息序列,并根据数学应用题文本对应的语义信息序列获得数学应用题文本的初始文本表征序列与初始目标表征包括:
所述手臂系统中的编码器根据数学应用题文本从大脑系统中储存的语义知识中获取对应的语义信息序列,所述语义信息序列包括词语的语义向量序列与运算符的语义向量序列;其中,w i 表示词语i的语义向量,i=1,2,…, n,n表示数学应用题文本中词语数目,词语包含数学应用题文本中单词,以及将数学应用题文本中数值映射得到的单词;o c 表示运算符c的语义向量,c=1,2,…,M,M表示数学应用题领域涉及运算符的总数;
4.根据权利要求2所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述迭代的推理步骤通过所述手臂系统中的解码器实现;所述解码器包括:问题图谱、上下文感知模块、符号预测模块与交换模块;其中:
所述问题图谱,用于组织上一推理步骤结束后获得的信息,问题图谱定义为,其中,表示当前推理步骤t中,利用上一推理步骤结束后获得的信息构建的问题图谱;V表示节点集合,包括:文本表征与目标表征,所述文本表征包括词语表征与运算符表征;E表示边集合,包括:词语与词语的关系,词语与运算符的关系,同一子句内词语之间的依存语法关系,以及词语与目标的关系;第一次推理步骤时,词语与词语的关系以及词语与运算符的关系均为大脑系统中储存关系知识;其中,同一子句内词语之间的依存语法关系通过语法工具获取,词语与目标的关系通过层次注意力机制计算,包括每个词语与目标表征的关系;
所述上下文感知模块,用于将上下文信息引入问题图谱,通过上下文感知的方式获得当前推理步骤的文本表征序列,所述文本表征序列包括词语表征序列与运算符表征序列;
所述符号预测模块,用于通过当前推理步骤的文本表征序列以及当前推理步骤的目标表征预测当前推理步骤的符号;
所述交换模块,用于基于当前推理步骤的文本表征序列、当前推理步骤的目标表征、以及预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识进行约束。
5.根据权利要求4所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述通过上下文感知的方式获得当前推理步骤的文本表征序列包括:
所有词语均各自通过上下文感知的方式获得当前推理步骤t的词语表征,构成当前推理步骤t的词语表征序列;所有运算符均各自通过上下文感知的方式获得当前推理步骤t的运算符表征,构成当前推理步骤t的运算符表征序列;由当前推理步骤t的词语表征序列与当前推理步骤t的运算符表征序列构成当前推理步骤t的文本表征序列;其中:
其中,q t 表示上一推理步骤生成的当前推理步骤t的目标表征,表示词语i与目标表征q t 的关系,属于词语与目标的关系;、分别表示上一推理步骤t-1的词语j、词语k的词语表征,表示上一推理步骤t-1中词语i与词语j的关系,n表示数学应用题文本中词语数目;表示与词语i存在依存语法关系的词语构成的集合;表示各类表征拼接得到的信息,表示向量的拼接操作;表示词语i的第一中间表征,表示sigmoid函数,与均为权重矩阵,与均为偏置项;f i 表示控制已有知识保留的第一比例系数,、分别表示当前推理步骤t、上一推理步骤t-1的词语i的词语表征;
6.根据权利要求4所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述通过当前推理步骤的文本表征序列以及当前推理步骤的目标表征预测当前推理步骤的符号包括:
利用层次注意力机制评估当前推理步骤t的目标表征q t 与当前推理步骤t的文本表征序列中每个词语表征的相关性,并基于词语表征的相关性对词语表征序列加权求和获得上下文向量c t ;通过指针-生成网络根据当前推理步骤t的目标表征q t 、上下文向量c t 、以及当前推理步骤t的文本表征序列,预测当前推理步骤t的符号y t ;其中,当前推理步骤t的符号y t 来自外部符号集或者来自数学应用题文本的数值集合;
预测符号y t 来自外部符号集的概率:
其中,与均为权重矩阵,与均为权重向量,T为矩阵转置符号,与均为偏置项;若符号y t 是来自运算符集合的运算符,则概率分布中为符号y t 的运算符表征,否则,为相应常数的表征;若符号y t 是来自数学应用题文本的数值集合中的数值,则概率分布中为符号y t 的词语表征;
7.根据权利要求4所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述基于当前推理步骤的文本表征序列、当前推理步骤的目标表征、以及预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识进行约束包括:
基于当前推理步骤的文本表征序列,通过上下文感知模块计算当前推理步骤t的词语与运算符的关系,再结合当前推理步骤t的目标表征q t 计算临时目标向量,最后结合临时目标向量与预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识进行约束;
当前推理步骤的文本表征序列包括当前推理步骤的词语表征序列与运算符表征序列;对于词语i与运算符c,利用上一推理步骤t-1的词语i与运算符c的关系、当前推理步骤t的词语表征,以及当前推理步骤t的运算符表征计算当前推理步骤t的词语i与运算符c的关系,表示为:
其中,表示各类表征拼接得到的信息,M表示数学应用题领域涉及运算符的总数,、分别表示当前推理步骤t的词语j、词语k的词语表征,表示当前推理步骤t-1的词语i与词语j的关系,迭代的推理步骤中词语i与词语j的关系保持不变,n表示数学应用题文本中词语数目,表示与词语i存在依存语法关系的词语构成的集合;与均为权重矩阵,与均为偏置项;表示词语i的第二中间表征;表示词语i与目标表征q t 的关系,属于词语与目标的关系;表示利用各个词语的第二中间表征计算出的中间信息;表示控制已有知识保留的第四比例系数;
定义推理结果形式化为表达式对应的表达式树,表达式树中叶子节点是数值,非叶子节点是运算符;
如果当前推理步骤t的符号y t 是运算符,则将临时目标向量输入至第一前馈网络Decompose1获得下一推理步骤的目标表征q t+1,表示为:,将下一推理步骤的目标表征q t+1作为符号y t 的左子节点的目标向量,并将依据下一推理步骤的目标表征q t+1推理得到的下一个符号y t+1作为符号y t 的左子节点;
如果当前推理步骤t的符号y t 是数值,则在已生成的表达式树上确定距相应数值节点最近、且不存在右子树运算符节点u,通过前馈网络Encode_tree获得运算符节点u的左子树表征,并与运算符节点u对应的临时目标向量一并输入至第二前馈网络Decompose2计算下一推理步骤的目标表征q t+1,表示为:;将依据下一推理步骤的目标表征推理得到的下一个符号y t+1作为运算符节点u的右子节点;
当符号y t 是运算符,且满足规则知识中的交换律时,利用符号y t 对应运算符节点的临时目标向量与右子树表征反向生成左子节点的目标向量,即,最小化其与正向生成的左子节点目标向量的差距,该差距定义为交换损失:
8.根据权利要求4或6或7所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,在训练阶段,总的训练损失函数包括:预测的表达式与相应数学应用题文本对应表达式之间的差异构建的符号预测损失,以及生成下一推理步骤的目标表征,利用大脑系统中储存的规则知识进行约束所计算出的损失,称为交换损失,则总的训练损失函数表示为:
9.根据权利要求1所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述大脑系统根据总的训练损失函数进行知识更新认知过程包括:根据总的训练损失函数采用梯度反向传播的方式更新语义知识,以及根据更新后的语义知识更新关系知识;语义知识包括:词语的语义向量与运算符的语义向量,关系知识包括:词语与词语的关系,以及词语与运算符的关系;
其中,根据更新后的语义知识更新关系知识包括:
对于词语与词语的关系,利用更新后的语义知识重新估计词语与词语的关系,设计过滤器对重新估计的词语与词语的关系进行判断,确定最终的词语与词语的关系,表示为:
其中,表示sigmoid函数,表示重新估计的词语i与词语j的关系,表示更新后的词语i的语义向量,表示更新后的词语j的语义向量,表示所有词语对之间的平均距离;表示最终的词语i与词语j的关系,表示设定的词语与词语的关系强度阈值;
对于词语与运算符的关系,利用更新后的语义知识重新估计词语与运算符的关系,设计过滤器对重新估计的词语与运算符的关系进行判断,确定最终的词语与运算符的关系,表示为:
10.一种基于知识学习的数学应用题智能解题系统,其特征在于,基于权利要求1~9任一项所述的方法实现,该系统包括:两个子系统,分别称为大脑系统与手臂系统;
训练阶段:利用数学应用题数据构建训练数据集,数学应用题数据包括:数学应用题文本与对应表达式;基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程,大脑系统负责知识储存与知识更新两个认知过程,手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程;
测试阶段:将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210978505.XA CN115049062B (zh) | 2022-08-16 | 2022-08-16 | 一种基于知识学习的数学应用题智能解题方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210978505.XA CN115049062B (zh) | 2022-08-16 | 2022-08-16 | 一种基于知识学习的数学应用题智能解题方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115049062A true CN115049062A (zh) | 2022-09-13 |
CN115049062B CN115049062B (zh) | 2022-12-30 |
Family
ID=83167038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210978505.XA Active CN115049062B (zh) | 2022-08-16 | 2022-08-16 | 一种基于知识学习的数学应用题智能解题方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115049062B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115829033A (zh) * | 2023-02-02 | 2023-03-21 | 中国科学技术大学 | 数学应用题知识构建与解答方法、系统、设备及存储介质 |
CN116680502A (zh) * | 2023-08-02 | 2023-09-01 | 中国科学技术大学 | 数学应用题智能求解方法、系统、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340661A (zh) * | 2020-02-21 | 2020-06-26 | 电子科技大学 | 一种基于图神经网络的应用题自动解题方法 |
CN112613323A (zh) * | 2020-12-21 | 2021-04-06 | 中国科学技术大学 | 语法依赖增强的数学应用题语义识别与推理方法及系统 |
-
2022
- 2022-08-16 CN CN202210978505.XA patent/CN115049062B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340661A (zh) * | 2020-02-21 | 2020-06-26 | 电子科技大学 | 一种基于图神经网络的应用题自动解题方法 |
CN112613323A (zh) * | 2020-12-21 | 2021-04-06 | 中国科学技术大学 | 语法依赖增强的数学应用题语义识别与推理方法及系统 |
Non-Patent Citations (3)
Title |
---|
XIN LIN ET AL.: "Hms:A hierarchical solver with dependency-enhanced understanding for math word peoblem", 《PROCEEDING OF THE AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE》 * |
王松: "基于数字相关特征的文字应用题自动求解模型研究", 《中国优秀硕士学位论文全文数据库 社会科学Ⅱ辑》 * |
黄振亚: "面向个性化学习的数据挖掘方法与应用研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115829033A (zh) * | 2023-02-02 | 2023-03-21 | 中国科学技术大学 | 数学应用题知识构建与解答方法、系统、设备及存储介质 |
CN115829033B (zh) * | 2023-02-02 | 2023-06-20 | 中国科学技术大学 | 数学应用题知识构建与解答方法、系统、设备及存储介质 |
CN116680502A (zh) * | 2023-08-02 | 2023-09-01 | 中国科学技术大学 | 数学应用题智能求解方法、系统、设备及存储介质 |
CN116680502B (zh) * | 2023-08-02 | 2023-11-28 | 中国科学技术大学 | 数学应用题智能求解方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115049062B (zh) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021184311A1 (zh) | 一种自动生成可推理问答的方法和装置 | |
Chen et al. | Knowedu: A system to construct knowledge graph for education | |
CN115049062B (zh) | 一种基于知识学习的数学应用题智能解题方法及系统 | |
Stoyanov et al. | Empirical risk minimization of graphical model parameters given approximate inference, decoding, and model structure | |
CN115829033B (zh) | 数学应用题知识构建与解答方法、系统、设备及存储介质 | |
Mi et al. | Cins: Comprehensive instruction for few-shot learning in task-oriented dialog systems | |
Bowman et al. | Recursive neural networks for learning logical semantics | |
CN112905795A (zh) | 文本意图分类的方法、装置和可读介质 | |
CN113254581B (zh) | 一种基于神经语义解析的金融文本公式抽取方法及装置 | |
CN115964459B (zh) | 基于食品安全认知图谱的多跳推理问答方法及系统 | |
Peng et al. | Incremental term representation learning for social network analysis | |
CN114969278A (zh) | 一种基于知识增强图神经网络的文本问答模型 | |
CN113128206A (zh) | 基于单词重要性加权的问题生成方法 | |
CN114996423A (zh) | 一种基于子问题剪枝的水利知识图谱复杂问答方法 | |
Zhang | Meta prompting for agi systems | |
Ruskanda et al. | Simple sentiment analysis ansatz for sentiment classification in quantum natural language processing | |
Sekiyama et al. | Automated proof synthesis for the minimal propositional logic with deep neural networks | |
CN116028888A (zh) | 一种平面几何数学题目的自动解题方法 | |
Tseng et al. | Tree-structured semantic encoder with knowledge sharing for domain adaptation in natural language generation | |
Liu et al. | Overview of Knowledge Reasoning for Knowledge Graph | |
CN112949277A (zh) | 基于融合表征学习的学科分类体系对齐方法、系统及介质 | |
Chen et al. | Llama-lora neural prompt engineering: A deep tuning framework for automatically generating chinese text logical reasoning thinking chains | |
Wang | Basic Methodologies Used in NLP Area | |
CN116680502B (zh) | 数学应用题智能求解方法、系统、设备及存储介质 | |
Shi et al. | Research on food safety multi-hop reasoning question answering based on cognitive graph |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |