CN111340661B - 一种基于图神经网络的应用题自动解题方法 - Google Patents
一种基于图神经网络的应用题自动解题方法 Download PDFInfo
- Publication number
- CN111340661B CN111340661B CN202010107940.6A CN202010107940A CN111340661B CN 111340661 B CN111340661 B CN 111340661B CN 202010107940 A CN202010107940 A CN 202010107940A CN 111340661 B CN111340661 B CN 111340661B
- Authority
- CN
- China
- Prior art keywords
- graph
- node
- numerical value
- neural network
- numerical
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 41
- 230000014509 gene expression Effects 0.000 claims abstract description 25
- 238000011176 pooling Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 17
- 230000000306 recurrent effect Effects 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000003058 natural language processing Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000002790 cross-validation Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
-
- 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/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于图神经网络的应用题自动解题方法,本发明首先使用循环神经网络编码输入的应用题文本,并同时构造数值单元图和数值比较图,循环神经网络的输出(词级表示)用作节点特征。节点特征与两个构造的图一起输入到基于图神经网络的编码器中,以学习题目的图表示特征,使最终的图特征能够包含数值的文本关系和大小信息。并将一个池化项用于将不同组的图特征聚合为一个,得到图转换器的输出。最后,将输出的图特征用作基于树结构的解码器的输入,以生成最终的求解表达式树。本发明通过丰富问题中的数值表征来提高任务性能,可以取得更好的解题效果。
Description
技术领域
本发明涉及计算语言学领域,具体涉及一种基于图神经网络的应用题自动解题方法。
背景技术
解数学题即根据文本描述自动回答数学问题,自1960年代以来一直吸引着研究者的关注,是一项重要的自然语言理解任务。典型的数学应用题是给出一个问题的描述并给出一个有关未知数量的问题的简短叙述。较早的研究尝试通过统计机器学习方法和语义解析方法来设计自动求解器。但是这些方法因为需要花费大量的精力来设计合适的功能和表达模板,泛化性比较差。
近年来开始出现了基于深度学习的自动求解器。这些深度学习方法能够自动获取特征学习信息,并能够生成训练数据集中不存在的新求解表达式,同时它们在规模较大且复杂的数据集上也达到了很高的性能。该类方法中最先被提出的是在2017年出现的深度神经解题器(DNS)。该方法在提出模型的同时收集了一个大规模数学题(Math Word Problem,MWP)数据集来评估自动解题器的性能。从那时起,许多研究工作都投身于了改、进基于深度学习的自动求解器。一方面,比较有代表性的改进是分组注意模型(GROUPATT)和表达式规范化方法(Math-EN),它们分别着眼于改进中间过程和模型的输入。另一方面,改进数量表征的获取方式和生成过程也是实现更好的解决方案表达方式的潜在方法,具体来说,现有的深度学习模型无法有效地获取题目中数量之间的大小关系和顺序信息,而且无法很好地在生成过程中利用相关信息,从而导致获取的特征无法准确地表达题目中的关键信息,最终导致生成的求解表达式不准确。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于图神经网络的应用题自动解题方法解决了现有的深度学习模型生成的解题表达式正确率低的问题。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种基于图神经网络的应用题自动解题方法,其包括以下步骤:
S1、将题干文本中的文字单词和数值单词分别归至文字集合和数值集合;
S2、通过循环神经网络将所有文字单词表示为具有固定维度的实值向量;
S3、对于题干文本中每一个数值,找出与其相关的一组词并连上无向边,得到数值单元图;
S4、对于题干文本中每两个不同数值,从数值大的作一条单向边至数值小的,得到数值比较图;
S5、通过基于图神经网络构建的编码器将实值向量、数值单元图和数值比较图转化为中间特征;
S6、通过基于树形神经网络构造的解码器将中间特征转化为解题等式;
S7、根据解题等式求取对应的答案,完成自动解题。
进一步的,步骤S2的具体方法为:
通过双向循环神经网络获取文字单词的集合Vp={v1,...,vm}的单词级隐状态表征H={h1,...,hN},并将得到的单词级隐状态表征H作为该题干文本对应的实值向量;其中N=m+1,vm为题干文本中第m个文字单词,hN为单词级隐状态表征中第N个元素。
进一步的,步骤S3的具体方法包括以下子步骤:
S3-1、通过斯坦福核心自然语言处理工具包实现的依赖关系解析和POS标记获取题干文本中每个文字单词的属性,并找出与题干文本中每一个数值相关联的一组词;其中文字单词的属性包括:
数值:数值信息;
关联名词:在依存关系树中通过num,number,prep_of和数值相关的名词;
关联形容词:在依存关系树中通过amod和数值以及关联名词相关的形容词;
关联动词:在依存关系树中通过nsubj,dobj和数值相关的动词;
单位和比率:在依存关系树中和数值相关的名词中包含了“每”这一类的词;
S3-2、将每个数值和与其相关的词的属性之间连上无向边,得到数值单元图。
进一步的,步骤S5的具体方法包括以下子步骤:
S5-1、对于数值单元图和数值比较图,将每个数值视为一个节点,判断第i个节点和第j个节点之间是否存在一条边,若是则将边Ai,j赋值为1,否则赋值为0,得到第i个节点和第j个节点的邻接矩阵(i,j,Ai,j),进而得到整个数值单元图对应的邻接矩阵Aqcell和整个数值比较图对应的邻接矩阵Aqcomp;
S5-3、根据公式:
GConv(Ak,H)=relu(AkHTWgk)
GCN(Ak,H)=GConv2(Ak,GConv1(Ak,H))
对图转换网络的输入进行K头图卷积,得到K个dk维的输出特征GCN(Ak,H);其中relu(·)为线性整流函数,(·)T为矩阵的转置,GConv1(·)和GConv2(·)均为GConv(·)运算,即图卷积运算;
S5-4、根据公式:
将每个输出特征连接起来并经过全连接层处理,得到中间特征Z。
进一步的,步骤S6的具体方法包括以下子步骤:
S6-1、将数值作为基于树形神经网络的解码器的叶子节点,将运算符作为非叶子节点;
S6-2、将中间特征Z进行池化后得到基于树形神经网络的解码器的根节点qroot;将属于运算符的词y表征定义为e(y,op),将属于常量数值的词y表征定义为e(y,con),将属于题干文本中的数值的词y表征定义为 为目标词典的嵌入向量矩阵;P为题干文本中的词的序列集合;
S6-3、根据公式:
Gc=GTS-Attention(qroot,Z)
使用注意力模块将中间特征Z中的所有节点进行编码得到全局图向量Gc;其中GTS-Attention(·)表示注意力模块;中间特征Z中的所有节点包括数值和运算符;
S6-4、根据公式:
ql=GTS-left(qp,Gc,e(y|P))
yl=GTS-Predict(ql,Gc,e(y|P))
基于当前父节点qp生成新的左子节点ql并预测对应的词yl;其中GTS-left(·)为左子节点生成模块,GTS-Predict(·)表示预测模块;根节点qroot为初始父节点;
S6-5、判断词y1是否为运算符,若是则将新的左子节点ql作为新的父节点创建两个空的子节点位置,并返回步骤S6-4;否则进入步骤S6-6;
S6-6、根据公式:
qr=GTS-Right(qp,Gc,t,e(y|P))
yr=GTS-Predict(qr,Gc,e(y|P))
基于当前父节点qp生成新的右子节点qr并预测对应的词yr;其中GTS-Right(·)为右子节点生成模块;t嵌入参数;
S6-7、判断是否还存在空右节点,若是则返回步骤S6-4,否则完成一个以前缀表达式形式存在的解题等式树的生成,并进入步骤S6-8;
S6-8、建立数字栈,从右到左遍历生成的解题等式树,对于遍历到的数字,将其入栈;对于遍历到的运算符,则将栈顶的数字弹出,即将后遍历的数字放在等式的前面,并和运算符合并写入等式中,进而通过解题等式树得到解题表达式。
进一步的,注意力模块的表达式为:
进一步的,左子节点生成模块的表达式为:
ol=σ(Wol[qp,Gc,e(y|P)])
Cl=tanh(Wcl[qp,Gc,e(y|P)])
hl=ol⊙Cl
gl=σ(Wglhl)
Qle=tanh(Wlehl)
ql=gl⊙Qle
其中Wol、Wcl、Wgl和Wle均为训练参数,ol、Cl、hl、gl和Qle均为中间参数,⊙表示同或运算;σ(·)为sigma函数;tanh(·)为双曲正切函数;
右子节点生成模块的表达式为:
or=σ(Wor[qp,Gc,e(y|P)])
Cr=tanh(Wcr[qp,Gc,e(y|P)])
hr=or⊙Cr
gr=σ(Wgr[hr,t])
Qre=tanh(Wre[hr,t])
qr=gr⊙Qre
其中Wor、Wcr、Wgr和Wre均为训练参数;or、Cr、hr、gr和Qre均为中间参数。
进一步的,预测模块的预测方法为:
根据公式:
根据公式:
获取概率s(y'|qp,Gc,P)对应的概率prob(y'|qp,Gc,P);选取概率最高的prob(y'|qp,Gc,P)对应的运算符或数值作为预测的词yr;其中exp(·)为以自然常数e为底的指数函数。
进一步的,嵌入参数t的获取方法为:
判断当前右子节点对应的左子节点所预测的词yl是运算符还是数值,若是运算符,则根据公式:
t=σ(Wgt[tl,tr,e(yl|P)])⊙tanh(Wct[tl,tr,e(yl|P)])
获取嵌入参数t;若是数值,则将e(yl|P)作为嵌入参数t;其中⊙表示同或运算;σ(·)为sigma函数;tanh(·)为双曲正切函数;Wgt和Wct均为训练参数;tl和tr分别为该右子节点对应的左子节点作为父节点时对应生成的左子节点和右子节点的嵌入参数。
本发明的有益效果为:
1、本发明首先使用循环神经网络编码输入的应用题文本,并同时构造数值单元图和数值比较图,循环神经网络的输出(词级表示)用作节点特征。节点特征与两个构造的图一起输入到基于图神经网络的编码器中,以学习题目的图表示特征,使最终的图特征能够包含数值的文本关系和大小信息。并将一个池化项用于将不同组的图特征聚合为一个,得到图转换器的输出。最后,将输出的图特征用作基于树结构的解码器的输入,以生成最终的求解表达式树。本发明通过丰富问题中的数值表征来提高任务性能,可以取得更好的解题效果。
2、本方法提取题干文本中数值的相关名词,动词,形容词,单位和比率等信息,基于这些相关信息和数值构造一个数值单元图,即将提取相关描述性词语直接连接到相关的数值,基于构造的数值单元图,使用神经网络模型来学习数值表示,可以有效地对数值与描述词关系进行建模。
3、本方法通过建立数值比较图解决了数值信息的损失问题,避免了应用题数据上生成不符合实际的错误答案。
附图说明
图1为本发明的流程示意图;
图2为实施例中的流程示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,该基于图神经网络的应用题自动解题方法包括以下步骤:
S1、将题干文本中的文字单词和数值单词分别归至文字集合和数值集合;
S2、通过循环神经网络将所有文字单词表示为具有固定维度的实值向量;
S3、对于题干文本中每一个数值,找出与其相关的一组词并连上无向边,得到数值单元图;
S4、对于题干文本中每两个不同数值,从数值大的作一条单向边至数值小的,得到数值比较图;
S5、通过基于图神经网络构建的编码器将实值向量、数值单元图和数值比较图转化为中间特征;
S6、通过基于树形神经网络构造的解码器将中间特征转化为解题等式;
S7、根据解题等式求取对应的答案,完成自动解题。
步骤S2的具体方法为:通过双向循环神经网络获取文字单词的集合Vp={v1,...,vm}的单词级隐状态表征H={h1,...,hN},并将得到的单词级隐状态表征H作为该题干文本对应的实值向量;其中N=m+1,vm为题干文本中第m个文字单词,hN为单词级隐状态表征中第N个元素。
步骤S3的具体方法包括以下子步骤:
S3-1、通过斯坦福核心自然语言处理工具包实现的依赖关系解析和POS标记获取题干文本中每个文字单词的属性,并找出与题干文本中每一个数值相关联的一组词;其中文字单词的属性包括:
数值:数值信息;
关联名词:在依存关系树中通过num,number,prep_of和数值相关的名词;
关联形容词:在依存关系树中通过amod和数值以及关联名词相关的形容词;
关联动词:在依存关系树中通过nsubj,dobj和数值相关的动词;
单位和比率:在依存关系树中和数值相关的名词中包含了“每”这一类的词;
S3-2、将每个数值和与其相关的词的属性之间连上无向边,得到数值单元图。
步骤S5的具体方法包括以下子步骤:
S5-1、对于数值单元图和数值比较图,将每个数值视为一个节点,判断第i个节点和第j个节点之间是否存在一条边,若是则将边Ai,j赋值为1,否则赋值为0,得到第i个节点和第j个节点的邻接矩阵(i,j,Ai,j),进而得到整个数值单元图对应的邻接矩阵Aqcell和整个数值比较图对应的邻接矩阵Aqcomp;
S5-3、根据公式:
GConv(Ak,H)=relu(AkHTWgk)
GCN(Ak,H)=GConv2(Ak,GConv1(Ak,H))
对图转换网络的输入进行K头图卷积,得到K个dk维的输出特征GCN(Ak,H);其中relu(·)为线性整流函数,(·)T为矩阵的转置,GConv1(·)和GConv2(·)均为GConv(·)运算,即图卷积运算;
S5-4、根据公式:
将每个输出特征连接起来并经过全连接层处理,得到中间特征Z。
步骤S6的具体方法包括以下子步骤:
S6-1、将数值作为基于树形神经网络的解码器的叶子节点,将运算符作为非叶子节点;
S6-2、将中间特征Z进行池化后得到基于树形神经网络的解码器的根节点qroot;将属于运算符的词y表征定义为e(y,op),将属于常量数值的词y表征定义为e(y,con),将属于题干文本中的数值的词y表征定义为 为目标词典的嵌入向量矩阵;P为题干文本中的词的序列集合;
S6-3、根据公式:
Gc=GTS-Attention(qroot,Z)
使用注意力模块将中间特征Z中的所有节点进行编码得到全局图向量Gc;其中GTS-Attention(·)表示注意力模块;中间特征Z中的所有节点包括数值和运算符;
S6-4、根据公式:
ql=GTS-left(qp,Gc,e(y|P))
yl=GTS-Predict(ql,Gc,e(y|P))
基于当前父节点qp生成新的左子节点ql并预测对应的词yl;其中GTS-left(·)为左子节点生成模块,GTS-Predict(·)表示预测模块;根节点qroot为初始父节点;
S6-5、判断词y1是否为运算符,若是则将新的左子节点ql作为新的父节点创建两个空的子节点位置,并返回步骤S6-4;否则进入步骤S6-6;
S6-6、根据公式:
qr=GTS-Right(qp,Gc,t,e(y|P))
yr=GTS-Predict(qr,Gc,e(y|P))
基于当前父节点qp生成新的右子节点qr并预测对应的词yr;其中GTS-Right(·)为右子节点生成模块;t嵌入参数;
S6-7、判断是否还存在空右节点,若是则返回步骤S6-4,否则完成一个以前缀表达式形式存在的解题等式树的生成,并进入步骤S6-8;
S6-8、建立数字栈,从右到左遍历生成的解题等式树,对于遍历到的数字,将其入栈;对于遍历到的运算符,则将栈顶的数字弹出,即将后遍历的数字放在等式的前面,并和运算符合并写入等式中,进而通过解题等式树得到解题表达式。
注意力模块的表达式为:
左子节点生成模块的表达式为:
ol=σ(Wol[qp,Gc,e(y|P)])
Cl=tanh(Wcl[qp,Gc,e(y|P)])
hl=ol⊙Cl
gl=σ(Wglhl)
Qle=tanh(Wlehl)
ql=gl⊙Qle
其中Wol、Wcl、Wgl和Wle均为训练参数,ol、Cl、hl、gl和Qle均为中间参数,⊙表示同或运算;σ(·)为sigma函数;tanh(·)为双曲正切函数;
右子节点生成模块的表达式为:
or=σ(Wor[qp,Gc,e(y|P)])
Cr=tanh(Wcr[qp,Gc,e(y|P)])
hr=or⊙Cr
gr=σ(Wgr[hr,t])
Qre=tanh(Wre[hr,t])
qr=gr⊙Qre
其中Wor、Wcr、Wgr和Wre均为训练参数;or、Cr、hr、gr和Qre均为中间参数。
预测模块的预测方法为:根据公式:
根据公式:
获取概率s(y'|qp,Gc,P)对应的概率prob(y'|qp,Gc,P);选取概率最高的prob(y'|qp,Gc,P)对应的运算符或数值作为预测的词yr;其中exp(·)为以自然常数e为底的指数函数。
嵌入参数t的获取方法为:判断当前右子节点对应的左子节点所预测的词yl是运算符还是数值,若是运算符,则根据公式:
t=σ(Wgt[tl,tr,e(yl|P)])⊙tanh(Wct[tl,tr,e(yl|P)])
获取嵌入参数t;若是数值,则将e(yl|P)作为嵌入参数t;其中⊙表示同或运算;σ(·)为sigma函数;tanh(·)为双曲正切函数;Wgt和Wct均为训练参数;tl和tr分别为该右子节点对应的左子节点作为父节点时对应生成的左子节点和右子节点的嵌入参数。
在具体实施过程中,以应用题文本:348teddy bears are sold for$23each.There are total 470teddy bears in a store and the remaining teddybears are sold for$17 each.How much did the store earn after selling all theteddy bears?为例,如图2所示,该应用题文本通过本方法依次通过节点初始化、图构建、图编辑器和解码器,得到的以前缀表达式形式存在的解题等式树形式为“+×348 23×17–470348”,然后根据步骤S6-8的方法首先遍历到的是“348,470”,将它们入栈;然后遇到“-”,得到计算式“(470-348)”;接下来入栈“17”并遍历到“×”,得到计算式“17×(470-348)”;之后再入栈“23,348”,遍历到×+后,得到计算式“348×23+17×(470-348)”。
在本发明的一个实施例中,两个常用的数据集:其中MAWPS有2,373个问题,而Math23K有23,162个问题。对于Math23K数据集,某些方法使用“Math23K*”表示的5折交叉验证进行评估,而其他方法则使用公开可用的训练测试集划分(表示为“Math23K”)进行评估。对于MAWPS数据集,通过5折交叉验证对模型进行评估。在先前的工作之后,将解决方***率用作评估指标。由表1(数据代表模型在测试集上的准确率,数值越大越好)可以看出,本方法相比现有的GROUPATT方法、Math-EN方法和DNS方法的效果都好。
表1:本方法与现有方法的效果对比
MAWPS | Math23K | Math23K* | |
DNS | 59.5 | - | 58.1 |
Math-EN | 69.2 | 66.9 | - |
GROUPATT | 76.1 | 69.5 | 66.9 |
本方法 | 83.7 | 77.4 | 75.5 |
综上所述,本发明首先使用循环神经网络编码输入的应用题文本,并同时构造数值单元图和数值比较图,循环神经网络的输出(词级表示)用作节点特征。节点特征与两个构造的图一起输入到基于图神经网络的编码器中,以学习题目的图表示特征,使最终的图特征能够包含数值的文本关系和大小信息。并将一个池化项用于将不同组的图特征聚合为一个,得到图转换器的输出。最后,将输出的图特征用作基于树结构的解码器的输入,以生成最终的求解表达式树。本发明通过丰富问题中的数值表征来提高任务性能,可以取得更好的解题效果。
Claims (9)
1.一种基于图神经网络的应用题自动解题方法,其特征在于,包括以下步骤:
S1、将题干文本中的文字单词和数值单词分别归至文字集合和数值集合;
S2、通过循环神经网络将所有文字单词表示为具有固定维度的实值向量;
S3、对于题干文本中每一个数值,找出与其相关的一组词并连上无向边,得到数值单元图;
S4、对于题干文本中每两个不同数值,从数值大的作一条单向边至数值小的,得到数值比较图;
S5、通过基于图神经网络构建的编码器将实值向量、数值单元图和数值比较图转化为中间特征;
S6、通过基于树形神经网络构造的解码器将中间特征转化为解题等式;
S7、根据解题等式求取对应的答案,完成自动解题。
2.根据权利要求1所述的基于图神经网络的应用题自动解题方法,其特征在于,所述步骤S2的具体方法为:
通过双向循环神经网络获取文字单词的集合Vp={v1,...,vm}的单词级隐状态表征H={h1,...,hN},并将得到的单词级隐状态表征H作为该题干文本对应的实值向量;其中N=m+1,vm为题干文本中第m个文字单词,hN为单词级隐状态表征中第N个元素。
3.根据权利要求1所述的基于图神经网络的应用题自动解题方法,其特征在于,所述步骤S3的具体方法包括以下子步骤:
S3-1、通过斯坦福核心自然语言处理工具包实现的依赖关系解析和POS标记获取题干文本中每个文字单词的属性,并找出与题干文本中每一个数值相关联的一组词;其中文字单词的属性包括:
数值:数值信息;
关联名词:在依存关系树中通过num,number,prep_of和数值相关的名词;
关联形容词:在依存关系树中通过amod和数值以及关联名词相关的形容词;
关联动词:在依存关系树中通过nsubj,dobj和数值相关的动词;
单位和比率:在依存关系树中和数值相关的名词中包含了“每”这一类的词;
S3-2、将每个数值和与其相关的词的属性之间连上无向边,得到数值单元图。
4.根据权利要求1所述的基于图神经网络的应用题自动解题方法,其特征在于,所述步骤S5的具体方法包括以下子步骤:
S5-1、对于数值单元图和数值比较图,将每个数值视为一个节点,判断第i个节点和第j个节点之间是否存在一条边,若是则将边Ai,j赋值为1,否则赋值为0,得到第i个节点和第j个节点的邻接矩阵(i,j,Ai,j),进而得到整个数值单元图对应的邻接矩阵Aqcell和整个数值比较图对应的邻接矩阵Aqcomp;
S5-3、根据公式:
GConv(Ak,H)=relu(AkHTWgk)
GCN(Ak,H)=GConv2(Ak,GConv1(Ak,H))
对图转换网络的输入进行K头图卷积,得到K个dk维的输出特征GCN(Ak,H);其中relu(·)为线性整流函数,(·)T为矩阵的转置,GConv1(·)和GConv2(·)均为GConv(·)运算,即图卷积运算;
S5-4、根据公式:
将每个输出特征连接起来并经过全连接层处理,得到中间特征Z。
5.根据权利要求1所述的基于图神经网络的应用题自动解题方法,其特征在于,所述步骤S6的具体方法包括以下子步骤:
S6-1、将数值作为基于树形神经网络的解码器的叶子节点,将运算符作为非叶子节点;
S6-2、将中间特征Z进行池化后得到基于树形神经网络的解码器的根节点qroot;将属于运算符的词y表征定义为e(y,op),将属于常量数值的词y表征定义为e(y,con),将属于题干文本中的数值的词y表征定义为 为目标词典的嵌入向量矩阵;P为题干文本中的词的序列集合;
S6-3、根据公式:
Gc=GTS-Attention(qroot,Z)
使用注意力模块将中间特征Z中的所有节点进行编码得到全局图向量Gc;其中GTS-Attention(·)表示注意力模块;中间特征Z中的所有节点包括数值和运算符;
S6-4、根据公式:
ql=GTS-left(qp,Gc,e(y|P))
yl=GTS-Predict(ql,Gc,e(y|P))
基于当前父节点qp生成新的左子节点ql并预测对应的词yl;其中GTS-left(·)为左子节点生成模块,GTS-Predict(·)表示预测模块;根节点qroot为初始父节点;
S6-5、判断词y1是否为运算符,若是则将新的左子节点ql作为新的父节点创建两个空的子节点位置,并返回步骤S6-4;否则进入步骤S6-6;
S6-6、根据公式:
qr=GTS-Right(qp,Gc,t,e(y|P))
yr=GTS-Predict(qr,Gc,e(y|P))
基于当前父节点qp生成新的右子节点qr并预测对应的词yr;其中GTS-Right(·)为右子节点生成模块;t嵌入参数;
S6-7、判断是否还存在空右节点,若是则返回步骤S6-4,否则完成一个以前缀表达式形式存在的解题等式树的生成,并进入步骤S6-8;
S6-8、建立数字栈,从右到左遍历生成的解题等式树,对于遍历到的数字,将其入栈;对于遍历到的运算符,则将栈顶的数字弹出,即将后遍历的数字放在等式的前面,并和运算符合并写入等式中,进而通过解题等式树得到解题表达式。
7.根据权利要求5所述的基于图神经网络的应用题自动解题方法,其特征在于,所述左子节点生成模块的表达式为:
ol=σ(Wol[qp,Gc,e(y|P)])
Cl=tanh(Wcl[qp,Gc,e(y|P)])
hl=ol⊙Cl
gl=σ(Wglhl)
Qle=tanh(Wlehl)
ql=gl⊙Qle
其中Wol、Wcl、Wgl和Wle均为训练参数,ol、Cl、hl、gl和Qle均为中间参数,⊙表示同或运算;σ(·)为sigma函数;tanh(·)为双曲正切函数;
所述右子节点生成模块的表达式为:
or=σ(Wor[qp,Gc,e(y|P)])
Cr=tanh(Wcr[qp,Gc,e(y|P)])
hr=or⊙Cr
gr=σ(Wgr[hr,t])
Qre=tanh(Wre[hr,t])
qr=gr⊙Qre
其中Wor、Wcr、Wgr和Wre均为训练参数;or、Cr、hr、gr和Qre均为中间参数。
9.根据权利要求5所述的基于图神经网络的应用题自动解题方法,其特征在于,所述嵌入参数t的获取方法为:
判断当前右子节点对应的左子节点所预测的词yl是运算符还是数值,若是运算符,则根据公式:
t=σ(Wgt[tl,tr,e(yl|P)])⊙tanh(Wct[tl,tr,e(yl|P)])
获取嵌入参数t;若是数值,则将e(yl|P)作为嵌入参数t;其中⊙表示同或运算;σ(·)为sigma函数;tanh(·)为双曲正切函数;Wgt和Wct均为训练参数;tl和tr分别为该右子节点对应的左子节点作为父节点时对应生成的左子节点和右子节点的嵌入参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010107940.6A CN111340661B (zh) | 2020-02-21 | 2020-02-21 | 一种基于图神经网络的应用题自动解题方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010107940.6A CN111340661B (zh) | 2020-02-21 | 2020-02-21 | 一种基于图神经网络的应用题自动解题方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111340661A CN111340661A (zh) | 2020-06-26 |
CN111340661B true CN111340661B (zh) | 2020-12-01 |
Family
ID=71181678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010107940.6A Expired - Fee Related CN111340661B (zh) | 2020-02-21 | 2020-02-21 | 一种基于图神经网络的应用题自动解题方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111340661B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950701B (zh) * | 2020-07-13 | 2022-09-02 | 中国科学技术大学 | 一种融合公式信息的数学题求解方法及*** |
CN112818099B (zh) * | 2021-01-29 | 2023-06-02 | 华南师范大学 | 基于多粒度分词的应用题解答处理方法、***和存储介质 |
CN112860856B (zh) * | 2021-02-10 | 2022-06-14 | 福州大学 | 一种算数应用题智能解题方法及*** |
CN113095314B (zh) * | 2021-04-07 | 2024-07-09 | 科大讯飞股份有限公司 | 一种公式识别方法、装置、存储介质及设备 |
CN113326347B (zh) * | 2021-05-21 | 2021-10-08 | 四川省人工智能研究院(宜宾) | 一种句法信息感知的作者归属方法 |
CN114647981A (zh) * | 2022-03-22 | 2022-06-21 | 阿里巴巴(中国)有限公司 | 数据处理方法、设备、存储介质及程序产品 |
CN115049062B (zh) * | 2022-08-16 | 2022-12-30 | 中国科学技术大学 | 一种基于知识学习的数学应用题智能解题方法及*** |
CN117033847B (zh) * | 2023-07-20 | 2024-04-19 | 华中师范大学 | 基于层次性递归树解码模型的数学应用题求解方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357757A (zh) * | 2017-06-29 | 2017-11-17 | 成都考拉悠然科技有限公司 | 一种基于深度增强学习的代数应用题自动求解器 |
CN110414683A (zh) * | 2019-07-02 | 2019-11-05 | 科大讯飞股份有限公司 | 数学题解答方法及装置 |
CN110751137A (zh) * | 2019-09-04 | 2020-02-04 | 中山大学 | 一种自动求解数学题的方法和*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108364068B (zh) * | 2018-01-05 | 2021-04-13 | 华南师范大学 | 基于有向图的深度学习神经网络构建方法和机器人*** |
CN109918514A (zh) * | 2019-03-21 | 2019-06-21 | 江西风向标教育科技有限公司 | 一种数学题目知识点和解题方法的自动提取方法、装置、平台 |
-
2020
- 2020-02-21 CN CN202010107940.6A patent/CN111340661B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357757A (zh) * | 2017-06-29 | 2017-11-17 | 成都考拉悠然科技有限公司 | 一种基于深度增强学习的代数应用题自动求解器 |
CN110414683A (zh) * | 2019-07-02 | 2019-11-05 | 科大讯飞股份有限公司 | 数学题解答方法及装置 |
CN110751137A (zh) * | 2019-09-04 | 2020-02-04 | 中山大学 | 一种自动求解数学题的方法和*** |
Non-Patent Citations (3)
Title |
---|
Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations;Maziar Raissi等;《Journal of Computational Physics》;20190201;第686-707页 * |
基于深度强化学习的数学应用题自动求解器;王磊;《中国优秀硕士学位论文全文数据库 基础科技辑(月刊)》;20200115(第1期);第A002-1252页 * |
数字相关特征的文字应用题深度学习自动求解;孙劲光 等;《辽宁工程技术大学学报(自然科学版)》;20191015;第38卷(第5期);第459-462页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111340661A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340661B (zh) | 一种基于图神经网络的应用题自动解题方法 | |
CN107766324B (zh) | 一种基于深度神经网络的文本一致性分析方法 | |
CN111831789B (zh) | 一种基于多层语义特征提取结构的问答文本匹配方法 | |
CN106855853A (zh) | 基于深度神经网络的实体关系抽取*** | |
CN110674252A (zh) | 一种面向司法领域的高精度语义搜索*** | |
CN110765277B (zh) | 一种基于知识图谱的移动端的在线设备故障诊断方法 | |
CN111125333B (zh) | 一种基于表示学习与多层覆盖机制的生成式知识问答方法 | |
CN101661462A (zh) | 四层结构的中文文本正则化体系及实现 | |
CN113032418B (zh) | 一种基于树状模型的复杂自然语言查询转sql方法 | |
CN111581364B (zh) | 一种面向医疗领域的中文智能问答短文本相似度计算方法 | |
CN115048447B (zh) | 一种基于智能语义补全的数据库自然语言接口*** | |
CN109522396B (zh) | 一种面向国防科技领域的知识处理方法及*** | |
CN110516240A (zh) | 一种基于Transformer的语义相似度计算模型DSSM技术 | |
CN114579741B (zh) | 融合句法信息的gcn-rn方面级情感分析方法和*** | |
CN115496072A (zh) | 一种基于对比学习的关系抽取方法 | |
Trabelsi et al. | SeLaB: Semantic labeling with BERT | |
CN111666374A (zh) | 一种在深度语言模型中融入额外知识信息的方法 | |
Zhang | Cfgnn: Cross flow graph neural networks for question answering on complex tables | |
Suissa et al. | Question answering with deep neural networks for semi-structured heterogeneous genealogical knowledge graphs | |
CN117932066A (zh) | 一种基于预训练的“提取-生成”式答案生成模型及方法 | |
CN113065324A (zh) | 一种基于结构化三元组和锚定模板的文本生成方法及装置 | |
CN117709465A (zh) | 一种基于大语言模型的关键信息抽取方法 | |
CN117271558A (zh) | 语言查询模型构建方法、查询语言获取方法及相关装置 | |
CN112231455A (zh) | 一种机器阅读理解方法及*** | |
CN114579605B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201201 |