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

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

Info

Publication number
CN115049062B
CN115049062B CN202210978505.XA CN202210978505A CN115049062B CN 115049062 B CN115049062 B CN 115049062B CN 202210978505 A CN202210978505 A CN 202210978505A CN 115049062 B CN115049062 B CN 115049062B
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.)
Active
Application number
CN202210978505.XA
Other languages
English (en)
Other versions
CN115049062A (zh
Inventor
陈恩红
黄振亚
刘嘉聿
刘淇
林鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN202210978505.XA priority Critical patent/CN115049062B/zh
Publication of CN115049062A publication Critical patent/CN115049062A/zh
Application granted granted Critical
Publication of CN115049062B publication Critical patent/CN115049062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward 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)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (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)所述手臂系统根据数学应用题文本从大脑系统中储存的语义知识中获取对应的语义信息序列,并根据数学应用题文本对应的语义信息序列获得数学应用题文本的初始文本表征序列与初始目标表征;其中,所述语义知识包括:词语的语义向量与运算符的语义向量。
此部分通过手臂系统的编码器实现,编码器根据数学应用题文本从大脑系统中储存的语义知识中获取对应的语义信息序列,所述语义信息序列包括词语的语义向量序列
Figure 246426DEST_PATH_IMAGE001
与运算符的语义向量序列
Figure 632408DEST_PATH_IMAGE002
;其中,w i 表示词语i的语义向量,i=1,2,…,nn表示数学应用题文本中词语数目,词语包含数学应用题文本中单词,以及将数学应用题文本中数值映射得到的单词;o c 表示运算符c的语义向量,c=1,2,…, MM表示数学应用题领域涉及运算符的总数(例如,若数学应用题中仅涉及加减乘除
Figure 130254DEST_PATH_IMAGE003
四种运算符,则M=4)。
所述手臂系统中的编码器对所述词语的语义向量序列
Figure 259884DEST_PATH_IMAGE001
进行处理,获得初始词语表征序列
Figure 543098DEST_PATH_IMAGE004
,并利用初始词语表征序列获得用于表征数学应用题整体的初始目标表征q 1,初始目标表征为整个数学应用题的初始表征,后续阶段会进行更新。具体实现方式可以使用简单的序列模型(如LSTM)或复杂模型(如BERT)等多种模型;编码器还将运算符的语义向量序列
Figure 834402DEST_PATH_IMAGE005
作为初始运算符表征序列
Figure 570277DEST_PATH_IMAGE006
;其中,
Figure 985821DEST_PATH_IMAGE007
表示词语i的初始词语表征,
Figure 123542DEST_PATH_IMAGE008
表示运算符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)所述问题图谱,用于组织上一推理步骤结束后获得的信息,问题图谱定义为
Figure 585747DEST_PATH_IMAGE009
,其中,
Figure 808918DEST_PATH_IMAGE010
表示当前推理步骤t中,利用上一推理步骤结束后获得的信息构建的问题图谱;V表示节点集合,包括:文本表征与目标表征,所述文本表征包括词语表征与运算符表征;E表示边集合,包括:词语与词语的关系,词语与运算符的关系,通过语法分析工具(例如,Stanfordnlp)自动建立的同一子句内词语之间的依存语法关系,以及通过层次注意力机制计算的词语与目标的关系(通过每个词语的表征与目标表征计算出的每个词语与目标表征的关系);第一次推理步骤时,词语与词语的关系以及词语与运算符的关系均为大脑系统中储存关系知识。
本领域技术人员可以理解,依存语法关系为行业术语,两个词语之间存在的依存语法关系包括:主谓关系、动宾关系等。
(B2)上下文感知模块,用于将上下文信息引入问题图谱,通过上下文感知的方式获得当前推理步骤的文本表征序列,所述文本表征序列包括词语表征序列与运算符表征序列。
此部分所述通过上下文感知的方式获得当前推理步骤的文本表征序列的优选实施方式如下:
所有词语均各自通过上下文感知的方式获得当前推理步骤t的词语表征,构成当前推理步骤t的词语表征序列;所有运算符均各自通过上下文感知的方式获得当前推理步骤t的运算符表征,构成当前推理步骤t的运算符表征序列;由当前推理步骤t的词语表征序列与当前推理步骤t的运算符表征序列构成当前推理步骤t的文本表征序列。其中:
对于词语i,通过上下文感知的方式获得当前推理步骤t的词语表征
Figure 529618DEST_PATH_IMAGE011
的方式表示为:
Figure 521845DEST_PATH_IMAGE012
Figure 420531DEST_PATH_IMAGE013
Figure 130998DEST_PATH_IMAGE014
Figure 625695DEST_PATH_IMAGE015
其中,q t 表示当前推理步骤t的目标表征,其由上一推理步骤生成;
Figure 738008DEST_PATH_IMAGE016
表示词语i与目标表征q t 的关系,属于词语与目标的关系;
Figure 807595DEST_PATH_IMAGE017
Figure 5358DEST_PATH_IMAGE018
分别表示上一推理步骤t-1的词语j、词语k的词语表征,
Figure 553014DEST_PATH_IMAGE019
表示上一推理步骤t-1中词语i与词语j的关系,n表示数学应用题文本中词语数目;
Figure 34680DEST_PATH_IMAGE020
表示与词语i存在依存语法关系的词语构成的集合(通过问题图谱中确定);
Figure 9589DEST_PATH_IMAGE021
表示各类表征拼接得到的信息,
Figure 694648DEST_PATH_IMAGE022
表示向量的拼接操作;
Figure 780416DEST_PATH_IMAGE023
表示词语i的第一中间表征,
Figure 349544DEST_PATH_IMAGE024
表示sigmoid函数,
Figure 229776DEST_PATH_IMAGE025
Figure 136552DEST_PATH_IMAGE026
均为权重矩阵,
Figure 540857DEST_PATH_IMAGE027
Figure 482268DEST_PATH_IMAGE028
均为偏置项;f i 表示控制已有知识保留的第一比例系数,
Figure 64559DEST_PATH_IMAGE029
Figure 458632DEST_PATH_IMAGE030
分别表示当前推理步骤t、上一推理步骤t-1的词语i的词语表征。
对于运算符c,通过上下文感知的方式获得当前推理步骤t的运算符表征
Figure 902514DEST_PATH_IMAGE031
的方式表示为:
Figure 432852DEST_PATH_IMAGE032
Figure 186044DEST_PATH_IMAGE033
Figure 67413DEST_PATH_IMAGE034
其中,
Figure 813521DEST_PATH_IMAGE035
表示运算符c的中间表征,
Figure 463945DEST_PATH_IMAGE036
Figure 388039DEST_PATH_IMAGE037
均为权重矩阵,
Figure 756703DEST_PATH_IMAGE038
Figure 791655DEST_PATH_IMAGE039
均为偏置项;f c 表示控制已有知识保留的第二比例系数;
Figure 309968DEST_PATH_IMAGE040
表示上一推理步骤t-1中词语i与运算符c的关系;
Figure 404963DEST_PATH_IMAGE041
表示上一推理步骤t-1的运算符c的运算符表征。
(B3)符号预测模块,用于通过当前推理步骤的文本表征序列以及当前推理步骤的目标表征预测当前推理步骤的符号。
符号预测的优选实施方式如下:
利用层次注意力机制评估当前推理步骤t的目标表征q t 与当前推理步骤t的文本表征序列中每个词语表征的相关性,并基于词语表征的相关性对词语表征序列加权求和获得上下文向量c t ;通过指针-生成网络根据当前推理步骤t的目标表征q t 、上下文向量c t 、以及当前推理步骤t的文本表征序列,预测当前推理步骤t的符号y t ;其中,当前推理步骤t的符号y t 来自外部符号集或者来自数学应用题文本的数值集合。
预测符号y t 来自外部符号集的概率:
Figure 260923DEST_PATH_IMAGE042
其中,
Figure 99566DEST_PATH_IMAGE024
表示sigmoid函数,
Figure 724583DEST_PATH_IMAGE043
Figure 239746DEST_PATH_IMAGE044
分别表示权重矩阵与偏置项;外部符号集表示为
Figure 317424DEST_PATH_IMAGE045
Figure 959758DEST_PATH_IMAGE046
表示运算符集合,
Figure 439281DEST_PATH_IMAGE047
表示常数集合。
预测符号y t 来自外部符号集的情况下的概率分布
Figure 626811DEST_PATH_IMAGE048
,以及预测符号y t 来自数学应用题文本的数值集合
Figure 191784DEST_PATH_IMAGE049
情况下的概率分布
Figure 637809DEST_PATH_IMAGE050
Figure 706259DEST_PATH_IMAGE051
Figure 828805DEST_PATH_IMAGE052
其中,
Figure 615495DEST_PATH_IMAGE053
Figure 599632DEST_PATH_IMAGE054
均为权重矩阵,
Figure 53747DEST_PATH_IMAGE055
Figure 603587DEST_PATH_IMAGE056
均为权重向量,T为矩阵转置符号,
Figure 143153DEST_PATH_IMAGE057
Figure 665401DEST_PATH_IMAGE058
均为偏置项;若符号y t 是来自运算符集合的运算符,则概率分布
Figure 974023DEST_PATH_IMAGE059
Figure 189103DEST_PATH_IMAGE060
为符号y t 的运算符表征
Figure 199654DEST_PATH_IMAGE061
,否则,为相应常数的表征;若符号y t 是来自数学应用题文本的数值集合
Figure 525593DEST_PATH_IMAGE062
中的数值,则概率分布
Figure 688721DEST_PATH_IMAGE059
Figure 809124DEST_PATH_IMAGE063
为符号y t 的词语表征。
最终符号y t 在符号集合
Figure 74014DEST_PATH_IMAGE064
上的概率分布
Figure 938065DEST_PATH_IMAGE065
表示为:
Figure 221279DEST_PATH_IMAGE066
其中,
Figure 512583DEST_PATH_IMAGE067
依据概率分布
Figure 497725DEST_PATH_IMAGE065
,预测当前推理步骤t的符号y t 。由于y t 在后续模块中参与计算下一推理步骤的目标表征
Figure 165467DEST_PATH_IMAGE068
,从而指导下一个符号y t+1的生成,因此推理步骤t
Figure 37608DEST_PATH_IMAGE069
实际上可表示为
Figure 765392DEST_PATH_IMAGE070
(含义详见后文的说明)。
(B4)交换模块,用于基于当前推理步骤的文本表征序列、当前推理步骤的目标表征、以及预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识进行约束。
如果当前推理步骤t的符号y t 不是设定的终止符号,由交换模块生成下一推理步骤的目标表征,优选实施方式如下:
基于当前推理步骤的文本表征序列,通过上下文感知模块计算当前推理步骤t的词语与运算符的关系,再结合当前推理步骤t的目标表征q t 计算临时目标向量
Figure 736366DEST_PATH_IMAGE071
,最后,结合临时目标向量
Figure 207799DEST_PATH_IMAGE071
与预测出的当前推理步骤的符号生成下一推理步骤的目标表征q t+1
其中,基于当前推理步骤的文本表征序列,通过上下文感知模块计算当前推理步骤t的词语与运算符的关系,再结合当前推理步骤t的目标表征q t 计算临时目标向量
Figure 200025DEST_PATH_IMAGE071
的步骤包括:
当前推理步骤的文本表征序列包括当前推理步骤的词语表征序列与运算符表征序列;对于词语i与运算符c,利用上一推理步骤t-1的词语i与运算符c的关系
Figure 98711DEST_PATH_IMAGE072
、当前推理步骤t的词语表征
Figure 792867DEST_PATH_IMAGE073
,以及当前推理步骤t的运算符表征
Figure 802411DEST_PATH_IMAGE074
计算当前推理步骤t的词语i与运算符c的关系
Figure 180303DEST_PATH_IMAGE075
,表示为:
Figure 984311DEST_PATH_IMAGE076
Figure 182074DEST_PATH_IMAGE077
Figure 480462DEST_PATH_IMAGE078
其中,
Figure 447281DEST_PATH_IMAGE079
Figure 422191DEST_PATH_IMAGE080
均为权重矩阵,
Figure 107250DEST_PATH_IMAGE081
Figure 973444DEST_PATH_IMAGE082
均为偏置项;
Figure 529190DEST_PATH_IMAGE083
表示当前推理步骤t中词语i与运算符c的中间关系;
Figure 206159DEST_PATH_IMAGE084
表示sigmoid函数,
Figure 112935DEST_PATH_IMAGE085
表示控制已有知识保留的第三比例系数。
结合当前推理步骤t的词语与运算符的关系,与推理步骤t的目标表征q t 计算临时目标向量
Figure 750196DEST_PATH_IMAGE071
,表示为:
Figure 691607DEST_PATH_IMAGE086
Figure 8319DEST_PATH_IMAGE087
Figure 402391DEST_PATH_IMAGE088
Figure 344809DEST_PATH_IMAGE089
Figure 140726DEST_PATH_IMAGE090
其中,
Figure 893919DEST_PATH_IMAGE091
表示各类表征拼接得到的信息,M表示数学应用题领域涉及运算符的总数,
Figure 775287DEST_PATH_IMAGE092
Figure 757281DEST_PATH_IMAGE093
分别表示当前推理步骤t的词语j、词语k的词语表征,
Figure 407705DEST_PATH_IMAGE094
表示当前推理步骤t-1的词语i与词语j的关系,迭代的推理步骤中词语i与词语j的关系保持不变,n表示数学应用题文本中词语数目,
Figure 597378DEST_PATH_IMAGE095
表示与词语i存在依存语法关系的词语构成的集合;
Figure 700463DEST_PATH_IMAGE096
Figure 984683DEST_PATH_IMAGE097
均为权重矩阵,
Figure 755192DEST_PATH_IMAGE098
Figure 850187DEST_PATH_IMAGE099
均为偏置项;
Figure 706148DEST_PATH_IMAGE100
表示词语i的第二中间表征;
Figure 279212DEST_PATH_IMAGE101
表示词语i与目标表征q t 的关系,属于词语与目标的关系;
Figure 652031DEST_PATH_IMAGE102
表示利用各个词语的第二中间表征计算出的中间信息;
Figure 917927DEST_PATH_IMAGE103
表示控制已有知识保留的第四比例系数。
所述结合临时目标向量
Figure 261184DEST_PATH_IMAGE071
与预测出的当前推理步骤的符号,生成下一推理步骤的目标表征q t+1的过程如下:
(1)如果当前步骤t预测的符号y t 是运算符,则将临时目标向量
Figure 637938DEST_PATH_IMAGE071
输入如下第一前馈网络Decompose1获得下一推理步骤的目标表征q t+1,表示为:
Figure 632308DEST_PATH_IMAGE104
其中,第一前馈网络Decompose1内部处理过程表示为:
Figure 69106DEST_PATH_IMAGE105
Figure 634079DEST_PATH_IMAGE106
其中,
Figure 548946DEST_PATH_IMAGE107
表示第二临时目标向量,
Figure 899287DEST_PATH_IMAGE108
是上下文向量,
Figure 506986DEST_PATH_IMAGE109
是符号y t 对应的运算符表征,
Figure 559255DEST_PATH_IMAGE110
为第一前馈网络中的权重矩阵,符号
Figure 277812DEST_PATH_IMAGE111
表示两个向量逐元素相乘。
如之前所述,推理结果形式化为表达式对应的前序表达式树,而表达式树中叶子节点是数值,非叶子节点是运算符,因此,当前步骤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的左子树表征
Figure 981195DEST_PATH_IMAGE112
。该前馈网络Encode_tree在表达式树中自底向上从倒数第二层开始逐层计算,对运算符节点u对应左子树中的每一层,将节点y被推理生成时的表征
Figure 759795DEST_PATH_IMAGE113
(对于当前步骤t,若推理生成的是运算符,
Figure 564940DEST_PATH_IMAGE114
;若推理生成的是数值,则
Figure 87188DEST_PATH_IMAGE115
),以及节点y左子树表征
Figure 395810DEST_PATH_IMAGE116
与右子树表征
Figure 93114DEST_PATH_IMAGE117
按如下方式进行融合:
Figure 854397DEST_PATH_IMAGE118
其中,
Figure 180336DEST_PATH_IMAGE119
Figure 343464DEST_PATH_IMAGE120
均为前馈网络Encode_tree中的权重矩阵,
Figure 713134DEST_PATH_IMAGE121
表示融合特征。如果节点y为运算符节点u的左子节点,则将
Figure 227292DEST_PATH_IMAGE121
作为运算符节点u的左子树表征
Figure 91343DEST_PATH_IMAGE122
;如果节点y不为运算符节点u的左子节点,融合表征
Figure 374557DEST_PATH_IMAGE121
会进一步被用作节点y的上层节点的左子树表征
Figure 682173DEST_PATH_IMAGE123
或右子树表征
Figure 418047DEST_PATH_IMAGE124
(取决于y是其左子节点还是右子节点)。最终通过运算符节点u的左子节点以及该左子节点的左子树表征与右子树表征获得的融合特征作为运算符节点u的左子树表征
Figure 820210DEST_PATH_IMAGE122
再利用第二前馈网络Decompose2根据运算符节点u的左子树表征
Figure 957930DEST_PATH_IMAGE122
与该运算符节点u对应的临时目标向量
Figure 934982DEST_PATH_IMAGE125
计算下一推理步骤的目标表征q t+1,表示为:
Figure 892574DEST_PATH_IMAGE126
,计算公式如下:
Figure 629586DEST_PATH_IMAGE127
Figure 621813DEST_PATH_IMAGE128
其中,运算符节点u对应的临时目标向量
Figure 254919DEST_PATH_IMAGE125
是指在预测出运算符节点u对应运算符的推理步骤中,所计算出的临时目标向量,计算方式即为前文提供的公式
Figure 713189DEST_PATH_IMAGE071
Figure 722733DEST_PATH_IMAGE129
表示第三临时目标向量,
Figure 569467DEST_PATH_IMAGE130
为第二前馈网络Decompose2的权重矩阵。此时,依据q t+1推理得到的下一个符号y t+1是运算符节点u的右子节点。
在以上过程中,考虑大脑系统中储存的规则知识,即数学交换律这一规则知识,对满足交换律的运算符(“+,×”),交换其左右两边的运算对象得到的结果相同。此时,优先生成其左子节点与右子节点无本质区别。为实现该效果,大脑储存的规则知识被用于判断y t 是否满足交换律:当符号y t 是运算符,且满足交换律时,额外利用符号y t 对应运算符节点的右子树表征反向生成左子节点的目标向量,即
Figure 639054DEST_PATH_IMAGE131
,最小化其与正向生成的左子节点目标向量的差距,进而隐式地提高推理得到的q t+1的合理性。该差距定义为交换损失
Figure 86085DEST_PATH_IMAGE132
Figure 899320DEST_PATH_IMAGE133
其中,
Figure 600560DEST_PATH_IMAGE134
是将右子树输入网络Encode_tree获得的右子树表征,具体方式与前文介绍的方式类似,区别主要在于,前文输入的是运算符节点对应的左子树,因此得到的是运算符节点对应的左子树表征,此处需要输入的是运算符节点对应的右子树,因此得到的是运算符节点对应的右子树表征。当根据规则知识发现y t 不满足交换律时,在当前步骤t不计算交换损失。
以上为知识应用这一认知过程的主要实现方式,在完成一道或一个批次数学应用题后需要对大脑系统的知识进行更新。
(2)知识更新与知识储存。
本发明实施例中,基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,采用梯度反向传播的方式自动更新知识。
将符号预测损失记为
Figure 841048DEST_PATH_IMAGE135
,表示为:
Figure 276840DEST_PATH_IMAGE136
其中,m表示训练数据集中的相应数学应用题文本P对应表达式的运算符与词语的总数,每一个推理步骤预测出一个符号,预测出的符号为一个运算符或一个词语,总的推理步骤数目等于训练数据集中的相应数学应用题文本P对应表达式的运算符与词语的总数my t 表示当前推理步骤t预测的符号,其结合之前推理步骤预测的符号
Figure 628187DEST_PATH_IMAGE137
预测出y t
将交换损失、预测的表达式与相应数学应用题文本对应表达式之间的差异构建的符号预测损失相结合,构成总的训练损失函数,总的训练损失函数
Figure 449512DEST_PATH_IMAGE138
表示为:
Figure 595323DEST_PATH_IMAGE139
其中,
Figure 751366DEST_PATH_IMAGE140
用于控制符号预测损失与交换损失的平衡,系统通过Adam算法最小化上述总的训练损失函数
Figure 906404DEST_PATH_IMAGE138
进行训练。
如图2所示,根据总的训练损失函数采用梯度反向传播的方式更新语义知识,以及根据更新后的语义知识更新关系知识;语义知识包括:词语的语义向量与运算符的语义向量,关系知识包括:词语与词语的关系,以及词语与运算符的关系;
其中,根据更新后的语义知识更新关系知识包括:
对于词语与词语的关系,利用更新后的语义知识重新估计词语与词语的关系,设计过滤器对重新估计的词语与词语的关系进行判断,确定最终的词语与词语的关系,表示为:
Figure 847815DEST_PATH_IMAGE141
Figure 164527DEST_PATH_IMAGE142
其中,
Figure 306402DEST_PATH_IMAGE143
表示重新估计的词语i与词语j的关系,
Figure 999552DEST_PATH_IMAGE144
表示更新后的词语i的语义向量,
Figure 61049DEST_PATH_IMAGE145
表示更新后的词语j的语义向量,
Figure 814241DEST_PATH_IMAGE146
表示所有词语对之间的平均距离;
Figure 430030DEST_PATH_IMAGE147
表示最终的词语i与词语j的关系,
Figure 176138DEST_PATH_IMAGE148
表示设定的词语与词语的关系强度阈值。
对于词语与运算符的关系,利用更新后的语义知识重新估计词语与运算符的关系,设计过滤器对重新估计的词语与运算符的关系进行判断,确定最终的词语与运算符的关系,表示为:
Figure 826562DEST_PATH_IMAGE149
Figure 750656DEST_PATH_IMAGE150
其中,
Figure 384900DEST_PATH_IMAGE151
表示重新估计的词语i与运算符c的关系,
Figure 170584DEST_PATH_IMAGE152
表示更新后的词语c的语义向量,
Figure 675515DEST_PATH_IMAGE153
最终的词语i与运算符c的关系,
Figure 770510DEST_PATH_IMAGE154
表示词语与运算符的关系强度阈值。
知识更新主要是针对语义知识和关系知识进行更新,规则知识作为确定性的数学规律不进行更新,最终所有更新后的知识被存储与大脑系统中。
二、测试阶段。
将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。此部分的主要技术细节可参照前述训练阶段中知识应用认知过程的介绍,故不再赘述;同时,获得表达式中,也无需进行知识更新。
为了更加清晰地展现出本发明所提供的技术方案及所产生的技术效果,下面以具体实施例对本发明实施例所提供一种基于知识学习的数学应用题智能解题方法进行详细描述。
一、问题定义与形式化。
数学应用题自动求解任务的目的是基于数学应用题文本(问题文本)进行逻辑推理,生成数学表达式计算问题的答案。在本发明实施例中,问题文本P定义为n个词语组成的序列
Figure 360891DEST_PATH_IMAGE155
,其中数值的集合定义为
Figure 448802DEST_PATH_IMAGE156
(如:{1,2})。由于在解题推理中不关心这些数的具体值,建模时所有数值都被映射为特殊单词“NUM”。问题P的答案
Figure 73818DEST_PATH_IMAGE157
是问题文本的待求变量(如:水果总数为“5”),通过一个数学表达式E P 推导得出。表达式E P 定义为一个由m个运算符、常数或问题中数值组成的序列
Figure 605294DEST_PATH_IMAGE158
,其中每个元素y都是问题P的解码符号集合
Figure 682971DEST_PATH_IMAGE159
的一个元素。符号集合
Figure 59726DEST_PATH_IMAGE159
由运算符集合
Figure 287051DEST_PATH_IMAGE160
(如:
Figure 723849DEST_PATH_IMAGE161
),常数集合
Figure 554402DEST_PATH_IMAGE162
(如:
Figure 734847DEST_PATH_IMAGE163
)和数值集合
Figure 583723DEST_PATH_IMAGE156
组成,即
Figure 191422DEST_PATH_IMAGE164
,对于所有数学应用题文本,使用相同的运算符集合
Figure 978113DEST_PATH_IMAGE165
与常数集合
Figure 227829DEST_PATH_IMAGE166
,每个数学应用题文本的数值集合
Figure 681944DEST_PATH_IMAGE156
,由数学应用题文本内容确定。任务目标是学习一个模型,读取问题文本P,生成表达式E P ,并基于E P 计算问题待求变量
Figure 211276DEST_PATH_IMAGE157
(即答案)。
二、数据收集与预处理。
1、数据收集。
本发明实施例中,使用广义上的数学应用题作为输入数据集,问题需包括题目文本、数学表达式和数值答案。此类数据样例,如腾讯公司发布的开源数学应用题数据集(Math23K)以及Microsoft公司发布的开源数据集(MAWPS)。此外,也可以通过网络爬取或线下收集中小学生的作业或考试数学题集获得输入数据集。
2、数据预处理。
在训练模型之前,需要对收集的数据进行预处理以保证模型的效果。预处理主要包括以下内容:
1)数据过滤。
本发明实施例中,主要针对仅包含一个问题、答案为数值且可以通过一个数学表达式直接计算得到的数学应用题,因此需要选择数据集中仅含有一个数学表达式和数值答案的题目,过滤掉缺少表达式或有两个及以上表达式、答案的题目。
2)抽样
在每类数据集中分别进行随机抽样,选用原始数据集的子集构建训练数据集训练模型(即图1所示系统模型)。
三、系统的建立,以及系统的原理。
如图2所示,本发明的基于知识学习的数学应用题求解系统包括两个子系统:大脑系统和手臂系统。大脑系统中进行知识储存过程和知识更新过程;手臂系统中进行知识运用过程。
1、知识储存。
知识储存关注三种类型的数学知识:
(1)语义知识,指词语、运算符的语义内涵。在本发明实施例中,表示为概念空间内的语义向量
Figure 750842DEST_PATH_IMAGE167
Figure 273090DEST_PATH_IMAGE168
,其中,
Figure 581712DEST_PATH_IMAGE169
Figure 780481DEST_PATH_IMAGE170
分别是词语i,运算符c的语义向量,NM分别表示大脑系统中存储的词语数目、运算符数目。
本发明实施例中,根据大量试题文本与表达式利用预训练模型初始化大脑内的语义知识。
(2)关系知识,包括词语—词语关系(也称为常识知识,如:苹果—水果)、词语—运算符关系(如:求和—+)两种类型。在本发明实施例中,对词语i和词语j,使用
Figure 807343DEST_PATH_IMAGE171
表示它们的关系;对词语i和运算符c,使用
Figure 133282DEST_PATH_IMAGE172
表示它们的关系。
Figure 561989DEST_PATH_IMAGE171
Figure 682392DEST_PATH_IMAGE172
均是属于[0,1]区间内的实值,采用随机生成的方式进行初始化。
(3)规则知识,包括交换律、结合律、分配律等数学规则,基于人类先验直接获得,本发明后续仅以交换律为例进行说明。
在大脑系统中,语义知识和关系知识共同组成一个知识图谱,节点由词语和运算符构成,节点的表征为
Figure 702211DEST_PATH_IMAGE169
Figure 831841DEST_PATH_IMAGE170
,边的权重为
Figure 115055DEST_PATH_IMAGE171
Figure 406359DEST_PATH_IMAGE172
,按照后续第3部分介绍的知识更新方法随着不断求解数学应用题进行更新。
2、知识应用。
数学应用题文本在手臂系统进行读入,并在如图3所示知识应用过程中完成求解:在手臂系统读入数学应用题文本后,结合大脑系统中的知识,经过编码器与解码器进行认知推理,生成数学表达式作为解答。需要说明的是,图3所示的数学应用题文本的内容仅为示例。
(1)编码器。
编码器输入从大脑系统中提取出的数学应用题文本的词语序列
Figure 407813DEST_PATH_IMAGE173
的语义向量序列
Figure 324822DEST_PATH_IMAGE174
,输出词语表征序列
Figure 462542DEST_PATH_IMAGE175
与解码器的初始目标向量表征q 1。具体通过简单的序列模型(如LSTM)或者复杂模型(如BERT)进行实现。
(2)解码器。
解码器中具体包括问题图谱、上下文感知模块、符号预测模块与交换模块。四个部分具体介绍如下:
(A)问题图谱定义为
Figure 924748DEST_PATH_IMAGE176
,用于统一组织上一推理步骤t-1结束后的语义知识与关系知识。在本发明实施例中,点集V包括三种类型的节点:问题文本中词语的表征
Figure 147919DEST_PATH_IMAGE177
、所有运算符的表征
Figure 370084DEST_PATH_IMAGE178
,以及目标向量表征q t 。边集E包括四种类型的边:问题文本中词语—词语关系
Figure 362310DEST_PATH_IMAGE179
、词语—运算符关系
Figure 260996DEST_PATH_IMAGE180
、通过语法分析工具Stanfordnlp自动建立的同一子句内词语之间的依存语法关系,以及通过层次注意力机制计算的的词语—目标关系
Figure 971463DEST_PATH_IMAGE181
。值得注意的是,
Figure 230275DEST_PATH_IMAGE182
初始化为从大脑中提取出的运算符语义知识
Figure 77008DEST_PATH_IMAGE183
与关系知识
Figure 146596DEST_PATH_IMAGE184
,因此问题图谱可视为大脑知识在给定问题上的局部子图。
(B)上下文感知模块用以将上下文信息引入问题图谱
Figure 78780DEST_PATH_IMAGE010
,从而能够根据当前步骤调整已有知识的使用方式,更好地实现当前推理目标。针对图谱中的语义知识,考虑到人类的思考过程采用目标—词语—运算符的层次推理结构,在本发明实施例中,设计了层次卷积神经网络(HGCN)自底向上对问题图谱的节点表征(语义知识)进行传播。对于词语i,其下层邻居包括目标向量与问题文本中的其他的词语表征,使用遗忘网络并通过不同的非线性激活函数得到其当前推理步骤t的表征
Figure 639817DEST_PATH_IMAGE029
,计算方式如下:
Figure 341057DEST_PATH_IMAGE012
Figure 581546DEST_PATH_IMAGE013
Figure 1026DEST_PATH_IMAGE014
Figure 617952DEST_PATH_IMAGE015
其中,
Figure 688545DEST_PATH_IMAGE185
表示各类表征(词语i下层邻居的表征)拼接得到的信息。遗忘门
Figure 99935DEST_PATH_IMAGE186
第一比例系数,控制已有知识保留的比例,通过前馈神经网络和
Figure 741132DEST_PATH_IMAGE187
函数(非线性激活函)数得到。考虑到这部分参数在之前已经做了逐一说明,故不再赘述,后面各个公式也是如此。
对运算符c,其下层邻居即为问题文本中的词语,采用如下类似的方式计算当前推理步骤t的运算符表征
Figure 161749DEST_PATH_IMAGE031
Figure 588313DEST_PATH_IMAGE032
Figure 170604DEST_PATH_IMAGE033
Figure 830256DEST_PATH_IMAGE034
其中,第二比例系数也属于f c 遗忘门,取值范围为[0,1]。
根据当前推理步骤的语义知识,使用前馈神经网络进一步获得融合上下文信息的当前推理步骤所需要的关系知识,当然,此处更新操作一般是在当前推理步骤结束后执行,且只有当前推理步骤预测出的字符不为终止字符时执行。由于词语—词语关系(常识知识)不随问题不同而改变(即
Figure 523405DEST_PATH_IMAGE188
),因此只需计算
Figure 568590DEST_PATH_IMAGE189
,公式如下:
Figure 56203DEST_PATH_IMAGE190
Figure 671993DEST_PATH_IMAGE191
Figure 168833DEST_PATH_IMAGE192
同时,为利用上述信息更好地生成下一步骤的目标向量,再次使用层次卷积神经网络自顶向下在问题图谱中进行传播,按如下方式计算临时目标向量
Figure 567060DEST_PATH_IMAGE071
Figure 756733DEST_PATH_IMAGE193
Figure 859818DEST_PATH_IMAGE194
Figure 894770DEST_PATH_IMAGE195
Figure 914548DEST_PATH_IMAGE196
Figure 9543DEST_PATH_IMAGE197
其中,
Figure 599924DEST_PATH_IMAGE198
表示各类表征(主要是词语i上层邻居的表征)拼接得到的信息。
本发明实施例中,问题图谱的层次为目标—词语—运算符,底层是目标表征,中间层是词语表征,顶层是运算符表征。对目标表征,其上层邻居是所有词语表征,词语表征的上层邻居是词语表征(因为词语之间有边)和运算符表征;相应的运算符的下层邻居是词语表征(运算符之间没有边),词语表征的下层邻居是词语表征和目标表征。
(C)符号预测模块根据目标向量q t 、词语表征和运算符表征生成当前推理步骤的符号。为了抽取局部语义辅助目标导向的符号预测,本发明实施实例中,首先利用层次注意力机制评估目标向量q t 与每个词语表征
Figure 438567DEST_PATH_IMAGE199
的相关性,并基于相关性对
Figure 329163DEST_PATH_IMAGE200
加权求和获得上下文向量c t 。再通过指针-生成网络根据目标向量q t 、上下文向量c t 、词语表征和运算符表征,预测出符号y t ,其中需要计算y t 来自外部符号集(
Figure 345791DEST_PATH_IMAGE201
)的概率:
Figure 423469DEST_PATH_IMAGE202
y t 来自外部符号集的情况下的概率分布:
Figure 800223DEST_PATH_IMAGE203
以及y t 来自数学应用题文本的数值集合
Figure 279746DEST_PATH_IMAGE156
的情况下的概率分布:
Figure 965811DEST_PATH_IMAGE204
Figure 530785DEST_PATH_IMAGE205
中,若y t 为运算符,则
Figure 711231DEST_PATH_IMAGE206
,否则为常数(如
Figure 45260DEST_PATH_IMAGE207
)待优化的表征向量。
Figure 400761DEST_PATH_IMAGE208
中的
Figure 718610DEST_PATH_IMAGE209
是问题所含数值的语义表征。
Figure 702747DEST_PATH_IMAGE210
为参数矩阵,
Figure 891283DEST_PATH_IMAGE211
Figure 919150DEST_PATH_IMAGE212
为权重向量,
Figure 458716DEST_PATH_IMAGE213
Figure 980964DEST_PATH_IMAGE214
Figure 289586DEST_PATH_IMAGE215
为偏置项。基于上述三个概率分布,y t 在符号集合
Figure 504667DEST_PATH_IMAGE216
上的概率分布
Figure 16682DEST_PATH_IMAGE217
表示为:
Figure 342621DEST_PATH_IMAGE218
依据概率
Figure 505749DEST_PATH_IMAGE217
,符号预测模块生成步骤t的符号y t ,并根据问题P的真实表达式
Figure 891731DEST_PATH_IMAGE219
,最小化如下符号预测损失函数
Figure 389577DEST_PATH_IMAGE220
Figure 253628DEST_PATH_IMAGE221
(D)交换模块将规则知识(例如,交换律)应用于下一推理步骤的目标向量生成过程中,进一步提高推理结果的合理性。
本发明实施实例中,如果当前推理步骤t的符号y t 是运算符,则会利用第一前馈网络Decompose1将上下文感知模块获得的临时目标向量
Figure 536842DEST_PATH_IMAGE071
分解为
Figure 828146DEST_PATH_IMAGE222
,依据下一推理步骤的目标表征q t+1推理得到的下一个符号作为符号y t 的左子节点。如果当前推理步骤t的符号y t 是数值,则在已生成的表达式树上确定距该数值节点最近、且不存在右子树的运算符节点u,将该运算符节点u的左子树表征
Figure 311823DEST_PATH_IMAGE223
与对应的临时目标向量
Figure 713986DEST_PATH_IMAGE224
输入前馈网络Decompose2计算
Figure 117285DEST_PATH_IMAGE225
。在该过程中,考虑数学交换律这一规则知识,即对满足交换律的运算符(“+,×”),交换其左右两边的运算对象得到的结果相同。此时,优先生成其左子节点与右子节点无本质区别。因此利用规则知识判断y t 是否满足交换律,若满足(即y t 为“+,×”)则基于
Figure 297600DEST_PATH_IMAGE071
y t 的右子树表征
Figure 520771DEST_PATH_IMAGE226
反向生成额外的左子目标,并期望其与真实左子目标相近,此时本发明设计如下交换损失
Figure 726624DEST_PATH_IMAGE227
(若y t 不满足交换律则当前步骤t不计算交换损失):
Figure 718851DEST_PATH_IMAGE228
综合
Figure 633849DEST_PATH_IMAGE227
Figure 344316DEST_PATH_IMAGE220
,最终知识应用过程的训练损失函数
Figure 88281DEST_PATH_IMAGE138
如下:
Figure 200593DEST_PATH_IMAGE139
其中,
Figure 253869DEST_PATH_IMAGE140
用于控制符号预测损失与交换损失的平衡。针对问题P和对应的目标表达式E P ,系统通过Adam算法最小化上述损失函数
Figure 451632DEST_PATH_IMAGE138
进行训练。
3、知识更新。
在完成一道或一个批次数学应用题后对语义知识、关系知识的自动更新。通过对比系统推理生成的表达式与正确表达式,采用梯度反向传播的方式自动更新语义知识;依据更新后的语义知识对关系知识进行重新评估,并设计了过滤器来消除知识冗余,去除不合理的知识。规则知识作为确定性的数学规律不进行更新。
语义知识通过梯度反向传播的方式自动更新,词语i与运算符c更新后的语义向量表示为
Figure 999288DEST_PATH_IMAGE229
Figure 966107DEST_PATH_IMAGE230
,利用更新后的语义知识,依据语义距离重新估计词语与词语的关系,词语与运算符的关系强弱。
对词语与词语的关系,公式如下:
Figure 954398DEST_PATH_IMAGE231
其中,
Figure 373878DEST_PATH_IMAGE232
是所有词语对之间的平均距离,用于调整词语对关系的分布。然而,由于上式输出结果属于0到1的区间,代表所有词语对之间均存在一定强度的关系,从而导致不合理的关系知识出现。为了消除这些冗余,本发明设计了过滤器进一步提高关系知识的质量,公式如下:
Figure 990804DEST_PATH_IMAGE233
其中,
Figure 546550DEST_PATH_IMAGE234
表示设定的词语与词语的关系强度阈值。
词语与运算符的关系同样采用过滤器机制提升知识合理性,表示为:
Figure 223519DEST_PATH_IMAGE235
Figure 379563DEST_PATH_IMAGE236
其中,
Figure 269022DEST_PATH_IMAGE237
表示词语与运算符的关系强度阈值。
更新后的语义向量与更新后的关系向量,被存储于大脑系统中,供下一次手臂系统执行知识应用认知过程时调用。
本发明实施例上述方案主要获得如下有益效果:
(1)设计了认知框架与知识学习过程,构建了更接近通用型人工智能目标的智能系统,系统可以作为一种通用框架,融合多种机器学习任务,为实现强人工智能提供了一定的基础。
(2)建立了引入知识学习的数学应用题求解方法,有助于提高应用题求解的准确性与可解释性。同时,学习到的数学知识具有一定的实际应用价值,可以作为众多机器学习任务的先验信息改善任务表现,也可进一步辅助教育平台搭建知识图谱,并基于此提供更好的个性化教育服务。
实施例二
本发明还提供一种基于知识学习的数学应用题智能解题系统,还参见图2,该系统主要包括:两个子系统,分别称为大脑系统与手臂系统;
训练阶段:利用数学应用题数据构建训练数据集,数学应用题数据包括:数学应用题文本与对应表达式;基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程,大脑系统负责知识储存与知识更新两个认知过程,手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程;
测试阶段:将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。
该系统所涉及的主要细节在之前的实施例一中已经做了详细的说明,故不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (9)

1.一种基于知识学习的数学应用题智能解题方法,其特征在于,包括:
训练阶段:利用数学应用题数据构建训练数据集,数学应用题数据包括:数学应用题文本与对应表达式;构建智能解题系统,其包括两个子系统,分别称为大脑系统与手臂系统;基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程,大脑系统负责知识储存与知识更新两个认知过程,手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程;
测试阶段:将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果;
所述手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式包括:
所述手臂系统根据数学应用题文本从大脑系统中储存的语义知识中获取对应的语义信息序列,并根据数学应用题文本对应的语义信息序列获得数学应用题文本的初始文本表征序列与初始目标表征;其中,所述语义知识包括:词语的语义向量与运算符的语义向量;初始目标表征为整个数学应用题的初始表征;
所述手臂系统利用初始文本表征序列与初始目标表征,结合从大脑系统中储存的关系知识与规则知识通过迭代的推理步骤预测出数学应用题文本对应的表达式,推理步骤包括:
当前推理步骤中,利用上一推理步骤的文本表征序列、上一推理步骤生成的当前推理步骤的目标表征,以及从大脑系统中储存的知识中获取的关系知识,通过上下文感知的方式获得当前推理步骤的文本表征序列,并结合当前推理步骤的目标表征,预测当前推理步骤的符号,其中,关系知识包括:词语与词语的关系,以及词语与运算符的关系;若预测出的当前推理步骤的符号为设定的终止符号,则表示推理步骤结束;若预测出的当前推理步骤的符号不为设定的终止符号,则基于当前推理步骤的文本表征序列、当前推理步骤的目标表征、以及预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识进行约束,之后进入下一推理步骤;其中,所述规则知识为数学知识,属于先验知识,如果当前推理步骤为第一次推理步骤,则上一推理步骤的文本表征序列为所述初始文本表征序列,上一推理步骤生成的当前推理步骤的目标表征为所述初始目标表征。
2.根据权利要求1所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述手臂系统根据数学应用题文本从大脑系统中储存的语义知识中获取对应的语义信息序列,并根据数学应用题文本对应的语义信息序列获得数学应用题文本的初始文本表征序列与初始目标表征包括:
所述手臂系统中的编码器根据数学应用题文本从大脑系统中储存的语义知识中获取 对应的语义信息序列,所述语义信息序列包括词语的语义向量序列
Figure 758063DEST_PATH_IMAGE001
与运算符的语义向量序列
Figure 300820DEST_PATH_IMAGE002
;其中,w i 表示词语i的语义向量,i=1,2,…,nn表示数学应用题文本中词语数目,词语包含数学应用题文本中单词,以及将数学应用题文 本中数值映射得到的单词;o c 表示运算符c的语义向量,c=1,2,…,MM表示数学应用题领域 涉及运算符的总数;
所述手臂系统中的编码器对所述词语的语义向量序列
Figure 372682DEST_PATH_IMAGE001
进行处理,获 得初始词语表征序列
Figure 16153DEST_PATH_IMAGE003
,并利用初始词语表征序列获得初始目标表征q 1, 将运算符的语义向量序列
Figure 148057DEST_PATH_IMAGE002
作为初始运算符表征序列
Figure 142557DEST_PATH_IMAGE004
; 其中,
Figure 18110DEST_PATH_IMAGE005
表示词语i的初始词语表征,
Figure 47245DEST_PATH_IMAGE006
表示运算符c的初始运算符表征;初始词语表征序 列与初始运算符表征序列构成初始文本表征序列。
3.根据权利要求1所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述迭代的推理步骤通过所述手臂系统中的解码器实现;所述解码器包括:问题图谱、上下文感知模块、符号预测模块与交换模块;其中:
所述问题图谱,用于组织上一推理步骤结束后获得的信息,问题图谱定义为
Figure 84472DEST_PATH_IMAGE007
,其中,
Figure 566269DEST_PATH_IMAGE008
表示当前推理步骤t中,利用上一推理步骤结束后获得的信息构建 的问题图谱;V表示节点集合,包括:文本表征与目标表征,所述文本表征包括词语表征与运 算符表征;E表示边集合,包括:词语与词语的关系,词语与运算符的关系,同一子句内词语 之间的依存语法关系,以及词语与目标的关系;第一次推理步骤时,词语与词语的关系以及 词语与运算符的关系均为大脑系统中储存关系知识;其中,同一子句内词语之间的依存语 法关系通过语法工具获取,词语与目标的关系通过层次注意力机制计算,包括每个词语与 目标表征的关系;
所述上下文感知模块,用于将上下文信息引入问题图谱,通过上下文感知的方式获得当前推理步骤的文本表征序列,所述文本表征序列包括词语表征序列与运算符表征序列;
所述符号预测模块,用于通过当前推理步骤的文本表征序列以及当前推理步骤的目标表征预测当前推理步骤的符号;
所述交换模块,用于基于当前推理步骤的文本表征序列、当前推理步骤的目标表征、以及预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识进行约束。
4.根据权利要求3所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述通过上下文感知的方式获得当前推理步骤的文本表征序列包括:
所有词语均各自通过上下文感知的方式获得当前推理步骤t的词语表征,构成当前推理步骤t的词语表征序列;所有运算符均各自通过上下文感知的方式获得当前推理步骤t的运算符表征,构成当前推理步骤t的运算符表征序列;由当前推理步骤t的词语表征序列与当前推理步骤t的运算符表征序列构成当前推理步骤t的文本表征序列;其中:
对于词语i,通过上下文感知的方式获得当前推理步骤t的词语表征
Figure 481397DEST_PATH_IMAGE009
的方式表示为:
Figure 365040DEST_PATH_IMAGE010
Figure 573167DEST_PATH_IMAGE011
Figure 542260DEST_PATH_IMAGE012
Figure 759615DEST_PATH_IMAGE013
其中,q t 表示上一推理步骤生成的当前推理步骤t的目标表征,
Figure 497764DEST_PATH_IMAGE014
表示词语i与目标 表征q t 的关系,属于词语与目标的关系;
Figure 142372DEST_PATH_IMAGE015
Figure 628454DEST_PATH_IMAGE016
分别表示上一推理步骤t-1的词语j、词 语k的词语表征,
Figure 383921DEST_PATH_IMAGE017
表示上一推理步骤t-1中词语i与词语j的关系,n表示数学应用题 文本中词语数目;
Figure 242155DEST_PATH_IMAGE018
表示与词语i存在依存语法关系的词语构成的集合;
Figure 57665DEST_PATH_IMAGE019
表示各 类表征拼接得到的信息,
Figure 735771DEST_PATH_IMAGE020
表示向量的拼接操作;
Figure 29349DEST_PATH_IMAGE021
表示词语i的第一中间表征,
Figure 742090DEST_PATH_IMAGE022
表示 sigmoid函数,
Figure 728500DEST_PATH_IMAGE023
Figure 660946DEST_PATH_IMAGE024
均为权重矩阵,
Figure 758215DEST_PATH_IMAGE025
Figure 325463DEST_PATH_IMAGE026
均为偏置项;f i 表示控制已有知识保留 的第一比例系数,
Figure 482775DEST_PATH_IMAGE027
Figure 135473DEST_PATH_IMAGE028
分别表示当前推理步骤t、上一推理步骤t-1的词语i的词语表 征;
对于运算符c,通过上下文感知的方式获得当前推理步骤t的运算符表征
Figure 770854DEST_PATH_IMAGE029
的方式表示 为:
Figure 458187DEST_PATH_IMAGE030
Figure 786400DEST_PATH_IMAGE031
Figure 926395DEST_PATH_IMAGE032
其中,
Figure 881579DEST_PATH_IMAGE033
表示运算符c的中间表征,
Figure 423419DEST_PATH_IMAGE034
Figure 922534DEST_PATH_IMAGE035
均为权重矩阵,
Figure 549824DEST_PATH_IMAGE036
Figure 527007DEST_PATH_IMAGE037
均为偏置项;f c 表示控制已有知识保留的第二比例系数;
Figure 188933DEST_PATH_IMAGE038
表示上一推理步骤t-1中词语i与运算符c 的关系;
Figure 858949DEST_PATH_IMAGE039
表示上一推理步骤t-1的运算符c的运算符表征。
5.根据权利要求3所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述通过当前推理步骤的文本表征序列以及当前推理步骤的目标表征预测当前推理步骤的符号包括:
利用层次注意力机制评估当前推理步骤t的目标表征q t 与当前推理步骤t的文本表征序列中每个词语表征的相关性,并基于词语表征的相关性对词语表征序列加权求和获得上下文向量c t ;通过指针-生成网络根据当前推理步骤t的目标表征q t 、上下文向量c t 、以及当前推理步骤t的文本表征序列,预测当前推理步骤t的符号y t ;其中,当前推理步骤t的符号y t 来自外部符号集或者来自数学应用题文本的数值集合;
预测符号y t 来自外部符号集的概率:
Figure 707956DEST_PATH_IMAGE040
其中,
Figure 255874DEST_PATH_IMAGE022
表示sigmoid函数,
Figure 772306DEST_PATH_IMAGE041
Figure 613223DEST_PATH_IMAGE042
分别表示权重矩阵与偏置项,
Figure 949527DEST_PATH_IMAGE020
表示向量的拼 接操作;外部符号集表示为
Figure 534092DEST_PATH_IMAGE043
Figure 639451DEST_PATH_IMAGE044
表示运算符集合,
Figure 916849DEST_PATH_IMAGE045
表示常数集合;
预测符号y t 来自外部符号集的情况下的概率分布
Figure 740448DEST_PATH_IMAGE046
,以及预测符号y t 来自数学应 用题文本的数值集合
Figure 863125DEST_PATH_IMAGE047
情况下的概率分布
Figure 852684DEST_PATH_IMAGE048
Figure 35404DEST_PATH_IMAGE049
Figure 346299DEST_PATH_IMAGE050
其中,
Figure 7088DEST_PATH_IMAGE051
Figure 352619DEST_PATH_IMAGE052
均为权重矩阵,
Figure 706240DEST_PATH_IMAGE053
Figure 504431DEST_PATH_IMAGE054
均为权重向量,T为矩阵转置符号,
Figure 234490DEST_PATH_IMAGE055
Figure 935992DEST_PATH_IMAGE056
均为偏置项;若符号y t 是来自运算符集合的运算符,则概率分布
Figure 460514DEST_PATH_IMAGE057
Figure 480423DEST_PATH_IMAGE058
为符 号y t 的运算符表征
Figure 14172DEST_PATH_IMAGE059
,否则,为相应常数的表征;若符号y t 是来自数学应用题文本的数值 集合
Figure 68716DEST_PATH_IMAGE047
中的数值,则概率分布
Figure 764140DEST_PATH_IMAGE057
Figure 536923DEST_PATH_IMAGE060
为符号y t 的词语表征;
最终符号y t 在符号集合
Figure 608785DEST_PATH_IMAGE061
上的概率分布
Figure 252256DEST_PATH_IMAGE062
表示为:
Figure 888554DEST_PATH_IMAGE063
其中,
Figure 883055DEST_PATH_IMAGE064
依据概率分布
Figure 758607DEST_PATH_IMAGE062
,预测当前推理步骤t的符号y t
6.根据权利要求3所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述基于当前推理步骤的文本表征序列、当前推理步骤的目标表征、以及预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑系统中储存的规则知识进行约束包括:
基于当前推理步骤的文本表征序列,通过上下文感知模块计算当前推理步骤t的词语 与运算符的关系,再结合当前推理步骤t的目标表征q t 计算临时目标向量
Figure 522164DEST_PATH_IMAGE065
,最后结合临时 目标向量
Figure 824969DEST_PATH_IMAGE065
与预测出的当前推理步骤的符号,生成下一推理步骤的目标表征,并利用大脑 系统中储存的规则知识进行约束;
其中,基于当前推理步骤的文本表征序列,通过上下文感知模块计算当前推理步骤t的 词语与运算符的关系,再结合当前推理步骤t的目标表征q t 计算临时目标向量
Figure 306766DEST_PATH_IMAGE065
的步骤包 括:
当前推理步骤的文本表征序列包括当前推理步骤的词语表征序列与运算符表征序列; 对于词语i与运算符c,利用上一推理步骤t-1的词语i与运算符c的关系
Figure 720430DEST_PATH_IMAGE066
、当前推理 步骤t的词语表征
Figure 338493DEST_PATH_IMAGE067
,以及当前推理步骤t的运算符表征
Figure 812200DEST_PATH_IMAGE068
计算当前推理步骤t的词语i与 运算符c的关系
Figure 282758DEST_PATH_IMAGE069
,表示为:
Figure 500112DEST_PATH_IMAGE070
Figure 238261DEST_PATH_IMAGE071
Figure 882869DEST_PATH_IMAGE072
其中,
Figure 339258DEST_PATH_IMAGE073
Figure 829145DEST_PATH_IMAGE074
均为权重矩阵,
Figure 687380DEST_PATH_IMAGE075
Figure 237310DEST_PATH_IMAGE076
均为偏置项,
Figure 679530DEST_PATH_IMAGE077
表示向量的拼接操作;
Figure 238688DEST_PATH_IMAGE078
表示当前推理步骤t中词语i与运算符c的中间关系;
Figure 951429DEST_PATH_IMAGE079
表示sigmoid函数,
Figure 672260DEST_PATH_IMAGE080
表示 控制已有知识保留的第三比例系数;
结合当前推理步骤t的词语与运算符的关系,与推理步骤t的目标表征q t 计算临时目标 向量
Figure 837662DEST_PATH_IMAGE065
,表示为:
Figure 934931DEST_PATH_IMAGE081
Figure 502179DEST_PATH_IMAGE082
Figure 925070DEST_PATH_IMAGE083
Figure 312189DEST_PATH_IMAGE084
Figure 714614DEST_PATH_IMAGE085
其中,
Figure 401947DEST_PATH_IMAGE086
表示各类表征拼接得到的信息,M表示数学应用题领域涉及运算符的总 数,
Figure 730160DEST_PATH_IMAGE087
Figure 870154DEST_PATH_IMAGE088
分别表示当前推理步骤t的词语j、词语k的词语表征,
Figure 309226DEST_PATH_IMAGE089
表示当前推理步骤t-1的词语i与词语j的关系,迭代的推理步骤中词语i与词语j的关系保持不变,n表示数学 应用题文本中词语数目,
Figure 585487DEST_PATH_IMAGE090
表示与词语i存在依存语法关系的词语构成的集合;
Figure 84601DEST_PATH_IMAGE091
Figure 711891DEST_PATH_IMAGE092
均为权重矩阵,
Figure 954654DEST_PATH_IMAGE093
Figure 843676DEST_PATH_IMAGE094
均为偏置项;
Figure 513692DEST_PATH_IMAGE095
表示词语i的第二中间表征;
Figure 362699DEST_PATH_IMAGE096
表示词语i与目标表征q t 的关系,属于词语与目标的关系;
Figure 409153DEST_PATH_IMAGE097
表示利用各个词语的第二中间表征计 算出的中间信息;
Figure 660005DEST_PATH_IMAGE098
表示控制已有知识保留的第四比例系数;
所述结合临时目标向量
Figure 500922DEST_PATH_IMAGE065
与预测出的当前推理步骤的符号,生成下一推理步骤的目标 表征,并利用大脑系统中储存的规则知识进行约束包括:
定义推理结果形式化为表达式对应的表达式树,表达式树中叶子节点是数值,非叶子节点是运算符;
如果当前推理步骤t的符号y t 是运算符,则将临时目标向量
Figure 102805DEST_PATH_IMAGE065
输入至第一前馈网络Decompose1获得下一推理步骤的目标表征q t+1,表示为:
Figure 421791DEST_PATH_IMAGE099
,将 下一推理步骤的目标表征q t+1作为符号y t 的左子节点的目标向量,并将依据下一推理步骤 的目标表征q t+1推理得到的下一个符号y t+1作为符号y t 的左子节点;
如果当前推理步骤t的符号y t 是数值,则在已生成的表达式树上确定距相应数值节点最 近、且不存在右子树运算符节点u,通过前馈网络Encode_tree获得运算符节点u的左子树表 征
Figure 792729DEST_PATH_IMAGE100
,并与运算符节点u对应的临时目标向量
Figure 306013DEST_PATH_IMAGE101
一并输入至第二前馈网络Decompose2计 算下一推理步骤的目标表征q t+1,表示为:
Figure 395191DEST_PATH_IMAGE102
;将依据下一推 理步骤的目标表征
Figure 517868DEST_PATH_IMAGE103
推理得到的下一个符号y t+1作为运算符节点u的右子节点;
当符号y t 是运算符,且满足规则知识中的交换律时,利用符号y t 对应运算符节点的临时 目标向量
Figure 743313DEST_PATH_IMAGE065
与右子树表征
Figure 191612DEST_PATH_IMAGE104
反向生成左子节点的目标向量,即
Figure 502508DEST_PATH_IMAGE105
, 最小化其与正向生成的左子节点目标向量的差距,该差距定义为交换损失
Figure 428875DEST_PATH_IMAGE106
Figure 508827DEST_PATH_IMAGE107
7.根据权利要求3或5或6所述的一种基于知识学习的数学应用题智能解题方法,其特 征在于,在训练阶段,总的训练损失函数包括:预测的表达式与相应数学应用题文本对应表 达式之间的差异构建的符号预测损失
Figure 360983DEST_PATH_IMAGE108
,以及生成下一推理步骤的目标表征,利用大 脑系统中储存的规则知识进行约束所计算出的损失,称为交换损失
Figure 159175DEST_PATH_IMAGE106
,则总的训练损 失函数表示为:
Figure 889233DEST_PATH_IMAGE109
符号预测损失
Figure 89270DEST_PATH_IMAGE108
,表示为:
Figure 348213DEST_PATH_IMAGE110
其中,m表示训练数据集中的相应数学应用题文本P对应表达式的运算符与词语的总 数,每一个推理步骤预测出一个符号,预测出的符号为一个运算符或一个词语,总的推理步 骤数目等于训练数据集中的相应数学应用题文本P对应表达式的运算符与词语的总数my t 表示当前推理步骤t预测的符号,其结合之前推理步骤预测的符号
Figure 633701DEST_PATH_IMAGE111
预测 出y t
8.根据权利要求1所述的一种基于知识学习的数学应用题智能解题方法,其特征在于,所述大脑系统根据总的训练损失函数进行知识更新认知过程包括:根据总的训练损失函数采用梯度反向传播的方式更新语义知识,以及根据更新后的语义知识更新关系知识;语义知识包括:词语的语义向量与运算符的语义向量,关系知识包括:词语与词语的关系,以及词语与运算符的关系;
其中,根据更新后的语义知识更新关系知识包括:
对于词语与词语的关系,利用更新后的语义知识重新估计词语与词语的关系,设计过滤器对重新估计的词语与词语的关系进行判断,确定最终的词语与词语的关系,表示为:
Figure 901871DEST_PATH_IMAGE112
Figure 956415DEST_PATH_IMAGE113
其中,
Figure 917418DEST_PATH_IMAGE114
表示sigmoid函数,
Figure 191667DEST_PATH_IMAGE115
表示重新估计的词语i与词语j的关系,
Figure 732369DEST_PATH_IMAGE116
表示更 新后的词语i的语义向量,
Figure 906999DEST_PATH_IMAGE117
表示更新后的词语j的语义向量,
Figure 773324DEST_PATH_IMAGE118
表示所有词语对 之间的平均距离;
Figure 33404DEST_PATH_IMAGE119
表示最终的词语i与词语j的关系,
Figure 643377DEST_PATH_IMAGE120
表示设定的词语与词语的 关系强度阈值;
对于词语与运算符的关系,利用更新后的语义知识重新估计词语与运算符的关系,设计过滤器对重新估计的词语与运算符的关系进行判断,确定最终的词语与运算符的关系,表示为:
Figure 406933DEST_PATH_IMAGE121
Figure 709739DEST_PATH_IMAGE122
其中,
Figure 191536DEST_PATH_IMAGE123
表示重新估计的词语i与运算符c的关系,
Figure 109594DEST_PATH_IMAGE124
表示更新后的词语c的语义 向量,
Figure 993236DEST_PATH_IMAGE125
最终的词语i与运算符c的关系,
Figure 466943DEST_PATH_IMAGE126
表示词语与运算符的关系强度阈值。
9.一种基于知识学习的数学应用题智能解题系统,其特征在于,基于权利要求1~8任一项所述的方法实现,该系统包括:两个子系统,分别称为大脑系统与手臂系统;
训练阶段:利用数学应用题数据构建训练数据集,数学应用题数据包括:数学应用题文本与对应表达式;基于信息加工理论,在两个子系统中建立包含知识储存、知识应用与知识更新的三循环认知过程,大脑系统负责知识储存与知识更新两个认知过程,手臂系统负责知识应用一个认知过程;手臂系统的输入为训练数据集中的数学应用题文本以及大脑系统中储存的知识,通过知识应用认知过程预测数学应用题文本对应的表达式;基于预测的表达式与相应数学应用题文本对应表达式之间的差异构建总的训练损失函数,大脑系统根据总的训练损失函数进行知识更新认知过程,更新后的知识存储于大脑系统完成知识储存认知过程;
测试阶段:将待求解的数学应用题文本输入至训练后的智能解题系统,由手臂系统结合大脑系统中储存的知识,通过知识应用认知过程预测所述待求解的数学应用题文本对应的表达式,通过表达式获得解题结果。
CN202210978505.XA 2022-08-16 2022-08-16 一种基于知识学习的数学应用题智能解题方法及系统 Active CN115049062B (zh)

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 CN115049062A (zh) 2022-09-13
CN115049062B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115829033B (zh) * 2023-02-02 2023-06-20 中国科学技术大学 数学应用题知识构建与解答方法、系统、设备及存储介质
CN116680502B (zh) * 2023-08-02 2023-11-28 中国科学技术大学 数学应用题智能求解方法、系统、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111340661A (zh) * 2020-02-21 2020-06-26 电子科技大学 一种基于图神经网络的应用题自动解题方法
CN112613323A (zh) * 2020-12-21 2021-04-06 中国科学技术大学 语法依赖增强的数学应用题语义识别与推理方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
Hms:A hierarchical solver with dependency-enhanced understanding for math word peoblem;Xin Lin et al.;《Proceeding of the AAAI Conference on Artificial Intelligence》;20210518;全文 *
基于数字相关特征的文字应用题自动求解模型研究;王松;《中国优秀硕士学位论文全文数据库 社会科学Ⅱ辑》;20200715;全文 *
面向个性化学习的数据挖掘方法与应用研究;黄振亚;《中国博士学位论文全文数据库 信息科技辑》;20210115;全文 *

Also Published As

Publication number Publication date
CN115049062A (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
CN115049062B (zh) 一种基于知识学习的数学应用题智能解题方法及系统
WO2021184311A1 (zh) 一种自动生成可推理问答的方法和装置
Chen et al. Knowedu: A system to construct knowledge graph for education
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
CN107451230A (zh) 一种问答方法以及问答系统
CN113254581B (zh) 一种基于神经语义解析的金融文本公式抽取方法及装置
CN116521882A (zh) 基于知识图谱的领域长文本分类方法及系统
CN116992005B (zh) 基于大模型及本地知识库的智能对话方法、系统及设备
CN114969278A (zh) 一种基于知识增强图神经网络的文本问答模型
Peng et al. Incremental term representation learning for social network analysis
CN113128206A (zh) 基于单词重要性加权的问题生成方法
CN114429143A (zh) 一种基于强化蒸馏的跨语言属性级情感分类方法
CN114996423A (zh) 一种基于子问题剪枝的水利知识图谱复杂问答方法
CN115964459B (zh) 基于食品安全认知图谱的多跳推理问答方法及系统
Ruskanda et al. Simple sentiment analysis ansatz for sentiment classification in quantum natural language processing
Zhang Meta prompting for agi systems
CN116028888A (zh) 一种平面几何数学题目的自动解题方法
Tseng et al. Tree-structured semantic encoder with knowledge sharing for domain adaptation in natural language generation
CN115600582A (zh) 一种基于预训练语言模型的可控文本生成方法
CN112579775B (zh) 非结构化文本的分类方法及计算机可读存储介质
CN112949277A (zh) 基于融合表征学习的学科分类体系对齐方法、系统及介质
CN111882124A (zh) 一种基于生成对抗模仿学习的同质平台发展效应预测方法
CN116680502B (zh) 数学应用题智能求解方法、系统、设备及存储介质

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