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

技术编号:24688040 阅读:28 留言:0更新日期:2020-06-27 09:14
本发明专利技术公开了一种基于图神经网络的应用题自动解题方法,本发明专利技术首先使用循环神经网络编码输入的应用题文本,并同时构造数值单元图和数值比较图,循环神经网络的输出(词级表示)用作节点特征。节点特征与两个构造的图一起输入到基于图神经网络的编码器中,以学习题目的图表示特征,使最终的图特征能够包含数值的文本关系和大小信息。并将一个池化项用于将不同组的图特征聚合为一个,得到图转换器的输出。最后,将输出的图特征用作基于树结构的解码器的输入,以生成最终的求解表达式树。本发明专利技术通过丰富问题中的数值表征来提高任务性能,可以取得更好的解题效果。

An automatic method of solving practical problems based on graph neural network

【技术实现步骤摘要】
一种基于图神经网络的应用题自动解题方法
本专利技术涉及计算语言学领域,具体涉及一种基于图神经网络的应用题自动解题方法。
技术介绍
解数学题即根据文本描述自动回答数学问题,自1960年代以来一直吸引着研究者的关注,是一项重要的自然语言理解任务。典型的数学应用题是给出一个问题的描述并给出一个有关未知数量的问题的简短叙述。较早的研究尝试通过统计机器学习方法和语义解析方法来设计自动求解器。但是这些方法因为需要花费大量的精力来设计合适的功能和表达模板,泛化性比较差。近年来开始出现了基于深度学习的自动求解器。这些深度学习方法能够自动获取特征学习信息,并能够生成训练数据集中不存在的新求解表达式,同时它们在规模较大且复杂的数据集上也达到了很高的性能。该类方法中最先被提出的是在2017年出现的深度神经解题器(DNS)。该方法在提出模型的同时收集了一个大规模数学题(MathWordProblem,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和作为图转换网络的输入;其中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、根据公式:将每个输出特征连接起来并经过全连接层处理,得到中间特征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、建立数字栈,从右到左遍历生成的解题等式树,对于遍历到的数字,将其入栈;对于遍历到的运算符,则将栈顶的数字弹出,即将后遍历的数字放在等式的前面,并和运算符合并写入等式中,进而通过解题等式树得到解题表达式。进一步的,注意力模块的表达式为:其中和Wa为训练参本文档来自技高网
...

【技术保护点】
1.一种基于图神经网络的应用题自动解题方法,其特征在于,包括以下步骤:/nS1、将题干文本中的文字单词和数值单词分别归至文字集合和数值集合;/nS2、通过循环神经网络将所有文字单词表示为具有固定维度的实值向量;/nS3、对于题干文本中每一个数值,找出与其相关的一组词并连上无向边,得到数值单元图;/nS4、对于题干文本中每两个不同数值,从数值大的作一条单向边至数值小的,得到数值比较图;/nS5、通过基于图神经网络构建的编码器将实值向量、数值单元图和数值比较图转化为中间特征;/nS6、通过基于树形神经网络构造的解码器将中间特征转化为解题等式;/nS7、根据解题等式求取对应的答案,完成自动解题。/n

【技术特征摘要】
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和作为图转换网络的输入;其中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、根据公式:



将每个输出特征连接起来并经过全连接层处理,得到中间特征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...

【专利技术属性】
技术研发人员:张骥鹏王磊邵杰徐行
申请(专利权)人:电子科技大学宜宾电子科技大学研究院
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1