一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种题目结构推理方法及系统与流程

2022-02-22 03:44:06 来源:中国专利 TAG:


1.本发明涉及自然语言处理领域,尤其涉及一种题目结构推理方法及系统。


背景技术:

2.数学题任务是基于问题描述来回答数学查询的推理任务,是连接数学和自然语言处理的交叉学科研究课题。通过一个简短的叙述来描述一个问题,并提出一个关于未知数的问题。近年来,基于深度学习方法的多任务处理研究受到越来越多的关注。通常,要解答这种数学查询的推理任务,用户不仅需要对问题进行解析和理解语境,还需要运用外部知识。然而,以往的方法仅从简短和有限的叙述中学习文本描述,而不使用任何没有出现在描述中的背景知识,这限制了模型从全局角度推断数学题的能力。


技术实现要素:

3.为了解决上述技术问题,本发明的目的是提供一种题目结构推理方法及系统,基于问题描述来构建数学表达式。
4.本发明所采用的第一技术方案是:一种题目结构推理方法,包括以下步骤:
5.接收输入文本并构建内容之间的相互关系,得到语义关系;
6.获取先验知识并将先验知识与输入文本融合,得到隐性知识;
7.将隐性知识和语义关系结合,并生成树结构目标;
8.按照预定遍历顺序对树结构目标解析,得到方程表达式。
9.进一步,所述内容之间的相互关系包括词语级推理关系和句子级推理关系,所述接收输入文本并构建内容之间的相互关系,得到语义关系这一步骤,其具体包括:
10.接收输入文本;
11.基于词级推理层构建词语级推理关系;
12.基于句子级推理层构建句子级推理关系;
13.所述词级推理层和句子级推理层均采用基于gru的序列编码。
14.进一步,所述基于词级推理层构建词语级推理关系这一步骤,其具体包括:
15.基于双向gru对词语进行编码;
16.将上下文信息合并到词级表示,生成词语表示;
17.引入注意力机制提取重要词语,并用词级上下文向量度量词语的重要性,得到词语级推理关系;
18.将重要词语表征聚合成句子向量。
19.进一步,所述基于句子级推理层构建句子级推理关系这一步骤,其具体包括:
20.基于双向gru对句子进行编码;
21.将相邻句子的信息合并到句子级表示,生成句子表示;
22.引入注意力机制并用句子级上下文向量衡量句子的重要性,得到句子级推理关系。
23.进一步,所述获取先验知识并将先验知识与输入文本融合,得到隐性知识这一步骤,其具体包括:
24.基于大型语料库上的中文预训练模型获取先验知识;
25.将先验知识与输入文本融合,提取得到输入文本的隐性知识。
26.进一步,所述将隐性知识和语义关系结合,并生成树结构目标这一步骤,其具体包括:
27.基于点积自适应合并隐性知识和语义关系,并通过线性映射函数生成增强表示;
28.将树结构的节点分为数学操作符、常识性数值和数字;
29.根据增强表示初始化根节点向量;
30.结合预准备有候选词的目标词汇表,迭代使用带有可训练向量的根节点向量来预测属于节点的概率;
31.根据预测概率生成树节点,得到树结构目标。
32.进一步,所述增强表示的表达式如下:
33.y=f([w
pyp
,whyh])
[0034]
上式中,y表示增强表示,y
p
表示语义关系,yh表示隐性知识,w
p
和wh表示对应的重要性,[
·
]表示链接操作,f表示线性映射函数。
[0035]
进一步,所述按照预定遍历顺序对树结构目标解析,得到方程表达式这一步骤,其具体包括:
[0036]
对树结构目标进行解析;
[0037]
根据树结构目标的最顶端节点生成中间算子;
[0038]
从左子节点至右子节点的顺序,递归完成所有节点的解析,得到方程表达式。
[0039]
本发明所采用的第二技术方案是:一种题目结构推理系统,包括:
[0040]
层次推理编码器,用于接收输入文本并构建内容之间的相互关系,得到语义关系;
[0041]
知识编码器,用于获取先验知识并将先验知识与输入文本融合,得到隐性知识;
[0042]
树型结构编码器,用于将隐性知识和语义关系结合,并生成树结构目标;
[0043]
树形结构解码器;用于按照预定遍历顺序对树结构目标解析,得到方程表达式。
[0044]
本发明方法及系统的有益效果是:本发明基于知识编码器将隐性知识有效地融合到模型中,可以帮助模型从复杂的文本中正确地解析单词的语义,基于层次推理编码器构建词语与句子之间的关系,实现了实体域和上下文域的连接,从而实现基于问题描述来构建数学表达式。
附图说明
[0045]
图1是本发明一种题目结构推理方法的步骤流程图;
[0046]
图2是本发明一种题目结构推理系统的结构框图;
[0047]
图3是本发明具体实施例的流程示意图。
[0048]
图4是本发明具体实施例层次推理的示意图。
具体实施方式
[0049]
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的
步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0050]
数学题(mwp)可以表示为(p,e),其中,p是问题文本,e是解决方案表达式。假设一个mwp的描述有l个句子si,每个句子包含ti个单词,w
it
(t∈[1,t])表示第i个句子中的单词。我们提出的编码器将原始问题描述投射到矢量表示中,在此基础上构建一个树结构解码器来预测数学表达式。
[0051]
参照图1和图3,本发明提供了一种题目结构推理方法,该方法包括以下步骤:
[0052]
s1、接收输入文本并构建内容之间的相互关系,得到语义关系;
[0053]
s2、获取先验知识并将先验知识与输入文本融合,得到隐性知识;
[0054]
s3、将隐性知识和语义关系结合,并生成树结构目标;
[0055]
s4、按照预定遍历顺序对树结构目标解析,得到方程表达式。
[0056]
进一步作为本方法的优选实施例,所述内容之间的相互关系包括词语级推理关系和句子级推理关系,所述接收输入文本并构建内容之间的相互关系,得到语义关系这一步骤,其具体包括:
[0057]
s11、接收输入文本;
[0058]
s12、基于词级推理层构建词语级推理关系;
[0059]
s13、基于句子级推理层构建句子级推理关系;
[0060]
所述词级推理层和句子级推理层均采用基于gru的序列编码。
[0061]
具体地,该步骤通过层次推理编码器实现,示意图参照图4,考虑了数学描述的不同部分没有相似的相关信息。此外,确定相关部分涉及到对单词之间的交互建模,而不仅仅是它们在文本中的孤立存在。因此,考虑到这方面,模型包括两个层次的推理机制。一种是单词层面的推理,另一种是句子层面的推理,这使得模型在构建整个描述表示时,或多或少地关注单个单词和句子。层次推理编码器由两层组成。第一层是词级推理层,第二层是句子级推理层。这两层推理中都用到基于gru的序列编码。
[0062]
基于gru的序列编码,gru使用一种门控机制来跟踪序列的状态,而不使用单独的记忆单元。有两种类型的门:重置门r
t
和更新门z
t
。他们联合控制信息如何更新到状态上。在时刻t,gru计算新状态为:
[0063][0064]
这是上一个状态h
t-1
和用新序列信息计算得到的当前新状态的线性插值。更新门z
t
决定保留多少过去的信息和添加多少新的信息。z
t
更新为:
[0065]zt
=σ(wzx
t
u
zht-1
bz)
[0066]
其中x
t
是t时刻的序列向量。候选状态计算为:
[0067][0068]
其中r
t
为重置门,控制前一个状态对候选状态的贡献。如果r
t
为0,则表示忘记过去的状态。r
t
更新为:
[0069]rt
=σ(wrx
t
u
rht-1
br)
[0070]
上述w和u为可学习矩阵权值,b为可学习偏差向量。
[0071]
进一步作为本方法的优选实施例,所述基于词级推理层构建词语级推理关系这一
步骤,其具体包括:
[0072]
s121、基于双向gru对词语进行编码;
[0073]
s122、将上下文信息合并到词级表示,生成词语表示;
[0074]
s123、引入注意力机制提取重要词语,并用词级上下文向量度量词语的重要性,得到词语级推理关系;
[0075]
s124、将重要词语表征聚合成句子向量。
[0076]
具体地,词语级推理。在这一层,模型使用双向gru,通过综合来自两个方向的信息来生成单词的表示。因此,它将上下文信息合并到词级表示中。给定一个有单词w
it
,t∈[1,t]的句子和一个嵌入矩阵we,一个双向gru包括一个前向对句子si从单词w
i1
读到单词w
it
,和一个反向从单词w
it
读到单词w
i1

[0077]
x
it
=wew
it
,t∈[1,t],
[0078][0079][0080]
给定单词w
it
的单词级表示是通过连接前向隐藏状态和后向隐藏状态得到的,即的单词级表示是通过连接前向隐藏状态和后向隐藏状态得到的,即可结合以w
it
为中心的整个句子的信息。注意到并不是所有的单词都对表达句子的意思有同样的作用。因此,我们引入了一种注意力机制来提取对句子重要的词,并将这些信息量大的词的表征聚合成一个句子向量。具体地说,
[0081]uit
=tanh(w
whit
bw),
[0082][0083]
si=∑α
ithit
.
[0084]
我们首先通过一个单层mlp输入单词级特性h
it
,以获得u
it
作为h
it
的隐藏表示。然后用词级上下文向量uw度量词的重要性,并通过softmax函数得到归一化的重要性权重α
it
。然后,我们根据可学习权重计算单词表示的加权和作为句子向量si。在训练过程中,对词上下文向量uw进行随机初始化和联合学习
[0085]
进一步作为本方法的优选实施例,所述基于句子级推理层构建句子级推理关系这一步骤,其具体包括:
[0086]
s131、基于双向gru对句子进行编码;
[0087]
s132、将相邻句子的信息合并到句子级表示,生成句子表示;
[0088]
s133、引入注意力机制并用句子级上下文向量衡量句子的重要性,得到句子级推理关系。
[0089]
具体地,句子级推理。给定句子向量si,我们用类似的方法得到问题描述向量。我们使用双向gru对句子进行编码:
[0090][0091]
[0092]
其中,和分别表示正向gru和反向gru。我们将和相连接,得到句子i的目标表示hi综合了句子i的邻居句子的信息,但仍聚焦于句子i。为了奖励与正确解析问题描述相关的句子,我们再次使用注意力机制,引入一个句子级上下文向量us来衡量句子的重要性,其公式为:
[0093]uit
=tanh(w
shi
bs),
[0094][0095]
v=∑α
ihi
,
[0096]
其中v为全局文本向量,概括了一个描述中句子的所有信息。同样,在训练过程中,句子级上下文向量us也随机初始化和联合学习。
[0097]
进一步作为本方法优选实施例,所述获取先验知识并将先验知识与输入文本融合,得到隐性知识这一步骤,其具体包括:
[0098]
s21、基于大型语料库上的中文预训练模型获取先验知识;
[0099]
s22、将先验知识与输入文本融合,提取得到输入文本的隐性知识。
[0100]
具体地,该步骤通过预训练知识编码器实现,采用了基于transformer的语言模型,并建立了一个编码器,用已经在大型语料库bookscorpus和wikipedia上预训练过的roberta模型来进行预训练,以捕获隐性知识。像bert中一样,我们用wordpiece来标记一个描述得到个令牌的序列,将它们嵌入到预训练的roberta嵌入中,并修改roberta的位置编码,得到一系列d维令牌表示我们将这些信息输入到基于变压器的预先训练的知识编码器中,在训练过程中对表示进行微调。我们对所有transformer步骤的输出取平均,以得到组合隐式知识表示y
p

[0101]
进一步作为本方法优选实施例,所述将隐性知识和语义关系结合,并生成树结构目标这一步骤,其具体包括:
[0102]
s31、基于点积自适应合并隐性知识和语义关系,并通过线性映射函数生成增强表示;
[0103]
具体地,分别通过预训练知识编码器和层次推理编码器得到结果y
p
和yh后,我们使用如图1所示的两个编码器末端的解析器自适应地合并y
p
和yh,得到一个增强表示y来进行最终解码。增强表示y可以表示为:
[0104]
y=f([w
pyp
,whyh]),
[0105]
其中w
p
和wh由y
p
和yh衍生而来,用以计算任务的重要性。[
·
]表示链接操作。我们使用一个简单的点积来合并y
p
和yh这两个表示。然后利用线性映射函数f,如全连接层,来生成增强表示y以进行最终解码。w
p
和wh可计算为:
[0106][0107]
[0108]
其中,w
p
和wh都是可训练的加权矩阵,和表示不同的mlp。
[0109]
s32、基于点积自适应合并隐性知识和语义关系,并通过线性映射函数生成增强表示;
[0110]
s33、将树结构的节点分为数学操作符、常识性数值和数字;
[0111]
s34、根据增强表示初始化根节点向量;
[0112]
s35、结合预准备有候选词的目标词汇表,迭代使用带有可训练向量的根节点向量来预测属于节点的概率;
[0113]
s36、根据预测概率生成树节点,得到树结构目标。
[0114]
具体地,我们的模型根据来自两个编码器的全局上下文表示y来初始化根节点向量。解码器中的表达式树包含三种类型的节点:数学操作符v
op
,在目标表达式中遇到,但是在问题文本中未出现的常识性数值v
con
(例如,兔子有4条腿)和在问题p中遇到的数字n
p
。对目标表达式v
tar
的每个令牌y,其令牌嵌入e(y|p)定义为:
[0115][0116]
其中m
op
和m
con
是两个独立于具体问题的可训练词嵌入矩阵。对于一个n
p
中的数值,我们从编码器采用相应的隐藏状态作为其令牌嵌入,其中loc(y,p)是p中数值y的索引位置。数学操作符v
op
占据非叶子位置。n
p
的表示依赖于某些mwp描述。因为y得从编码器输出获得相应的隐藏状态v
op
和v
con
的表示分别由两个嵌入矩阵m
op
和m
con
独立得到。
[0117]
树型结构译码器包括树型结构编码器和树型结构解码器,与树型结构编码器一样,我们在目标词汇表中准备了运算符和数字的候选词,然后迭代使用带有可训练向量的根向量来预测目标词汇表中节点令牌y的概率。然后根据式子(19)中的规则,将概率最高的特定的y替换为树节点。
[0118]
进一步作为本方法优选实施例,所述增强表示的表达式如下:
[0119]
y=f([w
pyp
,whyh])
[0120]
上式中,y表示增强表示,y
p
表示语义关系,yh表示隐性知识,w
p
和wh表示对应的重要性,[
·
]表示链接操作,f表示线性映射函数。
[0121]
进一步作为本方法优选实施例,所述按照预定遍历顺序对树结构目标解析,得到方程表达式这一步骤,其具体包括:
[0122]
s41、对树结构目标进行解析;
[0123]
s42、根据树结构目标的最顶端节点生成中间算子;
[0124]
s43、从左子节点至右子节点的顺序,递归完成所有节点的解析,得到方程表达式。
[0125]
具体地,数学方程通常由运算符和变量组成。首先,定义变量为叶节点,每个操作节点需要有两个子节点。然后,树形结构解码器按照预定遍历顺序解析方程表达式。首先生成最中间的算子,然后生成左子节点。生成过程递归进行,直到生成最后一个叶子节点。接下来,用同样的方式生成右子节点。
[0126]
进一步作为本方法优选实施例,由于mwp任务可以表述为(p,e),我们将其损失函数定义为它可以表述为预测t节点的令牌y
t
的负对数似然概率之和。正式地,训练
优化器的目标函数为:
[0127][0128]
其中,m为e的大小,q
t
和y
t
为第t个节点的目标向量及其上下文向量。p是用目标驱动树结构中的分布计算函数来计算的。
[0129]
如图2所示,一种题目结构推理系统,包括:
[0130]
层次推理编码器,用于接收输入文本并构建内容之间的相互关系,得到语义关系;
[0131]
知识编码器,用于获取先验知识并将先验知识与输入文本融合,得到隐性知识;
[0132]
树型结构编码器,用于将隐性知识和语义关系结合,并生成树结构目标;
[0133]
树形结构解码器;用于按照预定遍历顺序对树结构目标解析,得到方程表达式。
[0134]
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
[0135]
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献