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

一种数学文本的语义分类方法

2022-07-16 15:38:05 来源:中国专利 TAG:


1.本发明涉及自然语言处理技术领域,尤其涉及一种数学文本的语义分类方法。


背景技术:

2.数学文本是指包含数学表达式的自然语言文本,具有多义性和多态性的特征,广泛出现于stem学科和高等教育中。数学文本的语义分类对数学信息检索,知识诊断以及教育知识推荐有着至关重要的作用。
3.目前,基于深度学习的文本分类方法可以取得不错的效果,例如基于cnn,rnn,transformer以及bert的文本分类方法,但它们只针对具有一种结构特征的自然语言文本。而数学文本属于混合文本,将数学语言和自然语言按统一的方式进行处理,不加区分,导致分类精度不高。


技术实现要素:

4.针对数学文本具有线性序列和树形结构的混合特征,以及传统方法忽略了数学语言与自然语言结构特征不同的不足之处。本发明提出了一种数学文本的语义分类方法,分别对具有线性特征的自然语言和树形结构特征的数学语言采用不同的方法进行词嵌入向量聚合操作,以提高这种混合文本的分类精度。
5.为了达到上述目的,本发明提供了一种数学文本的语义分类方法,包括:
6.s1:对获取的数学资源进行标注,得到数学文本数据集,并划分出训练数据集;
7.s2:通过bert预训练模型得到数学文本数据集中的数学文本的词嵌入向量,其中,数学文本的词嵌入向量包括具有线性结构特征的自然语言文本词嵌入向量以及具有树形结构特征的数学表达式的词嵌入向量;
8.s3:构建数学文本的语义分类模型,语义分类模型包括聚合模块、拼接模块、多层前馈神经网络和分层softmax回归模型,其中,聚合模块用于对自然语言文本词嵌入向量采用直接平均聚合的方法得到文本聚合向量、对数学表达式的词嵌入向量采用树型长短期记忆网络的方法进行聚合得到数学表达式聚合向量,拼接模块用于对文本聚合向量和数学表达式聚合向量进行拼接,得到数学文本的嵌入矢量,多层前馈神经网络和分层softmax回归模型用于根据数学文本的嵌入矢量进行语义分类;
9.s4:利用训练数据集对数学文本的语义分类模型进行训练,得到训练好的语义分类模型;
10.s5:利用训练好的语义分类模型进行数学文本的语义分类。
11.在一种实施方式中,步骤s1包括:
12.选取高等数学教材及其习题解析,历年研究生入学考试数学试题及其解析作为数学资源,并采用人工标注的方式进行标注,数学资源为z,抽取n个知识属性作为标签,得到标签集合l={l1,

,ln},l1,

,ln分别表示第1个和第n个标签。
13.在一种实施方式中,在对获取的数学资源进行标注之后,所述方法还包括:对标注
好的数学资源进行预处理,具体包括:
14.定义数学资源中第i个数学表达式为mi,去除字符串长度小于阈值的数学表达式;
15.定义数学表达式mi的上下文为ci={tk|tk∈z,|k-pi|≤r},其中tk表示第k个自然语言单词,pi为数学表达式mi作为一个整体在序列中的位置,r最大为64;当mi由多个连等式或者多个不等式共同构成时,则以等号和不等号为标志,将mi进一步切分为子表达式m
iw
,使数学表达式m
iw
最多包含一个等号或不等号,得到数据集{m
iw
,ci;lj}
i,j,w
,其中i表示数学表达式序号,w代表子表达式编号,j为标签编号。
16.在一种实施方式中,聚合模块对自然语言文本词嵌入向量采用直接平均聚合的方法得到文本聚合向量的方式为:
[0017][0018]
其中,代表第n’个词tn通过bert预训练模型得到的词嵌入向量,h
ci
代表自然语言文本ci的聚合向量,ci={t1,

,t
n'
}表示具有线性序列特征的自然语言文本,即表达式的上下文,t1表示自然语言文本中的第一个词,t
n'
表示自然语言文本中的第n’个词。
[0019]
在一种实施方式中,对于具有树形结构特征的表达式m
iw
,首先将m
iw
转换为表达式树,其中,表达树中的每一个节点表示一个操作符或操作数,聚合模块对数学表达式的词嵌入向量采用子树和树型长短期记忆网络进行聚合得到数学表达式聚合向量,包括:
[0020]
对于表达式树的任意节点m
p
,s(m
p
)表示其子节点集合,根据下式得到节点m
p
的聚合向量:
[0021][0022]
其中tree_lstm代表子树和树型长短期记忆网络child-sum tree-lstms的一个运算模块,代表节点m
p
通过bert预训练模型得到的词嵌入向量,p和q表示节点编号,代表m
p
的子节点mq的聚合向量,代表节点m
p
的聚合向量;
[0023]
根据节点m
p
的聚合向量得到数学表达式树的根节点聚合向量,作为整个数学表达式m
iw
的聚合向量,记为
[0024]
本技术实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
[0025]
本发明提供的数学文本的语义分类方法,首先对获取的数学资源进行标注,得到数学文本数据集,然后利用bert预训练模型得到数据集的词嵌入表达,并构建了语义分类模型,包括聚合模块、拼接模块、多层前馈神经网络和分层softmax回归模型,通过聚合模块分别对具有线性序列特征的自然语言文本词向量和具有树形结构特征的数学语言文本词向量采用平均聚合方法和tree-lstm聚合方法,拼接模块对两个聚合向量进行拼接处理,将拼接向量送入多层前馈神经网络,采用hierachical softmax回归模型输出分类结果,由于考虑了数学文本不仅具有自然语言文本的线性序列特征还具有数学表达式的树形结构特征,并分别采用不同的聚合方法进行聚合,可以更好地提取出用于分类的特征,进而提高分类的精度。
附图说明
[0026]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]
图1为本发明实施例提供的数学文本的语义分类方法的流程图;
[0028]
图2是本发明实施例中提取数据集的实现流程图;
[0029]
图3是本发明实施例中数学表达式聚合方法示例图;
[0030]
图4是本发明实施例中的数学文本的语义分类模型结构图。
具体实施方式
[0031]
本技术发明人通过大量的研究与实践发现:现有技术中的基于深度学习的文本分类方法虽然可以取得一定的效果,例如基于cnn,rnn,transformer以及bert的文本分类方法,但它们只针对具有一种结构特征的自然语言文本。而数学文本属于混合文本,不仅具有自然语言文本的线性序列特征还具有数学表达式的树形结构特征。目前的文本分类方法,把数学语言和自然语言按统一的方式进行处理,不加区分,忽略了数学表达式的树形结构特征,分类结果并不能表现出更好的精度。
[0032]
基于此,本发明根据高等数学教材的层级结构,从中提取出数学文本数据集,利用bert预训练模型得到数据集的词嵌入表达,分别对具有线性序列特征的自然语言文本词向量和具有树形结构特征的数学语言文本词向量采用平均聚合方法和tree-lstm聚合方法,最后对两个聚合向量进行拼接处理,将拼接向量送入多层前馈神经网络,采用hierachical softmax回归模型输出分类结果。
[0033]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034]
本发明实施例提供了一种数学文本的语义分类方法,包括:
[0035]
s1:对获取的数学资源进行标注,得到数学文本数据集,并划分出训练数据集;
[0036]
s2:通过bert预训练模型得到数学文本数据集中的数学文本的词嵌入向量,其中,数学文本的词嵌入向量包括具有线性结构特征的自然语言文本词嵌入向量以及具有树形结构特征的数学表达式的词嵌入向量;
[0037]
s3:构建数学文本的语义分类模型,语义分类模型包括聚合模块、拼接模块、多层前馈神经网络和分层softmax回归模型,其中,聚合模块用于对自然语言文本词嵌入向量采用直接平均聚合的方法得到文本聚合向量、对数学表达式的词嵌入向量采用树型长短期记忆网络的方法进行聚合得到数学表达式聚合向量,拼接模块用于对文本聚合向量和数学表达式聚合向量进行拼接,得到数学文本的嵌入矢量,多层前馈神经网络和分层softmax回归模型用于根据数学文本的嵌入矢量进行语义分类;
[0038]
s4:利用训练数据集对数学文本的语义分类模型进行训练,得到训练好的语义分类模型;
[0039]
s5:利用训练好的语义分类模型进行数学文本的语义分类。
[0040]
具体来说,步骤s1是通过数据资源的获取以及标注,得到数学文本数据集。步骤s2是词嵌入,步骤s3是语义分类模型的构建,步骤s4是模型的训练,步骤s5是模型的应用。
[0041]
其中,步骤s3的模型中,hierachical softmax回归模型结构是按照分类标签和分类标签出现的频率构成的哈夫曼树结构,每个叶子节点代表一个分类标签,每个非叶子节点代表一个分类器,分类标签出现的频率越高,则该叶子节点越靠近根节点。多层前馈神经网络是由一个输入层、一个或多个隐藏层、一个输出层构成的全连接神经网络,每一层的输出会作为下一层的输入。
[0042]
在一种实施方式中,步骤s1包括:
[0043]
选取高等数学教材及其习题解析,历年研究生入学考试数学试题及其解析作为数学资源,并采用人工标注的方式进行标注,数学资源为z,抽取n个知识属性作为标签,得到标签集合l={l1,

,ln}。
[0044]
在一种实施方式中,在对获取的数学资源进行标注之后,所述方法还包括:对标注好的数学资源进行预处理,具体包括:
[0045]
定义数学资源中第i个数学表达式为mi,去除字符串长度小于阈值的数学表达式;
[0046]
定义数学表达式mi的上下文为ci={tk|tk∈z,|k-pi|≤r},其中tk表示第k个自然语言单词,pi为数学表达式mi作为一个整体在序列中的位置,r最大为64;当mi由多个连等式或者多个不等式共同构成时,则以等号和不等号为标志,将mi进一步切分为子表达式m
iw
,使数学表达式m
iw
最多包含一个等号或不等号,得到数据集{m
iw
,ci;lj}
i,j,w
,其中i表示数学表达式序号,w代表子表达式编号,j为标签编号。
[0047]
具体实施过程中,阈值可以根据实际情况设置,例如设置为3、5、6等。
[0048]
在一种实施方式中,聚合模块对自然语言文本词嵌入向量采用直接平均聚合的方法得到文本聚合向量的方式为:
[0049][0050]
其中,代表第n’个词tn通过bert预训练模型得到的词嵌入向量,代表自然语言文本ci的聚合向量,ci={t1,

,t
n'
}表示具有线性序列特征的自然语言文本,即表达式的上下文,t1表示自然语言文本中的第一个词,t
n'
表示自然语言文本中的第n’个词。
[0051]
具体来说,对于具有线性序列特征的自然语言文本,其嵌入向量由相应的词嵌入向量进行平均聚合,即每一个词嵌入向量相加后求平均值。
[0052]
在一种实施方式中,对于具有树形结构特征的表达式m
iw
,首先将m
iw
转换为表达式树,其中,表达树中的每一个节点表示一个操作符或操作数,聚合模块对数学表达式的词嵌入向量采用子树和树型长短期记忆网络进行聚合得到数学表达式聚合向量,包括:
[0053]
对于表达式树的任意节点m
p
,s(m
p
)表示其子节点集合,根据下式得到节点m
p
的聚合向量:
[0054][0055]
其中tree_lstm代表子树和树型长短期记忆网络child-sum tree-lstms的一个运算模块,代表节点m
p
通过bert预训练模型得到的词嵌入向量,p和q表示节点编号,代
表m
p
的子节点mq的聚合向量,代表节点m
p
的聚合向量;
[0056]
根据节点m
p
的聚合向量得到数学表达式树的根节点聚合向量,作为整个数学表达式m
iw
的聚合向量,记为
[0057]
其中,根据节点m
p
的聚合向量得到数学表达式树的根节点聚合向量,包括两种情况,第一种情况,节点m
p
为根节点,那么直接将节点m
p
的聚合向量作为最终整个表达式的聚合向量,第二种情况,节点m
p
不为根节点,那么会根据前面的公式迭代计算节点m
p
的父节点的聚合向量,直到计算到根节点为止,最后将根节点聚合向量作为整个表达式的聚合向量。
[0058]
在分别得到文本和表达式的聚合向量之后,对上下文聚合向量和数学表达式聚合向量做拼接,得到最终的聚合向量。
[0059]
下面将结合附图对本发明基于构建的分类模型进行数学文本语义分类的实现过程进行详细地说明。如图1所示,本发明提供了一种数学文本的语义分类方法,包括以下步骤:
[0060]
步骤1,其中,数据集的提取方法如图2所示。由于高等数学教材具有清晰的层级结构组织,并且习题也依据知识属性排列,因此很容易抽取数学文本的知识属性标签。历年研究生入学考试数学试题及其解析,本质上来源于教材,也与教材具有同样的知识属性。定义高等数学教材及其习题解析,历年研究生入学考试数学试题及其解析为数学资源z,从中抽取n个知识属性作为标签,得到标签集合l={l1,

,ln}。定义数学资源中,第i个数学表达式为mi,判断数学表达式的字符串长度是否小于5,如果字符串长度小于5则判定为简单公式,舍弃,如果字符串长度大于5则保留,并提起数学表达式的上下文,因为数学表达式邻近的自然语言文本一般包含其描述和解释信息,有助于语义分类。定义数学表达式mi的上下文为ci={tk|tk∈z,|k-pi|≤r},其中tk表示第k个自然语言单词,pi数学表达式mi作为一个整体在序列中的位置,r最大为64,即提取数学表达式前后64个自然语言单词,总计128个。高等数学中书写表达式经常含有多步推导,即多个连等式或不等式共同构成一个表达式。若数学表达式mi由多个连等式或者多个不等式共同构成,则以等号和不等号为标志,将mi进一步切分为子表达式m
iw
,使数学表达式m
iw
最多包含一个等号或不等号,即一个推导步骤,最终得到数据集{m
iw
,ci;lj}
i,j,w
,其中i表示数学表达式序号,w代表子表达式编号,j为标签编号。
[0061]
步骤2,通过步骤1得到数据集之后,本实施例利用bert预训练模型,得到数据集的词嵌入表达。
[0062]
步骤3,根据步骤2得到数据集每个词的嵌入向量之后,需要对数学文本的词向量进行聚合处理。由于数学文本包含自然语言文本和数学表达式,且自然语言文本具有线性序列特征,数学表达式具有树形结构特征,因此本发明根据其不同的结构特征,选取不同的聚合方法。
[0063]
对于具有线性序列特征的自然语言文本ci={t1,

,tn},本实施例采用平均聚合的方法,计算方式如下:
[0064]
其中代表上下文第n’个词通过步骤2得到的词嵌入向量,
代表上下文ci的聚合向量。
[0065]
对于具有树形结构特征的表达式m
iw
,首先将m
iw
转换为表达式树,每一个节点表示一个操作符或操作数,由于tree-lstm能处理带有树结构的数据,本发明采用不区分子节点顺序的child-sum tree-lstms聚合方法,得到整个数学表达式的嵌入向量,如图3所示。计算方式如下:
[0066]
对于表达式树的任意节点m
p
,s(m
p
)表示其子节点集合,则有)表示其子节点集合,则有代表节点的聚合向量,即当前节点的向量由子节点聚合而成。最终数学表达式树的根节点向量聚合了所有子节点的向量,可以代表整个数学表达式m
iw
的聚合向量,记为
[0067]
最后对上下文聚合向量和数学表达式聚合向量做拼接,得到最终的嵌入矢量。
[0068]
步骤4,将步骤3得到的嵌入矢量,送入多层前馈神经网络和softmax回归模型进行有监督的多元分类,如图4所示。其中,为了避免类别过多导致训练速度下降的问题,使用hierachical softmax(多层softmax)回归模型。
[0069]
本发明中所描述的具体实施例仅仅是对本发明精神做举例说明。本发明技术领域的技术人员可以对所描述的具体实施例做各种各样的修改补充或者采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
再多了解一些

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

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

相关文献