CN111950701A - 一种融合公式信息的数学题求解方法及系统 - Google Patents
一种融合公式信息的数学题求解方法及系统 Download PDFInfo
- Publication number
- CN111950701A CN111950701A CN202010668286.6A CN202010668286A CN111950701A CN 111950701 A CN111950701 A CN 111950701A CN 202010668286 A CN202010668286 A CN 202010668286A CN 111950701 A CN111950701 A CN 111950701A
- Authority
- CN
- China
- Prior art keywords
- formula
- vector
- nodes
- node
- relation
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种融合公式信息的数学题求解方法及系统,该方法利用以图为表示方法的公式结构来建模数学题目中公式特有的结构信息,并依据该公式依赖图,利用预先训练的公式图神经网络,获取公式依赖图中各个节点的表征向量,同时基于公式依赖图,将图中的文字映射为文字向量。然后利用双GRU以及融合字形网络结构FGN,将节点的表征向量和文字向量嵌入语义向量,在该过程中可使用嵌套序列模型捕获题目整体的文本语义和公式语义两方面的隐式表征,通过融入公式自身元素之间及多个公式之间的结构依赖关系,从而表示数学简答题的信息;最后基于所述语义向量,生成所述待处理数学题的答案序列,实现对包含公式信息的数学题的求解。
Description
技术领域
本申请设计计算机应用技术领域,更具体地说,设计一种融合公式信息 的数学题求解方法及系统。
背景技术
在智能教育中,构建具有人类智能的数学题目解答器是一项具有挑战性 的任务。
由于数学题目往往由复杂的自然语言和公式组成,因此求解数学题不仅 要求算法具有对自然语言的语义理解能力,还要具备深层次数学公式的推理 能力。
现有的方法主要针对数学应用题,即由自然语言本文和简单数字描述的 一类基础数学题目,这些方法旨在将用自然语言描述的应用题目文本转化为 可以计算求解的表达式。然而,这些工作只专注于探索如何让计算机理解应 用题文本的语义,但无法解答更普遍的含有公式的数学简答题。由于数学简 答题通常包含大量的公式,因此现有方法不能准确解答答案。
发明内容
为解决上述技术问题,本申请提供了一种融合公式信息的数学题求解方 法及系统,以实现解决包含公式信息的数学题的目的。
为实现上述技术目的,本申请实施例提供了如下技术方案:
一种融合公式信息的数学题求解方法,包括:
获取待处理数学题,所述待处理数学题至少包括由文字和公式描述的题 目;
对所述待处理数学题中的公式进行提取,并依据提取的公式建立公式依 赖图,所述公式依赖图用于表征节点的关联关系,所述节点的属性类型包括 所述公式中的变量、数字和运算符中的任意一种,所述节点的文本信息包括 描述该节点的文本信息;
基于所述公式依赖图,利用公式图神经网络,将所述节点的文本信息和 属性类型进行融合学习,以获得所述节点的表征向量,所述表征向量包括结 构向量和文字向量,所述结构向量表征所述公式依赖图的结构,所述文字向 量表征所述公式依赖图的文字;
利用嵌套的序列模型以及所述公式图神经网络中的融合字形结构,将所 述节点的结构向量和所述文字向量嵌入语义向量,所述嵌套的序列模型包括 第一门控循环单元和第二门控循环单元;
基于所述语义向量,生成所述待处理数学题的答案序列。
可选的,所述对所述待处理数学题中的公式进行提取,并依据提取的公 式建立公式依赖图包括:
提取所述待处理数学题包含的公式;
将提取的所述公式转换为TEX代码格式,并将TEX代码格式的公式替换 所述待处理数学题中的公式;
将每个所述TEX代码格式的公式中的变量、数字和运算符对象作为一个 节点,并根据所述节点与其他节点的关联关系,构建所述公式依赖图;
所述关联关系包括兄弟关系、父亲关系、孩子关系、旁亲关系和自环关 系中的任意一种,所述兄弟关系表示两个节点处于同一层级且相互关联,所 述父亲关系表示所述节点处于另一节点的高层层级且相互关联,所述孩子关 系表示所述节点处于另一节点的低层层级且相互关联,所述旁亲关系表示所 述公式中相同变量之间的关联关系,所述自环关系表示所述节点指向节点本 身。
可选的,所述基于所述公式依赖图,利用公式图神经网络,将所述节点 的文本信息和属性类型进行融合学习,以获得所述节点的表征向量包括:
将所述公式依赖图表示为G={V,E,R};其中,V和R分别表示点集和关系 集,E表示所述公式依赖图中边的集合;(vi,vj,r)∈E表示一条从节点vi到节点vj的具有关系r∈R的边;
基于G={V,E,R},所述公式图神经网络利用K个图卷积层学习所述节点的 表征向量。
可选的,所述基于G={V,E,R},所述公式图神经网络利用K个图卷积层学 习每个节点vi的表征向量包括:
其中,d表示预设的向量维度,R表示实数集,Ni表示所有指向节点vi的 入向邻居节点,AGGR(x)表示聚合器,用于聚合节点vi的所有入向邻居节点的 信息,ACT(x)表示全连接层,所述全连接层的激活函数为线性整流函数 ReLU(·),表示向量连接操作,用于将节点vi的邻居向量和节点vi在第k层 的向量连接。
可选的,所述聚合器包括:基本聚合器和注意力聚合器;
可选的,所述利用嵌套的序列模型以及所述公式图神经网络中的融合字 形结构,将所述节点的结构向量和所述文字向量嵌入语义向量包括:
利用三种向量对所述文字向量进行初始化,并对初始化后的文字向量连 接起来经过全连接层,嵌入到维度为定长的文字表征向量中;所述三种向量 包括随机向量、“独热码”向量和利用word2vec预训练的词向量;所述随机 向量包括:所述“独热码”向量包括:所述利用word2vec 预训练的词向量包括:
利用所述第一门控循环单元更新所述向量序列中的文字表征向量,以获 取所述文字表征向量的正向语义和反向语义;
利用所述第二门控循环单元更新所述向量序列中节点的结构向量,以获 取所述结构向量的正向语义和反向语义,并利用所述公式图神经网络中的融 合字形网络结构,将所述节点的表征向量嵌入所述语义向量;
分别对所述文字表征向量的正向语义和反向语义以及所述结构向量的正 向语义和反向语义进行最大池化操作以聚集语义,以获得所述语义向量。
一种融合公式信息的数学题求解系统,包括:公式图构造模块、公式图 网络模块和神经求解器模块;其中,
所述公式图构造模块,用于获取待处理数学题,所述待处理数学题至少 包括由文字和公式描述的题目;对所述待处理数学题中的公式进行提取,并 依据提取的公式建立公式依赖图,所述公式依赖图用于表征节点的关联关系, 所述节点的属性类型包括所述公式中的变量、数字和运算符中的任意一种, 所述节点的文本信息包括描述该节点的文字信息;
所述公式图网络模块,用于基于所述公式依赖图,利用公式图神经网络, 将所述节点的文本信息和属性类型进行融合学习,以获得所述节点的表征向 量,所述表征向量包括所述公式依赖图的结构与文本;
所述神经求解器模块,用于基于所述公式依赖图,将所述公式依赖图中 的文字映射为文字向量;利用所述公式图神经网络中的融合字形网络结构, 将所述节点的表征向量和所述文字向量嵌入语义向量;基于所述语义向量, 生成所述待处理数学题的答案序列。
可选的,所述公式图构造模块对所述待处理数学题中的公式进行提取, 并依据提取的公式建立公式依赖图的过程具体包括:
提取所述待处理数学题包含的公式;
将提取的所述公式转换为TEX代码格式,并将TEX代码格式的公式替换 所述待处理数学题中的公式;
将每个所述TEX代码格式的公式中的变量、数字和运算符对象作为一个 节点,并根据所述节点与其他节点的关联关系,构建所述公式依赖图;
所述关联关系包括兄弟关系、父亲关系、孩子关系、旁亲关系和自环关 系中的任意一种,所述兄弟关系表示两个节点处于同一层级且相互关联,所 述父亲关系表示所述节点处于另一节点的高层层级且相互关联,所述孩子关 系表示所述节点处于另一节点的低层层级且相互关联,所述旁亲关系表示所 述公式中相同变量之间的关联关系,所述自环关系表示所述节点指向节点本 身。
可选的,所述公式图网络模块基于所述公式依赖图,利用公式图神经网 络,将所述节点的文本信息和属性类型进行融合学习,以获得所述节点的表 征向量,所述表征向量包括所述公式依赖图的结构与文本;的过程具体包括:
将所述公式依赖图表示为G={V,E,R};其中,V和R分别表示点集和关系 集,E表示所述公式依赖图中边的集合;(vi,vj,r)∈E表示一条从节点vi到节点vj的具有关系r∈R的边;
基于G={V,E,R},所述公式图神经网络利用K个图卷积层学习所述节点的 表征向量。
可选的,所述公式图网络模块基于G={V,E,R},所述公式图神经网络利用 K个图卷积层学习每个节点vi的表征向量的过程具体包括:
其中,d表示预设的向量维度,R表示实数集,Ni表示所有指向节点vi的 入向邻居节点,AGGR(x)表示聚合器,用于聚合节点vi的所有入向邻居节点的 信息,ACT(x)表示全连接层,所述全连接层的激活函数为线性整流函数 ReLU(·),表示向量连接操作,用于将节点vi的邻居向量和节点vi在第k层 的向量连接。
从上述技术方案可以看出,本申请实施例提供了一种融合公式信息的数 学题求解方法及系统,其中,所述融合公式信息的数学题求解方法将待处理 数学题转换为公式依赖图为表示方法的公式结构,即利用以图为表示方法的 公式结构来建模数学题目中公式特有的结构信息,并依据该公式依赖图,利 用预先训练的公式图神经网络,获取所述公式依赖图中各个节点的表征向量, 同时基于所述公式依赖图,将所述公式依赖图中的文字映射为文字向量。然 后利用嵌套的序列模型以及所述公式图神经网络中的融合字形结构,将所述 节点的结构向量和所述文字向量嵌入语义向量,所述嵌套的序列模型包括第 一门控循环单元和第二门控循环单元,在该过程中可使用嵌套序列模型捕获 题目整体的文本语义和公式语义两方面的隐式表征,通过融入公式自身元素 (如:数字、变量、运算符)之间及多个公式之间的结构依赖关系,从而表 示数学简答题的信息;最后基于所述语义向量,生成所述待处理数学题的答 案序列,实现对包含公式信息的数学题的求解。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不 付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请的一个实施例提供的一种融合公式信息的数学题求解方法 的流程示意图;
图2为本申请的一个实施例提供的一种数学题的示意图;
图3为本申请的一个实施例提供的一种提取公式并建立公式依赖图的示 意图;
图4为本申请的一个实施例提供的一种基于Seq2Seq结构的神经模型的示 意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而 不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种融合公式信息的数学题求解方法,如图1所示, 包括:
S101:获取待处理数学题,所述待处理数学题至少包括由文字和公式描 述的题目;
参考图2,图2示出了两个待处理数学题的可行例子,图2中的问题1 (Problem 1)为:Solve-42×r+27×c=-1167and 130×r+4×c=372for r,答案 (Answer)为r=4,即已知求r,答案为r=4。问题2 为:Let f(x)=-x3-x2.Let g(x)=-2x.solve f(g(x)),答案为8x3-4x2。
S102:对所述待处理数学题中的公式进行提取,并依据提取的公式建立 公式依赖图,所述公式依赖图用于表征节点的关联关系,所述节点的属性类 型包括所述公式中的变量、数字和运算符中的任意一种,所述节点的文本信 息包括描述该节点的文字信息;
具体地,所述节点的文本信息用于描述该节点中包含的文字具体是什么, 例如,如果节点的属性类型为数字,那么节点中包含的数字“2”“3”等就 是具体的文字信息。所述节点的属性类型包括但不限于变量、数字和运算符。
在本申请的一个实施例中,所述对所述待处理数学题中的公式进行提取, 并依据提取的公式建立公式依赖图包括:
S1021:提取所述待处理数学题包含的公式;
对于数学简答题求解任务来说,其目的是根据题目内容表征其语义特征 和内含的公式信息特征,从而进行深度推理,预测题目对应的答案。输入数 学题目的题面文本P,假定每个token表示其中的一个汉字、单词或数学符号, 那么可将数学题目P表示为由L个token组成的序列P={p1,p2,…,pL},其中pi可 以表示题目文本对应位置的字词或公式里的数字、数学符号(如“+”)等元 素。由于每道题目里可能包含多个公式,则把每道题包含的M个公式集合表 示为F={f1,f2,…,fM},fi={pi,…,pj}其中(1≤i,j≤L)代表一个单独的公式。 此外,题目的答案序列Y和题目P一样使用token定义的序列,表示为 Y={y1,y2,…,yT}。题目中的token是指题目中文本的单位,每个token代表题目 中的一个汉字、单词或者数学符号,对于中文来说,token可以表示单个汉字, 对于英文来说,token表示一个单词,例如:
一个题目表示为:假设alpha为3,计算2+alpha。则转化为token序列为: 假、设、alpha、3、计、算、2、+、alpha(顿号表示分隔符)。在该划分过程 中,中文可以直接按照汉字划分或者按照分词工具划分,英文则以空格分割, 可以直接按照空格将单词划分出来。
S1022:将提取的所述公式转换为TEX代码格式,并将TEX代码格式的 公式替换所述待处理数学题中的公式;
TEX是指“基于宏的流行的文本格式化程序”,TEX代码是指遵循TEX 语法的代码,可以在TEX中编译执行,适用于处理复杂的数学公式。将公式 转换为TEX代码有利于在处理过程中保持公式以通用的语言格式描述,不是 一般性,且原始的公式以token序列表示,确实了公式的结构信息,而在TEX 代码格式的公式则可保留公式的结构信息,例如对于分式2/3,从TEX代码 (\frac{2}{3})中,可以直观地知道2是分子,3是分母。由于TEX代码格 式的公式保留了公式的结构信息,才可以构造相应的公式依赖图。另外,TEX 代码很通用,所以将公式转成TEX代码再构造公式依赖图,会更加普适和科 学,有利于满足更多人需求,具有实际应用价值。在构造公式依赖图中,首 先把变量(如θ)、数字(如:2)和TEX运算符(如:tan)这些数学符号对 象作为图中节点。相较于现有的TEX处理工具(如KaTex),此工具过滤了 大量的TEX用于注释排版的信息(如\begin{}等),仅考虑了数学公式符号相 关的信息元素,可以降低空间复杂度,提高公式信息的提取与处理效率。
S1023:将每个所述TEX代码格式的公式中的变量、数字和运算符对象 作为一个节点,并根据所述节点与其他节点的关联关系,构建所述公式依赖 图;
所述关联关系包括兄弟关系、父亲关系、孩子关系、旁亲关系和自环关 系中的任意一种,所述兄弟关系表示两个节点处于同一层级且相互关联,所 述父亲关系表示所述节点处于另一节点的高层层级且相互关联,所述孩子关 系表示所述节点处于另一节点的低层层级且相互关联,所述旁亲关系表示所 述公式中相同变量之间的关联关系,所述自环关系表示所述节点指向节点本 身。在图3中,brother relation表示所述兄弟关系,fatherrelation表示所述父 亲关系,child relation表示所述孩子关系,relative relation表示所述旁亲关系。
仍然参考图3,图3中节点V10和V11是节点V9的孩子,V9是它们的 父亲,同时,不同公式之间也因有相同变量而存在庞亲关系,如本例中两个 公式因均含有元素由V3和V11关联起来。最后为了增强公式依赖图的语义, 为每个节点赋予了类型、文本含义等属性(图3,点V4的类型是运算符,其 文本含义是“=”),表1为公式依赖图的节点属性类型表。
表1公式依赖图的节点属性类型表
S103:基于所述公式依赖图,利用公式图神经网络,将所述节点的文本 信息和属性类型进行融合学习,以获得所述节点的表征向量,所述表征向量 包括结构向量和文字向量,所述结构向量表征所述公式依赖图的结构,所述 文字向量表征所述公式依赖图的文字;
具体地,在本申请的一个实施例中,所述基于所述公式依赖图,利用公 式图神经网络,将所述节点的文本信息和属性类型进行融合学习,以获得所 述节点的表征向量包括:
S1031:将所述公式依赖图表示为G={V,E,R};其中,V和R分别表示点集 和关系集,E表示所述公式依赖图中边的集合;(vi,vj,r)∈E表示一条从节点vi到 节点vj的具有关系r∈R的边;
S1032:基于G={V,E,R},所述公式图神经网络利用K个图卷积层学习所 述节点的表征向量。
所述基于G={V,E,R},所述公式图神经网络利用K个图卷积层学习每个节 点vi的表征向量包括:
其中,d表示预设的向量维度,R表示实数集,Ni表示所有指向节点vi的 入向邻居节点,AGGR(x)表示聚合器,用于聚合节点vi的所有入向邻居节点的 信息,ACT(x)表示全连接层,所述全连接层的激活函数为线性整流函数 ReLU(·),表示向量连接操作,用于将节点vi的邻居向量和节点vi在第k层 的向量连接。
所述聚合器包括:基本聚合器和注意力聚合器;
基本聚合器(Basic Aggregator)的FGNB(Formula Graph Network with BasicAggregator,基于基础聚合器的公式图神经网络)假设每个点的入向邻 居对其影响是相同的,此时所述基本聚合器表示为:其中,表示待训练的参数,用于线性转换邻居节点传递的消息;
考虑到在公式依赖图中,不同层次或不同关系的邻居节点的影响是不同 的,如图3所示,节点V5的邻居V4(兄弟节点)和V6(父亲节点)对其影 响不同,我们在聚合器中引入注意力机制,以实现FGNA(Formula Graph Network with Attention Aggregator,基于注意力聚合器的公式图神经网络)。 具体来说,FGNA在聚合节点vi的邻居传递的信息时,考虑了它们对vi的重要 程度,又因为不同层次的节点和不同关系的边均会对消息传递和发送产生影 响,因此我们从节点层次和边类别的角度,将所述注意力聚合器表示为:其中,
S104:利用嵌套的序列模型以及所述公式图神经网络中的融合字形结构, 将所述节点的结构向量和所述文字向量嵌入语义向量,所述嵌套的序列模型 包括第一门控循环单元和第二门控循环单元;
具体地,所述利用嵌套的序列模型以及所述公式图神经网络中的融合字 形结构,将所述节点的结构向量和所述文字向量嵌入语义向量,包括:
利用三种向量对所述文字向量进行初始化,并对初始化后的文字向量连 接起来经过全连接层,嵌入到维度为定长的文字表征向量中;所述三种向量 包括随机向量、“独热码”向量和利用word2vec预训练的词向量;所述随机 向量包括:所述“独热码”向量包括:所述利用word2vec 预训练的词向量包括:;
利用所述第一门控循环单元更新所述向量序列中的文字表征向量,以获 取所述文字表征向量的正向语义和反向语义;
利用所述第二门控循环单元更新所述向量序列中节点的结构向量,以获 取所述结构向量的正向语义和反向语义,并利用所述公式图神经网络中的融 合字形网络结构,将所述节点的表征向量嵌入所述语义向量;
分别对所述文字表征向量的正向语义和反向语义以及所述结构向量的正 向语义和反向语义进行最大池化操作以聚集语义,以获得所述语义向量。
S105:基于所述语义向量,生成所述待处理数学题的答案序列。
具体地,在该求解过程中,我们设计了基于Seq2Seq(Sequence to Sequence)结构的神经模型,该神经模型如图4所示,分为编码器(Encoder) 和解码器(Decoder)两部分:
3.1)编码器
编码器用于将某一具体的数学问题的输入序列转为隐式向量表征,具体 来说可分为两个模块:(1)嵌入模块,用于将不同形式的输入映射到向量空 间中;(2)序列模块,用于学习问题的语义理解。
在嵌入模块中,每个问题P={p1,p2,L,pL}由词和公式组成,其中词{pl}的 嵌入过程Emb(x)为:首先初用三种向量对词初始化:(1)随机向量 (2)“独热码”向量(3)利用word2vec预训练的词向量。然后 在初始化三种向量后,将它们连接起来并经过全连接层F(·),嵌入到维度为定 长的向量xl:
对于公式的嵌入,利用了所述公式图神经网络中的融合字形网络FGN(x) 结构。由此,嵌入过程可表示为:
在序列模块中,根据嵌入模块输出的向量序列{x1,x2,L,xL}学习它们的语 义。为了能够把从词空间的嵌入和公式图空间的嵌入统一表示,我们在编码 阶段设计了两个GRU(Gated Recurrent Unit,门控循环单元),这两个GRU 即分别为所述第一门控循环单元和第二门控循环单元,在第l步,更新语义的 隐向量sl:
3.2)解码器
解码器用以根据编码器理解的语义向量,生成问题的答案序列 {y1,y2,…,yt-1},它也是基于GRU(门控循环单元)实现的。在第t步,解码器 根据Softmax选择最合适的输出。
另外,本申请实施例还提供了所述融合公式信息的数学题求解方法的具 体实现过程及发明思路。
首先对于问题定义与形式化:
如前文所述,对于数学简答题求解任务来说,其目的是根据题目内容表 征其语义特征和内含的公式信息特征,从而进行深度推理,预测题目对应的 答案。输入数学题目的题面文本P,假定每个token表示其中的一个汉字、单 词或数学符号,那么可将数学题目P表示为由L个token组成的序列 P={p1,p2,…,pL},其中pi可以表示题目文本对应位置的字词(图1黑色字)或 公式里的数字、数学符号(如“+”)等元素(图1蓝色字)。由于每道题目 里可能包含多个公式,则把每道题包含的M个公式集合表示为 F={f1,f2,…,fM},其中fi={pi,…,pj}(1≤i,j≤L)代表一个单独的公式。此 外,题目的答案序列Y和题目P一样使用token定义的序列,表示为 Y={y1,y2,…,yT}。那么,数学题求解任务可以被形式化为:给定一道数学题P 的文字描述序列,我们的目的是训练一个数学题求解模型,学习对题目的语义理解和数学推理,为其生成答案序列。
其次,对于数据收集与预处理;
本发明使用广义上的数学简答题为输入数据集,题目的文本内容需要含 有用于描述题目信息的自然文本(如字词)和描述数学公式信息的文本(如 图1中“蓝色”部分)。此类数据样例如DeepMind公司发布的开源数学题集 中的代数题集数据(Algebra)和算数题集(Arithmetic)等。此外,也可以在 通过网络爬取或线下收集初高中生的作业或考试数学题集获得输入数据集。
2.数据预处理
在构建模型之前,需要对收集的数据进行预处理以保证模型的效果。预 处理主要包括以下内容:
1)题目过滤
本发明实例主要针对带有公式结构的数学题求解问题,因此需要选取数 据集中含有公式的题目,过滤掉仅由字词、数字等非结构语言描述的题目, 并滤掉token数小于10的题目。
2)抽样
在每类数据集中,分别进行随机抽样,选用原始数据集的子集训练模型。
再次,对于模型的建立:
数学题的描述普遍由字词和公式组成,这些公式遵循特殊的依赖结构, 且同一题中不同公式间也因拥有相同元素而存在关联,在某些特定的问题(如:算术、代数)中,公式字符长度在题目总长度中占有较高比例,这说 明融合公式结构特征的有助于对题目语义的理解。现有的研究工作大多忽略 了隐藏在题目中公式结构信息中的依赖和关联,仅仅只利用了题目文本序列 信息,缺乏深层次的数学推理能力和对数学题求解的普适性。实际上,要将 公式信息提取并辅助理解和推理数学题,并提高答案生成的效果,是存在诸 多困难与挑战的:(1)如何将由自然语言描述的公式文本序列识别和提取, 并转为结构化的公式依赖图;(2)如何将题目内容语义理解和融合公式的数 学推理统一表示,从而全面理解数学题。为了解决上述挑战,更好地利用公 式提高推理能力,最终增强解答效果,我们设计了该融合公式信息的数学题 求解器(Neural Mathematical Solver,NMS)(下文中称为融合公式信息的数 学题求解系统)。NMS模型包含三个主要模块,公式图构造模块(FormulaGraph Construction Module)、公式图网络模块(Formula Graph Network Module)和神经求解器模块(Neural Solver Module)。公式图构造模块负责 构造具有结构信息的“公式依赖图”,公式图网络模块负责学习公式元素的 表征向量,神经求解器模块基于Seq2Seq框架,在语义信息建模的基础上, 进一步融合图结构信特征,并设计了嵌套序列模型,使用两个GRU结构连接 字词语义空间和公式结构空间的表征信息,从而增强了求解数学题的效果。
模型建立之后利用原始数据集的子集训练模型,整个融合公式信息的数 学题求解可以通过Adam优化方法最小化如下损失函数L进行训练:
相应的,本申请实施例提供了一种融合公式信息的数学题求解系统,包 括:公式图构造模块、公式图网络模块和神经求解器模块;其中,
所述公式图构造模块,用于获取待处理数学题,所述待处理数学题至少 包括由文字和公式描述的题目;对所述待处理数学题中的公式进行提取,并 依据提取的公式建立公式依赖图,所述公式依赖图用于表征节点的关联关系, 所述节点的属性类型包括所述公式中的变量、数字和运算符中的任意一种, 所述节点的文本信息包括描述该节点的文字信息;
所述公式图网络模块,用于基于所述公式依赖图,利用公式图神经网络, 将所述节点的文本信息和属性类型进行融合学习,以获得所述节点的表征向 量,所述表征向量包括所述公式依赖图的结构与文本;
所述神经求解器模块,用于基于所述公式依赖图,将所述公式依赖图中 的文字映射为文字向量;利用所述公式图神经网络中的融合字形网络结构, 将所述节点的表征向量和所述文字向量嵌入语义向量;基于所述语义向量, 生成所述待处理数学题的答案序列。
可选的,所述公式图构造模块对所述待处理数学题中的公式进行提取, 并依据提取的公式建立公式依赖图的过程具体包括:
提取所述待处理数学题包含的公式;
将提取的所述公式转换为TEX代码格式,并将TEX代码格式的公式替换 所述待处理数学题中的公式;
将每个所述TEX代码格式的公式作为一个节点,并根据所述节点与其他 节点的关联关系,构建所述公式依赖图;
所述关联关系包括兄弟关系、父亲关系、孩子关系、旁亲关系和自环关 系中的任意一种,所述兄弟关系表示两个节点处于同一层级且相互关联,所 述父亲关系表示所述节点处于另一节点的高层层级且相互关联,所述孩子关 系表示所述节点处于另一节点的低层层级且相互关联,所述旁亲关系表示所 述公式中相同变量之间的关联关系,所述自环关系表示所述节点指向节点本 身。
可选的,所述公式图网络模块基于所述公式依赖图,利用公式图神经网 络,将所述节点的文本信息和属性类型进行融合学习,以获得所述节点的表 征向量,所述表征向量包括所述公式依赖图的结构与文本;的过程具体包括:
将所述公式依赖图表示为G={V,E,R};其中,V和R分别表示点集和关系 集,E表示所述公式依赖图中边的集合;(vi,vj,r)∈E表示一条从节点vi到节点vj的具有关系r∈R的边;
基于G={V,E,R},所述公式图神经网络利用K个图卷积层学习所述节点的 表征向量。
可选的,所述公式图网络模块基于G={V,E,R},所述公式图神经网络利用 K个图卷积层学习每个节点vi的表征向量的过程具体包括:
其中,d表示预设的向量维度,R表示实数集,Ni表示所有指向节点vi的 入向邻居节点,AGGR(x)表示聚合器,用于聚合节点vi的所有入向邻居节点的 信息,ACT(x)表示全连接层,所述全连接层的激活函数为线性整流函数 ReLU(·),表示向量连接操作,用于将节点vi的邻居向量和节点vi在第k层的 向量连接。
综上所述,本申请实施例提供了一种融合公式信息的数学题求解方法及 系统,其中,所述融合公式信息的数学题求解方法将待处理数学题转换为公 式依赖图为表示方法的公式结构,即利用以图为表示方法的公式结构来建模 数学题目中公式特有的结构信息,并依据该公式依赖图,利用预先训练的公 式图神经网络,获取所述公式依赖图中各个节点的表征向量,同时基于所述 公式依赖图,将所述公式依赖图中的文字映射为文字向量。然后利用嵌套的 序列模型以及所述公式图神经网络中的融合字形结构,将所述节点的结构向 量和所述文字向量嵌入语义向量,所述嵌套的序列模型包括第一门控循环单 元和第二门控循环单元,在该过程中可使用嵌套序列模型捕获题目整体的文 本语义和公式语义两方面的隐式表征,通过融入公式自身元素(如:数字、 变量、运算符)之间及多个公式之间的结构依赖关系,从而表示数学简答题 的信息;最后基于所述语义向量,生成所述待处理数学题的答案序列,实现 对包含公式信息的数学题的求解。
本说明书中各实施例中记载的特征可以相互替换或者组合,每个实施例 重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互 相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用 本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易 见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下, 在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例, 而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种融合公式信息的数学题求解方法,其特征在于,包括:
获取待处理数学题,所述待处理数学题至少包括由文字和公式描述的题目;
对所述待处理数学题中的公式进行提取,并依据提取的公式建立公式依赖图,所述公式依赖图用于表征节点的关联关系,所述节点的属性类型包括所述公式中的变量、数字和运算符中的任意一种,所述节点的文本信息包括描述该节点的文本信息;
基于所述公式依赖图,利用公式图神经网络,将所述节点的文本信息和属性类型进行融合学习,以获得所述节点的表征向量,所述表征向量包括结构向量和文字向量,所述结构向量表征所述公式依赖图的结构,所述文字向量表征所述公式依赖图的文字;
利用嵌套的序列模型以及所述公式图神经网络中的融合字形结构,将所述节点的结构向量和所述文字向量嵌入语义向量,所述嵌套的序列模型包括第一门控循环单元和第二门控循环单元;
基于所述语义向量,生成所述待处理数学题的答案序列。
2.根据权利要求1所述的方法,其特征在于,所述对所述待处理数学题中的公式进行提取,并依据提取的公式建立公式依赖图包括:
提取所述待处理数学题包含的公式;
将提取的所述公式转换为TEX代码格式,并将TEX代码格式的公式替换所述待处理数学题中的公式;
将每个所述TEX代码格式的公式中的变量、数字和运算符对象作为一个节点,并根据所述节点与其他节点的关联关系,构建所述公式依赖图;
所述关联关系包括兄弟关系、父亲关系、孩子关系、旁亲关系和自环关系中的任意一种,所述兄弟关系表示两个节点处于同一层级且相互关联,所述父亲关系表示所述节点处于另一节点的高层层级且相互关联,所述孩子关系表示所述节点处于另一节点的低层层级且相互关联,所述旁亲关系表示所述公式中相同变量之间的关联关系,所述自环关系表示所述节点指向节点本身。
3.根据权利要求1所述的方法,其特征在于,所述基于所述公式依赖图,利用公式图神经网络,将所述节点的文本信息和属性类型进行融合学习,以获得所述节点的表征向量包括:
将所述公式依赖图表示为G={V,E,R};其中,V和R分别表示点集和关系集,E表示所述公式依赖图中边的集合;(vi,vj,r)∈E表示一条从节点vi到节点vj的具有关系r∈R的边;
基于G={V,E,R},所述公式图神经网络利用K个图卷积层学习所述节点的表征向量。
6.根据权利要求1所述的方法,其特征在于,所述利用嵌套的序列模型以及所述公式图神经网络中的融合字形结构,将所述节点的结构向量和所述文字向量嵌入语义向量包括:
利用三种向量对所述文字向量进行初始化,并对初始化后的文字向量连接起来经过全连接层,嵌入到维度为定长的文字表征向量中;所述三种向量包括随机向量、“独热码”向量和利用word2vec预训练的词向量;所述随机向量包括:所述“独热码”向量包括:所述利用word2vec预训练的词向量包括:
利用所述第一门控循环单元更新所述向量序列中的文字表征向量,以获取所述文字表征向量的正向语义和反向语义;
利用所述第二门控循环单元更新所述向量序列中节点的结构向量,以获取所述结构向量的正向语义和反向语义,并利用所述公式图神经网络中的融合字形网络结构,将所述节点的表征向量嵌入所述语义向量;
分别对所述文字表征向量的正向语义和反向语义以及所述结构向量的正向语义和反向语义进行最大池化操作以聚集语义,以获得所述语义向量。
7.一种融合公式信息的数学题求解系统,其特征在于,包括:公式图构造模块、公式图网络模块和神经求解器模块;其中,
所述公式图构造模块,用于获取待处理数学题,所述待处理数学题至少包括由文字和公式描述的题目;对所述待处理数学题中的公式进行提取,并依据提取的公式建立公式依赖图,所述公式依赖图用于表征节点的关联关系,所述节点的属性类型包括所述公式中的变量、数字和运算符中的任意一种,所述节点的文本信息包括描述该节点的文字信息;
所述公式图网络模块,用于基于所述公式依赖图,利用公式图神经网络,将所述节点的文本信息和属性类型进行融合学习,以获得所述节点的表征向量,所述表征向量包括所述公式依赖图的结构与文本;
所述神经求解器模块,用于基于所述公式依赖图,将所述公式依赖图中的文字映射为文字向量;利用所述公式图神经网络中的融合字形网络结构,将所述节点的表征向量和所述文字向量嵌入语义向量;基于所述语义向量,生成所述待处理数学题的答案序列。
8.根据权利要求7所述的系统,其特征在于,所述公式图构造模块对所述待处理数学题中的公式进行提取,并依据提取的公式建立公式依赖图的过程具体包括:
提取所述待处理数学题包含的公式;
将提取的所述公式转换为TEX代码格式,并将TEX代码格式的公式替换所述待处理数学题中的公式;
将每个所述TEX代码格式的公式中的变量、数字和运算符对象作为一个节点,并根据所述节点与其他节点的关联关系,构建所述公式依赖图;
所述关联关系包括兄弟关系、父亲关系、孩子关系、旁亲关系和自环关系中的任意一种,所述兄弟关系表示两个节点处于同一层级且相互关联,所述父亲关系表示所述节点处于另一节点的高层层级且相互关联,所述孩子关系表示所述节点处于另一节点的低层层级且相互关联,所述旁亲关系表示所述公式中相同变量之间的关联关系,所述自环关系表示所述节点指向节点本身。
9.根据权利要求7所述的系统,其特征在于,所述公式图网络模块基于所述公式依赖图,利用公式图神经网络,将所述节点的文本信息和属性类型进行融合学习,以获得所述节点的表征向量,所述表征向量包括所述公式依赖图的结构与文本;的过程具体包括:
将所述公式依赖图表示为G={V,E,R};其中,V和R分别表示点集和关系集,E表示所述公式依赖图中边的集合;(vi,vj,r)∈E表示一条从节点vi到节点vj的具有关系r∈R的边;
基于G={V,E,R},所述公式图神经网络利用K个图卷积层学习所述节点的表征向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010668286.6A CN111950701B (zh) | 2020-07-13 | 2020-07-13 | 一种融合公式信息的数学题求解方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010668286.6A CN111950701B (zh) | 2020-07-13 | 2020-07-13 | 一种融合公式信息的数学题求解方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111950701A true CN111950701A (zh) | 2020-11-17 |
CN111950701B CN111950701B (zh) | 2022-09-02 |
Family
ID=73341719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010668286.6A Active CN111950701B (zh) | 2020-07-13 | 2020-07-13 | 一种融合公式信息的数学题求解方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111950701B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112906862A (zh) * | 2021-02-09 | 2021-06-04 | 柳州智视科技有限公司 | 基于算式和题目求解同类数学题的方法 |
CN113408294A (zh) * | 2021-05-31 | 2021-09-17 | 北京泰豪智能工程有限公司 | 语义工程平台的构建方法及语义工程平台 |
CN117033847A (zh) * | 2023-07-20 | 2023-11-10 | 华中师范大学 | 基于层次性递归树解码模型的数学应用题求解方法及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447106A (zh) * | 2015-11-10 | 2016-03-30 | 河南师范大学 | 一种数学运算系统 |
CN107357757A (zh) * | 2017-06-29 | 2017-11-17 | 成都考拉悠然科技有限公司 | 一种基于深度增强学习的代数应用题自动求解器 |
CN107590192A (zh) * | 2017-08-11 | 2018-01-16 | 深圳市腾讯计算机系统有限公司 | 文本问题的数学化处理方法、装置、设备和存储介质 |
CN109460553A (zh) * | 2018-11-05 | 2019-03-12 | 中山大学 | 一种基于门限卷积神经网络的机器阅读理解方法 |
CN109947912A (zh) * | 2019-01-25 | 2019-06-28 | 四川大学 | 一种基于段落内部推理和联合问题答案匹配的模型方法 |
CN110084239A (zh) * | 2019-04-10 | 2019-08-02 | 中国科学技术大学 | 降低离线手写数学公式识别时网络训练过拟合的方法 |
CN110414683A (zh) * | 2019-07-02 | 2019-11-05 | 科大讯飞股份有限公司 | 数学题解答方法及装置 |
CN110502627A (zh) * | 2019-08-28 | 2019-11-26 | 上海海事大学 | 一种基于多层Transformer聚合编码器的答案生成方法 |
CN110751137A (zh) * | 2019-09-04 | 2020-02-04 | 中山大学 | 一种自动求解数学题的方法和系统 |
CN111259632A (zh) * | 2020-02-10 | 2020-06-09 | 暗物智能科技(广州)有限公司 | 一种基于语义对齐的树结构数学应用题求解方法及系统 |
CN111340661A (zh) * | 2020-02-21 | 2020-06-26 | 电子科技大学 | 一种基于图神经网络的应用题自动解题方法 |
-
2020
- 2020-07-13 CN CN202010668286.6A patent/CN111950701B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447106A (zh) * | 2015-11-10 | 2016-03-30 | 河南师范大学 | 一种数学运算系统 |
CN107357757A (zh) * | 2017-06-29 | 2017-11-17 | 成都考拉悠然科技有限公司 | 一种基于深度增强学习的代数应用题自动求解器 |
CN107590192A (zh) * | 2017-08-11 | 2018-01-16 | 深圳市腾讯计算机系统有限公司 | 文本问题的数学化处理方法、装置、设备和存储介质 |
CN109460553A (zh) * | 2018-11-05 | 2019-03-12 | 中山大学 | 一种基于门限卷积神经网络的机器阅读理解方法 |
CN109947912A (zh) * | 2019-01-25 | 2019-06-28 | 四川大学 | 一种基于段落内部推理和联合问题答案匹配的模型方法 |
CN110084239A (zh) * | 2019-04-10 | 2019-08-02 | 中国科学技术大学 | 降低离线手写数学公式识别时网络训练过拟合的方法 |
CN110414683A (zh) * | 2019-07-02 | 2019-11-05 | 科大讯飞股份有限公司 | 数学题解答方法及装置 |
CN110502627A (zh) * | 2019-08-28 | 2019-11-26 | 上海海事大学 | 一种基于多层Transformer聚合编码器的答案生成方法 |
CN110751137A (zh) * | 2019-09-04 | 2020-02-04 | 中山大学 | 一种自动求解数学题的方法和系统 |
CN111259632A (zh) * | 2020-02-10 | 2020-06-09 | 暗物智能科技(广州)有限公司 | 一种基于语义对齐的树结构数学应用题求解方法及系统 |
CN111340661A (zh) * | 2020-02-21 | 2020-06-26 | 电子科技大学 | 一种基于图神经网络的应用题自动解题方法 |
Non-Patent Citations (2)
Title |
---|
DONGXIANG ZHANG等: "《The Gap of Semantic Parsing: A Survey on Automatic Math Word Problem Solvers》", 《IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE》 * |
苏喻等: "《学生得分预测:一种基于知识图谱的卷积自编码器》", 《中国科学技术大学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112906862A (zh) * | 2021-02-09 | 2021-06-04 | 柳州智视科技有限公司 | 基于算式和题目求解同类数学题的方法 |
CN113408294A (zh) * | 2021-05-31 | 2021-09-17 | 北京泰豪智能工程有限公司 | 语义工程平台的构建方法及语义工程平台 |
CN117033847A (zh) * | 2023-07-20 | 2023-11-10 | 华中师范大学 | 基于层次性递归树解码模型的数学应用题求解方法及系统 |
CN117033847B (zh) * | 2023-07-20 | 2024-04-19 | 华中师范大学 | 基于层次性递归树解码模型的数学应用题求解方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111950701B (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111950701B (zh) | 一种融合公式信息的数学题求解方法及系统 | |
CN109344391B (zh) | 基于神经网络的多特征融合中文新闻文本摘要生成方法 | |
CN108415923B (zh) | 封闭域的智能人机对话系统 | |
CN107766324B (zh) | 一种基于深度神经网络的文本一致性分析方法 | |
CN113177124B (zh) | 一种垂直领域知识图谱构建方法及系统 | |
CN114064918B (zh) | 一种多模态事件知识图谱构建方法 | |
CN108073677A (zh) | 一种基于人工智能的多级文本多标签分类方法及系统 | |
CN112860908A (zh) | 基于多源异构电力设备数据的知识图谱自动化构建方法 | |
CN111767732B (zh) | 基于图注意力模型的文档内容理解方法及系统 | |
CN108009285A (zh) | 基于自然语言处理的林业生态环境人机交互方法 | |
CN109783666A (zh) | 一种基于迭代精细化的图像场景图谱生成方法 | |
Lin et al. | Deep structured scene parsing by learning with image descriptions | |
WO2023159767A1 (zh) | 目标词语的检测方法、装置、电子设备及存储介质 | |
CN111339765A (zh) | 文本质量评估方法、文本推荐方法及装置、介质及设备 | |
CN115358234A (zh) | 基于图卷积网络与关系证据互指导的篇章关系抽取方法 | |
CN113868425B (zh) | 一种方面级情感分类方法 | |
US10628743B1 (en) | Automated ontology system | |
CN110781271A (zh) | 一种基于层次注意力机制的半监督网络表示学习模型 | |
Zhang et al. | A BERT fine-tuning model for targeted sentiment analysis of Chinese online course reviews | |
Maulud et al. | Review on natural language processing based on different techniques | |
CN116932661A (zh) | 一种面向网络安全的事件知识图谱构建方法 | |
CN109766546A (zh) | 一种基于神经网络的自然语言推理方法 | |
CN117131933A (zh) | 一种多模态知识图谱建立方法及应用 | |
CN114880307A (zh) | 一种开放教育领域知识的结构化建模方法 | |
CN113051904B (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 |