CN111340661A - 一种基于图神经网络的应用题自动解题方法 - Google Patents

一种基于图神经网络的应用题自动解题方法 Download PDF

Info

Publication number
CN111340661A
CN111340661A CN202010107940.6A CN202010107940A CN111340661A CN 111340661 A CN111340661 A CN 111340661A CN 202010107940 A CN202010107940 A CN 202010107940A CN 111340661 A CN111340661 A CN 111340661A
Authority
CN
China
Prior art keywords
graph
node
numerical value
neural network
word
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
Application number
CN202010107940.6A
Other languages
English (en)
Other versions
CN111340661B (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.)
Research Institute Of Yibin University Of Electronic Science And Technology
University of Electronic Science and Technology of China
Original Assignee
Research Institute Of Yibin University Of Electronic Science And Technology
University of Electronic Science and Technology of China
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 Research Institute Of Yibin University Of Electronic Science And Technology, University of Electronic Science and Technology of China filed Critical Research Institute Of Yibin University Of Electronic Science And Technology
Priority to CN202010107940.6A priority Critical patent/CN111340661B/zh
Publication of CN111340661A publication Critical patent/CN111340661A/zh
Application granted granted Critical
Publication of CN111340661B publication Critical patent/CN111340661B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations 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-2、构造图转换网络,将实值向量H和
Figure BDA0002389013460000031
作为图转换网络的输入;其中K是数值单元图对应的邻接矩阵和整个数值比较图对应的邻接矩阵的总数;
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、根据公式:
Figure BDA0002389013460000041
将每个输出特征连接起来并经过全连接层处理,得到中间特征Z。
进一步的,步骤S6的具体方法包括以下子步骤:
S6-1、将数值作为基于树形神经网络的解码器的叶子节点,将运算符作为非叶子节点;
S6-2、将中间特征Z进行池化后得到基于树形神经网络的解码器的根节点qroot;将属于运算符的词y表征定义为e(y,op),将属于常量数值的词y表征定义为e(y,con),将属于题干文本中的数值的词y表征定义为
Figure BDA0002389013460000042
Figure BDA0002389013460000043
为目标词典的嵌入向量矩阵;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、建立数字栈,从右到左遍历生成的解题等式树,对于遍历到的数字,将其入栈;对于遍历到的运算符,则将栈顶的数字弹出,即将后遍历的数字放在等式的前面,并和运算符合并写入等式中,进而通过解题等式树得到解题表达式。
进一步的,注意力模块的表达式为:
Figure BDA0002389013460000051
其中
Figure BDA0002389013460000052
和Wa为训练参数;Zs为中间特征Z中第s个节点,as为Zs对应的权值;exp(·)为以自然常数e为底的指数函数。
进一步的,左子节点生成模块的表达式为:
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均为中间参数。
进一步的,预测模块的预测方法为:
根据公式:
Figure BDA0002389013460000061
生成某个运算符或数值y'的概率s(y'|qp,Gc,P),进而得到每个运算符、常量和题干文本中数值的概率;其中
Figure BDA0002389013460000063
和Ws为训练参数;
根据公式:
Figure BDA0002389013460000062
获取概率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-2、构造图转换网络,将实值向量H和
Figure BDA0002389013460000091
作为图转换网络的输入;其中K是数值单元图对应的邻接矩阵和整个数值比较图对应的邻接矩阵的总数;
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、根据公式:
Figure BDA0002389013460000092
将每个输出特征连接起来并经过全连接层处理,得到中间特征Z。
步骤S6的具体方法包括以下子步骤:
S6-1、将数值作为基于树形神经网络的解码器的叶子节点,将运算符作为非叶子节点;
S6-2、将中间特征Z进行池化后得到基于树形神经网络的解码器的根节点qroot;将属于运算符的词y表征定义为e(y,op),将属于常量数值的词y表征定义为e(y,con),将属于题干文本中的数值的词y表征定义为
Figure BDA0002389013460000101
Figure BDA0002389013460000102
为目标词典的嵌入向量矩阵;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、建立数字栈,从右到左遍历生成的解题等式树,对于遍历到的数字,将其入栈;对于遍历到的运算符,则将栈顶的数字弹出,即将后遍历的数字放在等式的前面,并和运算符合并写入等式中,进而通过解题等式树得到解题表达式。
注意力模块的表达式为:
Figure BDA0002389013460000111
其中
Figure BDA0002389013460000112
和Wa为训练参数;Zs为中间特征Z中第s个节点,as为Zs对应的权值;exp(·)为以自然常数e为底的指数函数。
左子节点生成模块的表达式为:
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均为中间参数。
预测模块的预测方法为:根据公式:
Figure BDA0002389013460000121
生成某个运算符或数值y'的概率s(y'|qp,Gc,P),进而得到每个运算符、常量和题干文本中数值的概率;其中
Figure BDA0002389013460000122
和Ws为训练参数;
根据公式:
Figure BDA0002389013460000123
获取概率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分别为该右子节点对应的左子节点作为父节点时对应生成的左子节点和右子节点的嵌入参数。
在具体实施过程中,以应用题文本:348 teddy bears are sold for$23each.There are total 470 teddy bears in a store and the remaining teddy bearsare 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-2、构造图转换网络,将实值向量H和
Figure FDA0002389013450000021
作为图转换网络的输入;其中K是数值单元图对应的邻接矩阵和整个数值比较图对应的邻接矩阵的总数;
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、根据公式:
Figure FDA0002389013450000031
将每个输出特征连接起来并经过全连接层处理,得到中间特征Z。
5.根据权利要求1所述的基于图神经网络的应用题自动解题方法,其特征在于,所述步骤S6的具体方法包括以下子步骤:
S6-1、将数值作为基于树形神经网络的解码器的叶子节点,将运算符作为非叶子节点;
S6-2、将中间特征Z进行池化后得到基于树形神经网络的解码器的根节点qroot;将属于运算符的词y表征定义为e(y,op),将属于常量数值的词y表征定义为e(y,con),将属于题干文本中的数值的词y表征定义为
Figure FDA0002389013450000032
Figure FDA0002389013450000033
为目标词典的嵌入向量矩阵;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、建立数字栈,从右到左遍历生成的解题等式树,对于遍历到的数字,将其入栈;对于遍历到的运算符,则将栈顶的数字弹出,即将后遍历的数字放在等式的前面,并和运算符合并写入等式中,进而通过解题等式树得到解题表达式。
6.根据权利要求5所述的基于图神经网络的应用题自动解题方法,其特征在于,所述注意力模块的表达式为:
Figure FDA0002389013450000041
其中
Figure FDA0002389013450000042
和Wa为训练参数;Zs为中间特征Z中第s个节点,as为Zs对应的权值;exp(·)为以自然常数e为底的指数函数。
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均为中间参数。
8.根据权利要求5所述的基于图神经网络的应用题自动解题方法,其特征在于,所述预测模块的预测方法为:
根据公式:
Figure FDA0002389013450000051
生成某个运算符或数值y'的概率s(y'|qp,Gc,P),进而得到每个运算符、常量和题干文本中数值的概率;其中
Figure FDA0002389013450000052
和Ws为训练参数;
根据公式:
Figure FDA0002389013450000053
获取概率s(y'|qp,Gc,P)对应的概率prob(y'|qp,Gc,P);选取概率最高的prob(y'|qp,Gc,P)对应的运算符或数值作为预测的词yr;其中exp(·)为以自然常数e为底的指数函数。
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分别为该右子节点对应的左子节点作为父节点时对应生成的左子节点和右子节点的嵌入参数。
CN202010107940.6A 2020-02-21 2020-02-21 一种基于图神经网络的应用题自动解题方法 Expired - Fee Related CN111340661B (zh)

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 true CN111340661A (zh) 2020-06-26
CN111340661B 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)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111950701A (zh) * 2020-07-13 2020-11-17 中国科学技术大学 一种融合公式信息的数学题求解方法及系统
CN112818099A (zh) * 2021-01-29 2021-05-18 华南师范大学 基于多粒度分词的应用题解答处理方法、系统和存储介质
CN112860856A (zh) * 2021-02-10 2021-05-28 福州大学 一种算数应用题智能解题方法及系统
CN113095314A (zh) * 2021-04-07 2021-07-09 科大讯飞股份有限公司 一种公式识别方法、装置、存储介质及设备
CN113326347A (zh) * 2021-05-21 2021-08-31 四川省人工智能研究院(宜宾) 一种句法信息感知的作者归属方法
CN115049062A (zh) * 2022-08-16 2022-09-13 中国科学技术大学 一种基于知识学习的数学应用题智能解题方法及系统
WO2023179386A1 (zh) * 2022-03-22 2023-09-28 阿里巴巴(中国)有限公司 数据处理方法、设备、存储介质及程序产品
CN117033847A (zh) * 2023-07-20 2023-11-10 华中师范大学 基于层次性递归树解码模型的数学应用题求解方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357757A (zh) * 2017-06-29 2017-11-17 成都考拉悠然科技有限公司 一种基于深度增强学习的代数应用题自动求解器
CN108364068A (zh) * 2018-01-05 2018-08-03 华南师范大学 基于有向图的深度学习神经网络构建方法和机器人系统
CN109918514A (zh) * 2019-03-21 2019-06-21 江西风向标教育科技有限公司 一种数学题目知识点和解题方法的自动提取方法、装置、平台
CN110414683A (zh) * 2019-07-02 2019-11-05 科大讯飞股份有限公司 数学题解答方法及装置
CN110751137A (zh) * 2019-09-04 2020-02-04 中山大学 一种自动求解数学题的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357757A (zh) * 2017-06-29 2017-11-17 成都考拉悠然科技有限公司 一种基于深度增强学习的代数应用题自动求解器
CN108364068A (zh) * 2018-01-05 2018-08-03 华南师范大学 基于有向图的深度学习神经网络构建方法和机器人系统
CN109918514A (zh) * 2019-03-21 2019-06-21 江西风向标教育科技有限公司 一种数学题目知识点和解题方法的自动提取方法、装置、平台
CN110414683A (zh) * 2019-07-02 2019-11-05 科大讯飞股份有限公司 数学题解答方法及装置
CN110751137A (zh) * 2019-09-04 2020-02-04 中山大学 一种自动求解数学题的方法和系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
KYUNGHYUN CHO 等: "Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation", 《CORNELL UNIVERSITY》 *
MAZIAR RAISSI等: "Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations", 《JOURNAL OF COMPUTATIONAL PHYSICS》 *
叶至伟: "基于多维特征的题型自动分类技术及在智能题库中的应用", 《中国优秀硕士学位论文全文数据库 信息科技辑(月刊)》 *
孙劲光 等: "数字相关特征的文字应用题深度学习自动求解", 《辽宁工程技术大学学报(自然科学版)》 *
王磊: "基于深度强化学习的数学应用题自动求解器", 《中国优秀硕士学位论文全文数据库 基础科技辑(月刊)》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111950701B (zh) * 2020-07-13 2022-09-02 中国科学技术大学 一种融合公式信息的数学题求解方法及系统
CN111950701A (zh) * 2020-07-13 2020-11-17 中国科学技术大学 一种融合公式信息的数学题求解方法及系统
CN112818099B (zh) * 2021-01-29 2023-06-02 华南师范大学 基于多粒度分词的应用题解答处理方法、系统和存储介质
CN112818099A (zh) * 2021-01-29 2021-05-18 华南师范大学 基于多粒度分词的应用题解答处理方法、系统和存储介质
CN112860856B (zh) * 2021-02-10 2022-06-14 福州大学 一种算数应用题智能解题方法及系统
CN112860856A (zh) * 2021-02-10 2021-05-28 福州大学 一种算数应用题智能解题方法及系统
CN113095314A (zh) * 2021-04-07 2021-07-09 科大讯飞股份有限公司 一种公式识别方法、装置、存储介质及设备
CN113326347A (zh) * 2021-05-21 2021-08-31 四川省人工智能研究院(宜宾) 一种句法信息感知的作者归属方法
WO2023179386A1 (zh) * 2022-03-22 2023-09-28 阿里巴巴(中国)有限公司 数据处理方法、设备、存储介质及程序产品
CN115049062A (zh) * 2022-08-16 2022-09-13 中国科学技术大学 一种基于知识学习的数学应用题智能解题方法及系统
CN115049062B (zh) * 2022-08-16 2022-12-30 中国科学技术大学 一种基于知识学习的数学应用题智能解题方法及系统
CN117033847A (zh) * 2023-07-20 2023-11-10 华中师范大学 基于层次性递归树解码模型的数学应用题求解方法及系统
CN117033847B (zh) * 2023-07-20 2024-04-19 华中师范大学 基于层次性递归树解码模型的数学应用题求解方法及系统

Also Published As

Publication number Publication date
CN111340661B (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
CN111340661B (zh) 一种基于图神经网络的应用题自动解题方法
CN107239446B (zh) 一种基于神经网络与注意力机制的情报关系提取方法
CN107766324B (zh) 一种基于深度神经网络的文本一致性分析方法
CN111831789B (zh) 一种基于多层语义特征提取结构的问答文本匹配方法
CN111611809B (zh) 一种基于神经网络的汉语语句相似度计算方法
CN107562792A (zh) 一种基于深度学习的问答匹配方法
CN106855853A (zh) 基于深度神经网络的实体关系抽取系统
CN110765260A (zh) 一种基于卷积神经网络与联合注意力机制的信息推荐方法
CN107832400A (zh) 一种基于位置的lstm和cnn联合模型进行关系分类的方法
CN110033008B (zh) 一种基于模态变换与文本归纳的图像描述生成方法
CN110674252A (zh) 一种面向司法领域的高精度语义搜索系统
CN110765277B (zh) 一种基于知识图谱的移动端的在线设备故障诊断方法
CN113032418B (zh) 一种基于树状模型的复杂自然语言查询转sql方法
CN109522396B (zh) 一种面向国防科技领域的知识处理方法及系统
CN111581364B (zh) 一种面向医疗领域的中文智能问答短文本相似度计算方法
CN115496072A (zh) 一种基于对比学习的关系抽取方法
CN115114436A (zh) 融合段落信息的篇章级文本连贯性分类方法
CN111666374A (zh) 一种在深度语言模型中融入额外知识信息的方法
Zhang Cfgnn: Cross flow graph neural networks for question answering on complex tables
CN110516240A (zh) 一种基于Transformer的语义相似度计算模型DSSM技术
CN114444694A (zh) 一种开放世界知识图谱补全方法及装置
CN111382333B (zh) 基于案件相关性联合学习与图卷积的新闻文本句中案件要素抽取方法
CN117094395A (zh) 对知识图谱进行补全的方法、装置和计算机存储介质
CN117271558A (zh) 语言查询模型构建方法、查询语言获取方法及相关装置
CN112231455A (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

Granted publication date: 20201201

CF01 Termination of patent right due to non-payment of annual fee