CN114330338A - 融合关联信息的程式语识别系统及方法 - Google Patents

融合关联信息的程式语识别系统及方法 Download PDF

Info

Publication number
CN114330338A
CN114330338A CN202210037262.XA CN202210037262A CN114330338A CN 114330338 A CN114330338 A CN 114330338A CN 202210037262 A CN202210037262 A CN 202210037262A CN 114330338 A CN114330338 A CN 114330338A
Authority
CN
China
Prior art keywords
feature
word
matrix
features
vector
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.)
Pending
Application number
CN202210037262.XA
Other languages
English (en)
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.)
Northeast Electric Power University
Original Assignee
Northeast Dianli University
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 Northeast Dianli University filed Critical Northeast Dianli University
Priority to CN202210037262.XA priority Critical patent/CN114330338A/zh
Publication of CN114330338A publication Critical patent/CN114330338A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

本发明公开了融合关联信息的程式语识别系统及方法,其中的系统包括:基本特征提取模块,用于使用Torch中的embedding层生成词嵌入向量作为词性特征、GloVe词向量技术训练的特征向量作为语义特征,经过晚融合的词性特征和语义特征作为该模型的基本特征;关联信息提取模块,用于采用单词间的互信息和句子的依存句法关系作为识别程式语的关联信息;标签表示模块,用于表示标签。本发明通过词嵌入技术来表示特征向量,并融合了能够代表程式语特征的关联信息,使用图卷积神经网络获取更深层次的语义特征,最后考虑到标签之间含有依存关系,使用条件随机场模型进行标签解码,达到识别程式语的目的。

Description

融合关联信息的程式语识别系统及方法
技术领域
本发明涉及程式语识别,具体涉及融合关联信息的程式语识别系统及方法。
背景技术
程式语是具有特定功能和语义的多词组合,一般作为整体形式进行辨识、存储和提取。研究表明,人类语言的大部分表达本质上由程式语组成。程式语识别又称作“多词表达式识别”,是自然语言处理中的一项基础任务,应用范围非常广泛,对于计算机辅助语言教学、机器翻译等都有重要的理论和现实意义。
近些年来,国内外对程式语的研究处于一个方兴未艾的阶段,学者们借助于语料库技术和电脑应用程序AntConc、AntGram等,取得了大量对于程式语的研究成果,但是存在识别标准不够全面、识别准确率和效率低的问题,所以如何高效准确地识别程式语也变得越来越重要。目前,程式语识别方法主要包括基于统计的方法、基于规则的方法和机器学习方法。基于统计和规则的识别方法依赖于事先设定的标准,可移植性差,在面对复杂文本时,不能有效识别多种类型的程式语。随着机器学习在自然语言处理领域的兴起,有学者尝试使用随机森林、支持向量机等分类器,通过分类技术来识别程式语,然而这种方法对特征选取的要求高,需要选择能有效反映程式语特性的特征集合,导致其泛化能力差。
发明内容
本发明的主要目的在于提供融合关联信息的程式语识别系统及方法。
根据本发明的一个方面,提供了融合关联信息的程式语识别系统,包括:
基本特征提取模块,用于使用Torch中的embedding层生成词嵌入向量作为词性特征、GloVe词向量技术训练的特征向量作为语义特征,经过晚融合的词性特征和语义特征作为该模型的基本特征;
关联信息提取模块,用于采用单词间的互信息和句子的依存句法关系作为识别程式语的关联信息;
标签表示模块,用于表示标签。
根据本发明的又一个方面,提供了融合关联信息的程式语识别方法,包括:
基本特征提取方法;
关联信息提取方法;
标签表示方法。
进一步地,所述基本特征提取方法包括:
特征选择;
基于Bi-LSTM的特征表示;
词性特征和语义特征的晚融合。
更进一步地,所述特征选择包括使用Torch中的embedding层生成词嵌入向量作为词性特征、使用GloVe训练的特征向量来表示程式语的语义特征:
根据语料库构建一个共现矩阵X,矩阵中的每一个元素 Xij 代表单词 i 和上下文单词 j 在特定大小的上下文窗口内共同出现的次数;
构建词向量和共现矩阵之间的近似关系,关系如式1所示:
Figure 100002_DEST_PATH_IMAGE001
其中,上式的wi和wj是我们最终要求解的词向量;而bi和bj则是两个词向量的bias 项。
构造损失函数,如式所示:
Figure 837960DEST_PATH_IMAGE002
其中,
Figure 100002_DEST_PATH_IMAGE003
为权重函数。它的计算公式如式3所示:
Figure 543748DEST_PATH_IMAGE004
其中,x表示共现次数,而xmax表示最大共现次数。
更进一步地,所述基于Bi-LSTM的特征表示包括:
设句子
Figure 100002_DEST_PATH_IMAGE005
,将其输入到Bi-LSTM网络中,可以得到句子
Figure 957543DEST_PATH_IMAGE006
的隐藏层的表示
Figure 100002_DEST_PATH_IMAGE007
。每个单元根据前一个隐藏向量
Figure 483202DEST_PATH_IMAGE008
和当前输入向量
Figure 100002_DEST_PATH_IMAGE009
的计算,得到当前隐藏向量
Figure 386785DEST_PATH_IMAGE010
,其操作定义如下:
Figure 100002_DEST_PATH_IMAGE011
Figure 947079DEST_PATH_IMAGE012
Figure 100002_DEST_PATH_IMAGE013
Figure 797355DEST_PATH_IMAGE014
Figure 100002_DEST_PATH_IMAGE015
式中: it, ft, ct, ot, ht分别为记忆门、隐藏层、遗忘门、细胞核和输出门在输入第t个文本时的状态;W为模型的参数;b为偏置向量;
Figure 747993DEST_PATH_IMAGE016
为Sigmoid函数;tanh为双曲正切函数。
更进一步地,所述词性特征和语义特征的晚融合包括:
首先把词性特征和语义特征分别输入到Bi-LSTM中,再将两个模型的结果进行拼接形成基本特征向量。
更进一步地,所述关联信息提取方法包括:
基于互信息的关联信息:
两个离散随机变量 X和Y 的互信息(MI)的定义为:
Figure 100002_DEST_PATH_IMAGE017
其中p (x, y) 是X和Y的联合概率分布函数,p(x)和p(y)分别是X和Y的边缘概率分布函数。如果要衡量某个数据集中任意两个单词x, y的关联程度,可以这样计算:
Figure 505865DEST_PATH_IMAGE018
,其中,p(x),p(y)为x, y在数据集中独立出现的概率,直接统计词频后除以总的词数就可以得到;p(x,y)为x, y同时出现在数据集中的概率,直接统计二者同时出现的次数,再除以所有无序对的个数即可;
基于依存句法分析的关联信息:
依存句法揭示了句子中词与词之间的依存关系以及搭配关系,其中一个依存关系连接两个词,一个是核心词,一个是修饰词,这样的关系与句子的语义关系是相互关联的;
基于图卷积神经网络的特征表示:
通过MI和依存句法分析将单词间的关系用图来表示,所以采用图卷积神经网络来处理关联信息。
给定一个图G=(V, E),V是包含N个节点的顶点集,E是包括自循环边(即每个顶点都与自身相连)的边集,图G(V, E)的特征信息可由拉普拉斯矩阵(L)表示,如式11所示。
Figure 100002_DEST_PATH_IMAGE019
或者使用对称归一化后的拉普拉斯矩阵:
Figure 920665DEST_PATH_IMAGE020
式中:A为图的邻接矩阵;IN为N阶单位矩阵;D=diag(d)为顶点的度矩阵。
Figure 100002_DEST_PATH_IMAGE021
基于图的傅里叶变换,图卷积公式可以表示为:
Figure 676263DEST_PATH_IMAGE022
式中:x为节点的基本特征向量;g为卷积核;U为拉普拉斯矩阵L的特征向量矩阵。
采用Chebyshev多项式简化图卷积公式,最终图卷积分层传播公式可表示为:
Figure 100002_DEST_PATH_IMAGE023
式中:
Figure 176514DEST_PATH_IMAGE024
,
Figure 100002_DEST_PATH_IMAGE025
Figure 597131DEST_PATH_IMAGE026
为激活函数;W为需要训练的权重矩阵。
更进一步地,所述标签表示方法包括:
在CRF中,每个句子X={x1,x2,…,xn}都有一个待选标签序列集和YX,通过计算集合中每个标签序列Y={y1,y2,…,yn}的得分来决定最终的标注序列,计算得分过程如式所示:
Figure 100002_DEST_PATH_IMAGE027
其中,P
Figure 882750DEST_PATH_IMAGE028
是一个得分矩阵,k为所有标签数量,Pi,j表示句子中第i个字符对应第j个标签的分数;A
Figure 100002_DEST_PATH_IMAGE029
是一个包含了句子开始与结束标签的转移矩阵,Ai,j则表示标签i到标签j的转移分数;
将每个标签序列的分数进行归一化得到概率,其中概率最大的标签序列即为该句子的最终序列,归一化过程如式所示。
Figure 58517DEST_PATH_IMAGE030
本发明的优点:
本发明为了表示文本的特征,提出基于词性特征和语义特征的晚融合模型,使用Torch中的embedding层生成词嵌入向量作为词性特征、GloVe词向量技术训练的特征向量作为语义特征,能够充分表示程式语的出现频率高、具有固定的结构等特征。
为了进一步利用词与词之间的信息,计算了单词之间的互信息并对句子进行依存句法分析,将这两个关联信息以及基本特征输入到GCN中进行特征表示。利用图卷积神经网络对图进行建模,能够捕捉单词间的高阶邻居信息。
把程式语识别看成是序列标注问题,将融合后的特征向量输入到CRF层进行解码,获取每个字符的标签类别,得到程式语。
本发明提出了深度学习模型来识别程式语,通过词嵌入技术来表示特征向量,并融合了能够代表程式语特征的关联信息,使用图卷积神经网络(GCN)获取更深层次的语义特征,最后考虑到标签之间含有依存关系,使用条件随机场模型进行标签解码,达到识别程式语的目的。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明的 融合关联信息的GCN程式语识别模型图;
图2是本发明的 Bi-LSTM 模型的结构图;
图3 是本发明的词性特征和语义特征的晚融合模型的结构图;
图4 是本发明的句子“evaluations play an invaluable role in X.”的依存句法关系图;
图5 是本发明的基于依存句法分析构建的邻接矩阵A;
图6是本发明的图卷积神经网络结构图;
图7是本发明的模型的十折交叉验证结果图;
图8是本发明的不同网络层数对基于依存句法分析的图卷积神经网络的影响图;
图9是本发明的不同网络层数对基于互信息的图卷积神经网络的影响图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参考图1和图2,融合关联信息的程式语识别系统,包括:
基本特征提取模块,用于使用Torch中的embedding层生成词嵌入向量作为词性特征、GloVe词向量技术训练的特征向量作为语义特征,经过晚融合的词性特征和语义特征作为该模型的基本特征。
关联信息提取模块,用于采用单词间的互信息和句子的依存句法关系作为识别程式语的关联信息;
标签表示模块,用于表示标签。
融合关联信息的程式语识别方法,包括:
基本特征提取方法;
关联信息提取方法;
标签表示方法。
基本特征提取方法
在进行自然语言处理的过程中,计算机不能直接使用文本数据,文本数据需要表示为特征向量,然后将特征向量作为模型的输入。本发明使用Torch中的embedding层生成词嵌入向量作为词性特征、GloVe词向量技术训练的特征向量作为语义特征,经过晚融合的词性特征和语义特征作为该模型的基本特征。
特征选择
程式语相较于一般多词表达式最大的不同之处在于程式语的结构大多是固定的,往往是“动词+名词”或“主语+谓语+宾语”等形式,所以将词性特征作为识别程式语的特征之一。首先将文本用斯坦福词性标注器做词性分析,词性分析结果的举例如表1所示,从表中可以发现,具有固定句式的多词单位更容易是程式语。然后对于词性标注后的每个结果,分配唯一编码,这样就实现了将文本数据转换成向量,最后输入到embedding层中进行训练,生成词嵌入向量作为词性特征。
表1 词性分析结果示例
Figure 983748DEST_PATH_IMAGE032
此外,对于文本的处理,字、词、短语更多体现的是文本的词汇信息,而不是它的语义信息,因而无法准确表达文本的内容。对于程式语来说,它是一种出现频率较高的多词单位,具有较完整的结构、意义和功能,所以语义特征是程式语的重要特征。本发明使用GloVe训练的特征向量来表示程式语的语义特征。
GloVe的全称叫Global Vectors for Word Representation,它是一个基于全局词频统计(count-based & overall statistics)的词表征(word representation)工具,它可以把一个单词表达成一个由实数组成的向量,这些向量捕捉到了单词之间一些语义特性。它的实现分为以下三个步骤:
(1)根据语料库构建一个共现矩阵(Co-ocurrence Matrix)X,矩阵中的每一个元素 Xij 代表单词 i 和上下文单词 j 在特定大小的上下文窗口(context window)内共同出现的次数。一般而言,这个次数的最小单位是1,但是GloVe不这么认为:它根据两个单词在上下文窗口的距离 d,提出了一个衰减函数(decreasing weighting):decay=1/d 用于计算权重,也就是说距离越远的两个单词所占总计数(total count)的权重越小。
(2)构建词向量(Word Vector)和共现矩阵(Co-ocurrence Matrix)之间的近似关系,关系如式1所示:
Figure DEST_PATH_IMAGE033
其中,上式的wi和wj是最终要求解的词向量;而bi和bj则是两个词向量的 bias项。
(3)构造损失函数,如式2所示:
Figure 208055DEST_PATH_IMAGE034
其中,
Figure DEST_PATH_IMAGE035
为权重函数。它的计算公式如式3所示:
Figure 82602DEST_PATH_IMAGE036
其中,x表示共现次数,而xmax表示最大共现次数。
基于Bi-LSTM的特征表示方法
由于LSTM善于捕获句子的上下文信息的远距离长期依赖关系,可以更好地避免梯度消失以及梯度爆炸问题,计算效率更高,但是该模型并不能捕获句子的双向信息。对于程式语识别任务,如果加入句子的前向信息和后向信息则能让模型处理文本时可以学习到更多的语义信息。因此采用Bi-LSTM学习输入序列的隐层表示,期望获得句子的特征能包含更深层次的语义和句法信息。
设句子
Figure DEST_PATH_IMAGE037
,将其输入到Bi-LSTM网络中,可以得到句子
Figure 429269DEST_PATH_IMAGE006
的隐藏层的表示
Figure 841796DEST_PATH_IMAGE038
。每个单元根据前一个隐藏向量
Figure DEST_PATH_IMAGE039
和当前输入向量
Figure 869795DEST_PATH_IMAGE040
的计算,得到当前隐藏向量
Figure DEST_PATH_IMAGE041
,其操作定义如下:
Figure 864427DEST_PATH_IMAGE042
Figure DEST_PATH_IMAGE043
Figure 54100DEST_PATH_IMAGE044
Figure DEST_PATH_IMAGE045
Figure 16240DEST_PATH_IMAGE046
式中: it, ft, ct, ot, ht分别为记忆门、隐藏层、遗忘门、细胞核和输出门在输入第t个文本时的状态;W为模型的参数;b为偏置向量;
Figure 582350DEST_PATH_IMAGE048
为Sigmoid函数;tanh为双曲正切函数。
Bi-LSTM模型是由前向的 LSTM 和反向的 LSTM 模型构成,每层的 LSTM 网络分别对应输出一个隐藏状态信息,模型的参数由反向传播进行更新。Bi-LSTM 模型的结构如图2所示:
图2中的xt表示网络在t时刻的输入,方框中的LSTM为标准LSTM模型,
Figure DEST_PATH_IMAGE049
为前向LSTM 在t时刻的输出,
Figure 697068DEST_PATH_IMAGE050
为反向LSTM在t时刻的输出,⊕表示拼接操作,也就是说BiLSTM在t时刻的输出表示定义为
Figure DEST_PATH_IMAGE051
,即t时刻的输出由前向输出与反向输出直接拼接而成。
词性特征和语义特征的晚融合
特征融合包括早融合和晚融合两种方式,早融合是先融合多层的特征,然后在融合后的特征上训练模型(只在完全融合之后,才统一进行训练),相较于早融合,晚融合先用单个特征分别训练模型,然后将多个模型训练的结果进行融合。晚融合方式的优点在于可以灵活的选取模型的结果,提高系统的容错能力;融合信息计算量减小,系统实时性提高。本发明采用晚融合的方式,首先把词性特征和语义特征分别输入到Bi-LSTM中,再将两个模型的结果进行拼接形成基本特征向量,结构图如图3所示:
关联信息提取方法
基本特征提取模块利用词嵌入模型在大规模文本中进行训练,能够获得富含文本语义特征和词性特征的词向量,但文本中的句法结构信息却被忽略。句法结构作为语言理解的基础,其能够有效表示文本的语法结构,揭示文本中各组成成分间的关系。对于程式语来说,它是一种出现频率较高的多词单位,相关性高的几个单词就有可能组成程式语,所以选择能代表单词间关系的特征对于识别程式语来说非常重要。基于此,本发明采用单词间的互信息和句子的依存句法关系作为识别程式语的关联信息。
基于互信息的关联信息
互信息是衡量两个随机变量的相关性,也就是一个随机变量中包含的关于另一个随机变量的信息量,两个离散随机变量 X和Y 的互信息(MI)的定义为:
Figure 57642DEST_PATH_IMAGE052
其中p (x, y) 是X和Y的联合概率分布函数,p(x)和p(y)分别是X和Y的边缘概率分布函数。如果要衡量某个数据集中任意两个单词x, y的关联程度,可以这样计算:
Figure DEST_PATH_IMAGE053
,其中,p(x),p(y)为x, y在数据集中独立出现的概率,直接统计词频后除以总的词数就可以得到;p(x,y)为x, y同时出现在数据集中的概率,直接统计二者同时出现的次数,再除以所有无序对的个数即可。利用互信息计算二元词之间的关系,互信息越高,表明x和y相关性越高,组成程式语的可能性也越大。
基于依存句法分析的关联信息
依存句法揭示了句子中词与词之间的依存关系以及搭配关系,其中一个依存关系连接两个词,一个是核心词,一个是修饰词,这样的关系与句子的语义关系是相互关联的。句子中词与词之间的依存关系包含主谓关系(SBV)、动宾关系(VOB)、间宾关系(IOB)等。句子“evaluations play an invaluable role in X.”的依存句法关系如图4所示,其中,“play an invaluable role in”是程式语,从图中可以看出,这五个单词之间存在着错综复杂的依存关系。所以单词间的依存句法分析能够表示两个单词间的依赖关系,关系越密切,组成程式语的可能性越大。
基于图卷积神经网络的特征表示
在利用依存句法关系的程式语识别中,现有研究多利用文本中的依存句法关系去构造规则、抽取特征等,之后输入至分类器中通过分类来识别程式语。尽管这样的方法能够取得一定效果,但句子中成分间的非线性语义关系并没有被学习和利用。从空间上来看,可以通过MI和依存句法分析将单词间的关系用图来表示,所以采用图卷积神经网络来处理关联信息。
当结合 GCN进行自然语言处理任务时,文本的依存句法结构、TF-IDF、互信息、序列关系通常被用作 GCN 的输入之一。一方面是因为这些特征本身就可以用图来表示,另一方面是因为它们能够增强文本的信息。本发明在构建图卷积神经网络模型时,利用单词间的互信息值和依存句法关系确定单词连接关系。对于以互信息值为输入进行的图卷积神经网络来说,首先以语料库为数据集计算单词间的互信息值,以单词为节点,节点间的互信息值作为边的表示,其邻接矩阵A
Figure 507078DEST_PATH_IMAGE054
RN*N中的元素aij值表示图中第i个节点与第j个节点间的互信息值;对于以句法依存关系为输入进行的图卷积神经网络来说,首先对句子进行依存句法分析,以单词为节点,单词间的依赖关系作为边的表示,其邻接矩阵A
Figure DEST_PATH_IMAGE055
RN*N中的元素aij值表示图中第i个节点与第j个节点间的依存关系,如果两个节点间存在依存关系,则aij值为1,否则为0。例如在依存句法分析的例子“evaluations play an invaluable rolein X.”中,基于依存句法分析构建的邻接矩阵A如图5所示。
为了直接对图数据进行深度学习建模,具体方法采用提出的一种卷积神经网络的变种模型—图卷积神经网络,结构如图6所示。具体地,给定一个图G=(V, E),V是包含N个节点的顶点集,E是包括自循环边(即每个顶点都与自身相连)的边集,图G(V, E)的特征信息可由拉普拉斯矩阵(L)表示,如式所示。
Figure 876879DEST_PATH_IMAGE056
或者使用对称归一化后的拉普拉斯矩阵:
Figure DEST_PATH_IMAGE057
式中:A为图的邻接矩阵;IN为N阶单位矩阵;D=diag(d)为顶点的度矩阵。
Figure 580524DEST_PATH_IMAGE058
基于图的傅里叶变换,图卷积公式可以表示为:
Figure DEST_PATH_IMAGE059
式中:x为节点的基本特征向量;g为卷积核;U为拉普拉斯矩阵L的特征向量矩阵。
为了减少计算量,2017年学者们采用Chebyshev多项式简化图卷积公式,最终图卷积分层传播公式可表示为:
Figure 377579DEST_PATH_IMAGE060
式中:
Figure DEST_PATH_IMAGE061
,
Figure 48732DEST_PATH_IMAGE062
Figure DEST_PATH_IMAGE063
为激活函数;W为需要训练的权重矩阵。
标签表示模块
程式语识别本质上是一种多分类问题, 所以在解码阶段 Softmax 分类器是一种常用的方法。但由于该方法只是单纯的分类, 没有考虑到标签之间含有依存关系。因此,本发明使用条件随机场模型 (CRF)。
CRF是给定一组输入序列条件下另一组输出序列的条件概率分布模型, 在自然语言处理中得到了广泛应用。在CRF中,每个句子X={x1,x2,…,xn}都有一个待选标签序列集和YX,通过计算集合中每个标签序列Y={y1,y2,…,yn}的得分来决定最终的标注序列,计算得分过程如式17所示。
Figure 222224DEST_PATH_IMAGE064
其中,P
Figure DEST_PATH_IMAGE065
是一个得分矩阵,k为所有标签数量,Pi,j表示句子中第i个字符对应第j个标签的分数;A
Figure 232906DEST_PATH_IMAGE066
是一个包含了句子开始与结束标签的转移矩阵,Ai,j则表示标签i到标签j的转移分数。
最后将每个标签序列的分数进行归一化得到概率,其中概率最大的标签序列即为该句子的最终序列,归一化过程如式所示。
Figure DEST_PATH_IMAGE067
本发明的识别方法主要分为三个部分:基本特征提取模块、关联信息提取模块以及标签表示模块,其整体结构如图1所示。首先提取文本的语义特征和词性特征,并通过晚融合方式进行融合,融合的结果作为模型的基本特征,然后计算单词间的互信息以及对句子进行依存句法分析,生成的邻接矩阵以及基本特征输入到GCN中进行特征表示,最后将特征向量输入到CRF层进行解码,获取每个字符的标签类别,得到程式语。
实验和分析
实验环境
本发明在 Win64 操作系统上进行实验;处理器为i5-7500U CPU @ 3.40GHz;内存大小为16 GB。使用深度学习框架 PyTorch 1.2.0 构建所有神经网络模型进行训练和测试;使用 Python 3.6 编程语言进行代码编写。
实验数据及标注策略
从Web of Science上下载30篇计算机领域的论文,对文本进行预处理,去除参考文献、图片、公式等,然后分句,共得到6556个句子,以此为数据集。将曼彻斯特大学的程式语语料库中的程式语作为标准,请外国语学院三位教授提取句子中的程式语,共有8252个程式语,通过去重处理之后剩下4136个程式语。然后给句子打标签,标注策略采用“BIO标注”方法,“B”代表该词是程式语的起始位置,“I”代表该词是程式语的中间位置,“O”代表不属于程式语部分。
评价指标
本发明利用PRF指标对程式语识别的实验结果进行评测,P表示识别程式语的准确率(Precision);R指识别的程式语中正确的个数占语料中程式语的总数的比例,称为召回率(Recall);F值是将P值和R值进行综合,作为评测程式语识别效果的综合指标。三者公式分别对应公式(3-9)、(3-10)和(3-11):
Figure 13911DEST_PATH_IMAGE068
Figure DEST_PATH_IMAGE069
Figure 110043DEST_PATH_IMAGE070
其中,Nm表示正确识别出的程式语的个数,Ntotal表示识别的程式语的总数,Ncorrect表示通过人工标注的程式语的总数。
参数设置
使用Glove预训练的300维词向量作为语义输入特征,对于词性特征,embedding层生成词嵌入向量的维度设置为300维。采用小批量随机梯度下降,批量大小设置为16,学习率设置为0.001,学习率衰减设置为0.9,优化算法选择Adam算法。所有的LSTM网络,单层128个神经元,所以双层LSTM就是256,训练50轮。选用两层GCN网络结构,GCN层的输出设置为64。
实验设置及分析
程式语识别模型的消融实验
为了更好地验证融合关联信息的GCN程式语识别模型的效果,通过设置消融实验,判断哪个特征对于识别程式语来说更重要,进行了7个对比实验。具体方法介绍如下:
(1)Before_Bi-LSTM: PyTorch词嵌入生成的词性特征和GloVe词嵌入生成的语义特征通过早融合方式进行特征融合,融合后的特征向量输入到Bi-LSTM中提取上下文语义关系,最后输入到CRF中完成程式语的识别。
(2)Before_CNN: PyTorch词嵌入生成的词性特征和GloVe词嵌入生成的语义特征通过早融合方式进行特征融合,融合后的特征向量输入到CNN中,卷积核的尺寸是3*3,共设置两层CNN,最后输入到CRF中完成程式语的识别。
(3)After_Bi-LSTM: PyTorch词嵌入生成的词性特征和GloVe词嵌入生成的语义特征通过晚融合方式进行特征融合,即将两个特征向量分别输入到Bi-LSTM中,然后将处理后的向量进行融合,最后输入到CRF中完成程式语的识别。
(4)After_Bi-LSTM_CNN: 该模型在After_Bi-LSTM的基础上,在Bi-LSTM和CRF的中间又加了一层CNN,卷积核的尺寸是3*3,共设置两层CNN。
(5)Bi-LSTM_SD_GCN: PyTorch词嵌入生成的词性特征和GloVe词嵌入生成的语义特征通过晚融合方式进行特征融合,融合后的特征向量作为基本特征,句法依存关系生成的矩阵作为关联特征,一起输入到GCN中进行特征表示,最后输入到CRF中完成程式语的识别。
(6)Bi-LSTM_MI_GCN: 与Bi-LSTM_SD_GCN的不同之处在于:将依存句法分析生成的矩阵替换成用单词间的MI生成的矩阵作为关联特征。
(7) Bi-LSTM_PMI_SD_GCN:这是本发明提出的模型,通过晚融合的词性特征和语义特征作为基本特征,依据互信息和依存句法分析生成的矩阵作为关联信息,将基本特征和关联信息输入到GCN中,最后通过CRF进行特征解码。
将七种方法在数据集上进行实验,实验结果如表2所示。
Figure 883964DEST_PATH_IMAGE072
实验结果分析:
(1)实验1和实验2的不同之处在于Bi-LSTM和CNN的对比,通过实验结果显示,Bi-LSTM比CNN特征提取的效果好很多。因为程式语识别的关键在于分析句子中单词之间的关系,它是一个典型的序列标注问题。Bi-LSTM能够捕获句子的上下文信息的远距离长期依赖关系,而且能够捕获句子的双向信息,然而CNN不能很好地捕获长距离依赖信息,所以在程式语识别任务中采用Bi-LSTM更好。值得注意的是,使用CNN提取特征的结果中召回率相对较高,说明它能够识别出更多的程式语,但是也识别出很多非程式语,所以精确率不是很高。
(2)实验1和实验3的区别在于特征融合的方式不同,实验1采用的是早融合方式,实验3采用的是晚融合方式。通过实验结果显示,晚融合方法的精确率更高,而早融合方法的召回率更高。分析其原因主要是早融合方式在识别程式语时,能够识别出较多的结果,但同时也识别出许多非程式语,所以它的精确率偏低;而晚融合方式的特征更精确,识别出的结果没有早融合那么多,但能够较准确地识别出程式语。通过两个方法的F1分数可知,晚融合的效果比早融合的效果好。
(3)实验4是在实验3的基础上加了CNN层,但是通过结果显示,加了CNN之后的结果还不如之前的结果。分析其原因主要是CNN用来捕获局部相关性,做局部特征的提取,同时CNN里每一层固定了跨度,自然地这一层只能建模有限距离的信息。但是Bi-LSTM已经获取了上下文的长距离依赖关系,所以在Bi-LSTM后面加CNN,对特征进行很深层次的抽象,但有些文本特征需要较广的感受域来让模型组合更多的特征,所以加了CNN之后一些正确的程式语被过滤掉,使得精确率和召回率下降得明显。
(4)实验5是在实验3的基础上加了基于依存句法分析的GCN特征提取,实验结果显示增加了依存句法特征之后,召回率没变,但是精确率变低了。因为句法依存关系主要注重句子中两个单词之间的依存关系,容易造成提取的词串不属于程式语,所以精确率下降了。
实验6是在实验3的基础上加了基于MI的GCN特征提取,实验结果显示增加了MI特征之后,召回率增加了很多,说明识别出的程式语的数量更多。此外,从F1分数来看,增加了MI特征之后F1分数更高。因为MI注重的是两个单词之间的紧密结合度,这个特征能够精准地表示程式语的特征,对识别程式语来说非常重要。
(5)实验7(本发明的模型)是将依存句法特征和MI特征输入GCN中进行特征提取,也就是相较于以上实验结果最好的实验6,又增加了依存句法特征,通过实验结果显示,虽然单独的依存句法特征(实验5)没有表现出很好的效果,但是将两者结合之后,精确率、召回率都明显上升。原因是基于依存句法分析特征与互信息特征在识别程式语时各自表现出优点和不足,将两种特征结合起来,相互补缺以实现程式语的高效提取,同时也说明依存句法和互信息是衡量多词表达的重要特征。
此外,采用十折交叉验证来评估本发明模型的可靠性,将数据集分成十份,轮流将其中9份作为训练数据,1份作为测试数据,进行实验。实验结果如图7所示,从图中可以看出本发明模型的稳定性。
综上所述,通过进行消融实验,结果验证了融合关联信息的GCN程式语识别模型的效果,即通过晚融合的词性特征和语义特征作为基本特征,句法依存关系和互信息作为关联信息,组合的模型可以减轻单个模型的错误并增强它们的优势。
不同模型的对比实验
为了验证本发明提出模型的有效性,选取CNN_Bi-LSTM_CRF模型、Bi-LSTM_CRF模型进行对比。
(1) CNN_Bi-LSTM_CRF:本发明执行的是命名实体识别的任务,因为程式语识别与命名实体识别任务有异曲同工之妙,而且这个模型在命名实体识别领域表现的较好,所以将此模型作为一个对比实验。用Word2vec训练词向量,对经过Word2vec训练后得到的文本数据的词向量进行拼接,生成词向量矩阵,然后作为CNN卷积层的输入,CNN模块通过卷积和向量矩阵的汇集提取文本的空间特征信息。之后,将结果输入Bi-LSTM进行前向和后向训练。最后,将带有句子特征信息的向量放入条件随机场进行解码和预测,得到最终的序列。
(2) Bi-LSTM_CRF:本文描述了参与 PARSEME 共享任务的 Deep-BGT 系统,该任务是关于自动识别口头的多词表达 (VMWE)。 作者使用双向长短期记忆模型,顶部有一个条件随机场层。输入层包括fastText词嵌入技术生成的单词向量、POS以及依赖关系,每个输入向量都表示为这三个特征的串联,类似于早融合技术。因为程式语也是多词表达式的一种,在多词表达式识别领域中,Bi-LSTM和CRF的组合是主流的方法,所以将此模型作为一个对比实验。
上述两种模型以及本发明提出的模型在程式语识别任务上得到的实验结果如表3所示。
Figure 749152DEST_PATH_IMAGE074
实验结果分析:
(1)由于CNN_Bi-LSTM_CRF模型是命名实体识别领域的主要方法,通过实验结果显示,此模型在程式语识别任务中表现得不好,由此可知,在不同的任务中,尽管两个任务很相似,但是也要从任务中对象的本质出发,挖掘能够代表所研究对象的特征,设计专用的模型对症下药。同时,通过CNN_Bi-LSTM_CRF模型、以及上一节中的实验2和实验4可以发现模型中加了CNN之后效果也不会变好,所以CNN不适合进行程式语识别任务。
(2)Bi-LSTM-CRF模型用于识别多词表达式的任务,和上一节中实验1比较,区别在于输入特征的不同,实验1输入的特征是词性特征和GloVe词嵌入特征,而Bi-LSTM-CRF模型输入的是词性特征、fastText词嵌入特征和句法依存关系,通过实验结果显示,Bi-LSTM-CRF模型的F1分数更高,但是实验1的召回率更高,说明句法依存关系有利于程式语的识别。
同时在和本发明模型的对比中,主要区别就是Bi-LSTM-CRF模型只把依存句法关系构建成简单的特征向量,和其他特征进行拼接然后再训练,而本发明的模型通过句法依赖树构建图结构,然后通过GCN进行特征提取,GCN的优点是可以用来汇聚所有边和点的信息,从而消除词语之间的边界模糊,并且图中任意两个不邻接的节点之间都是彼此的二阶邻居,可以通过两次节点更新来接收彼此的非局部的信息,通过此方法聚合的特征更能精确地表示程式语,所以识别程式语的效果更好。
不同网络层数的对比实验
由于本发明的模型涉及到两个图卷积神经网络,一个是基于依存句法分析的图卷积神经网络,另一个是基于互信息的图卷积神经网络。所以在选择图卷积神经网络的层数时,使用实验来做两组对比实验,通过对比实验结果选择最优的网络层数。
(1)实验5是基于依存句法分析的图卷积神经网络结构,通过设置1、2、3、4、5层图卷积神经网络分别进行实验,实验结果如图8所示。从图中可以看出,对于依存句法分析使用3层图卷积的效果最好。
(2)实验6是基于互信息的图卷积神经网络结构,通过设置1、2、3、4、5层图卷积神经网络分别进行实验,实验结果如图9所示。从图中可以看出,对于互信息使用2层图卷积的效果最好。
通过以上分析可知,对于依存句法分析特征使用3层图卷积的效果最好,对于互信息特征使用2层图卷积的效果最好,所以在本发明融合关联信息的GCN程式语识别模型中,两个图卷积神经网络的层数分别设置成两层和三层。
结论
本发明提出了一种融合关联信息的GCN程式语识别模型,将经过晚融合方式进行融合的词性特征和语义特征作为基本特征,然后将关联信息输入到GCN中进行特征表示,这种组合表示可以捕捉多语义网的句法和语义结构,又能够进行更深入的下游语义分析。最后将融合后的特征向量输入到CRF层进行解码,获取每个字符的标签类别,得到程式语。在科技文献数据集上进行了多组对比实验表明,与现有的模型相比,本发明提出的模型可以提高程式语识别的效果,验证了该模型的有效性。另外,需要说明的是,本发明提出的程式语识别模型仅用较小比例的带标签的文本就能获得强大的识别性能。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.融合关联信息的程式语识别系统,其特征在于,包括:
基本特征提取模块,用于使用Torch中的embedding层生成词嵌入向量作为词性特征、GloVe词向量技术训练的特征向量作为语义特征,经过晚融合的词性特征和语义特征作为该模型的基本特征;
关联信息提取模块,用于采用单词间的互信息和句子的依存句法关系作为识别程式语的关联信息;
标签表示模块,用于表示标签。
2.融合关联信息的程式语识别方法,其特征在于,包括:
基本特征提取方法;
关联信息提取方法;
标签表示方法。
3.根据权利要求2所述的融合关联信息的程式语识别方法,其特征在于,所述基本特征提取方法包括:
特征选择;
基于Bi-LSTM的特征表示;
词性特征和语义特征的晚融合。
4.根据权利要求3所述的融合关联信息的程式语识别方法,其特征在于,所述特征选择包括使用Torch中的embedding层生成词嵌入向量作为词性特征、使用GloVe训练的特征向量来表示程式语的语义特征:
根据语料库构建一个共现矩阵X,矩阵中的每一个元素 Xij 代表单词 i 和上下文单词j 在特定大小的上下文窗口内共同出现的次数;
构建词向量和共现矩阵之间的近似关系,关系如式1所示:
Figure DEST_PATH_IMAGE001
其中,上式的wi和wj是我们最终要求解的词向量;而bi和bj则是两个词向量的 bias项;
构造损失函数,如式所示:
Figure 311093DEST_PATH_IMAGE002
其中,
Figure DEST_PATH_IMAGE003
为权重函数,它的计算公式如式3所示:
Figure 24971DEST_PATH_IMAGE004
其中,x表示共现次数,而xmax表示最大共现次数。
5.根据权利要求3所述的融合关联信息的程式语识别方法,其特征在于,所述基于Bi-LSTM的特征表示包括:
设句子
Figure DEST_PATH_IMAGE005
,将其输入到Bi-LSTM网络中,可以得到句子
Figure 804708DEST_PATH_IMAGE006
的隐藏层的表示
Figure DEST_PATH_IMAGE007
;每个单元根据前一个隐藏向量
Figure 278546DEST_PATH_IMAGE008
和当前输入向量
Figure DEST_PATH_IMAGE009
的计算,得到当前隐藏向量
Figure 92918DEST_PATH_IMAGE010
,其操作定义如下:
Figure DEST_PATH_IMAGE011
Figure 977697DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE013
Figure 244731DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE015
式中: it, ft, ct, ot, ht分别为记忆门、隐藏层、遗忘门、细胞核和输出门在输入第t个文本时的状态;W为模型的参数;b为偏置向量;
Figure DEST_PATH_IMAGE017
为Sigmoid函数;tanh为双曲正切函数。
6.根据权利要求3所述的融合关联信息的程式语识别方法,其特征在于,所述词性特征和语义特征的晚融合包括:
首先把词性特征和语义特征分别输入到Bi-LSTM中,再将两个模型的结果进行拼接形成基本特征向量。
7.根据权利要求2所述的融合关联信息的程式语识别方法,其特征在于,所述关联信息提取方法包括:
基于互信息的关联信息:
两个离散随机变量 X和Y 的互信息(MI)的定义为:
Figure 256680DEST_PATH_IMAGE018
其中p (x, y) 是X和Y的联合概率分布函数,p(x)和p(y)分别是X和Y的边缘概率分布函数;如果要衡量某个数据集中任意两个单词x, y的关联程度,可以这样计算:
Figure DEST_PATH_IMAGE019
,其中,p(x),p(y)为x, y在数据集中独立出现的概率,直接统计词频后除以总的词数就可以得到;p(x,y)为x, y同时出现在数据集中的概率,直接统计二者同时出现的次数,再除以所有无序对的个数即可;
基于依存句法分析的关联信息:
依存句法揭示了句子中词与词之间的依存关系以及搭配关系,其中一个依存关系连接两个词,一个是核心词,一个是修饰词,这样的关系与句子的语义关系是相互关联的;
基于图卷积神经网络的特征表示:
通过MI和依存句法分析将单词间的关系用图来表示,所以采用图卷积神经网络来处理关联信息;
给定一个图G=(V, E),V是包含N个节点的顶点集,E是包括自循环边(即每个顶点都与自身相连)的边集,图G(V, E)的特征信息可由拉普拉斯矩阵(L)表示,如式11所示:
Figure 925559DEST_PATH_IMAGE020
或者使用对称归一化后的拉普拉斯矩阵:
Figure DEST_PATH_IMAGE021
式中:A为图的邻接矩阵;IN为N阶单位矩阵;D=diag(d)为顶点的度矩阵;
Figure 981239DEST_PATH_IMAGE022
基于图的傅里叶变换,图卷积公式可以表示为:
Figure DEST_PATH_IMAGE023
式中:x为节点的基本特征向量;g为卷积核;U为拉普拉斯矩阵L的特征向量矩阵;
采用Chebyshev多项式简化图卷积公式,最终图卷积分层传播公式可表示为:
Figure 735569DEST_PATH_IMAGE024
式中:
Figure DEST_PATH_IMAGE025
,
Figure 20051DEST_PATH_IMAGE026
Figure DEST_PATH_IMAGE027
为激活函数;W为需要训练的权重矩阵。
8.根据权利要求2所述的融合关联信息的程式语识别方法,其特征在于,所述标签表示方法包括:
在CRF中,每个句子X={x1,x2,…,xn}都有一个待选标签序列集和YX,通过计算集合中每个标签序列Y={y1,y2,…,yn}的得分来决定最终的标注序列,计算得分过程如式所示:
Figure 543436DEST_PATH_IMAGE028
其中,P
Figure DEST_PATH_IMAGE029
是一个得分矩阵,k为所有标签数量,Pi,j表示句子中第i个字符对应第j个标签的分数;A
Figure 301176DEST_PATH_IMAGE030
是一个包含了句子开始与结束标签的转移矩阵,Ai,j则表示标签i到标签j的转移分数;
将每个标签序列的分数进行归一化得到概率,其中概率最大的标签序列即为该句子的最终序列,归一化过程如式所示:
Figure DEST_PATH_IMAGE031
CN202210037262.XA 2022-01-13 2022-01-13 融合关联信息的程式语识别系统及方法 Pending CN114330338A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210037262.XA CN114330338A (zh) 2022-01-13 2022-01-13 融合关联信息的程式语识别系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210037262.XA CN114330338A (zh) 2022-01-13 2022-01-13 融合关联信息的程式语识别系统及方法

Publications (1)

Publication Number Publication Date
CN114330338A true CN114330338A (zh) 2022-04-12

Family

ID=81026614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210037262.XA Pending CN114330338A (zh) 2022-01-13 2022-01-13 融合关联信息的程式语识别系统及方法

Country Status (1)

Country Link
CN (1) CN114330338A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116151241A (zh) * 2023-04-19 2023-05-23 湖南马栏山视频先进技术研究院有限公司 一种实体识别方法及装置
CN116187339A (zh) * 2023-02-13 2023-05-30 首都师范大学 基于双塔模型进行特征语义融合的作文自动评分方法
CN116795886A (zh) * 2023-07-13 2023-09-22 杭州逍邦网络科技有限公司 用于销售数据的数据分析引擎及方法
CN117251807A (zh) * 2023-11-17 2023-12-19 中国医学科学院生物医学工程研究所 一种神经网络的运动想象脑电信号分类方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116187339A (zh) * 2023-02-13 2023-05-30 首都师范大学 基于双塔模型进行特征语义融合的作文自动评分方法
CN116187339B (zh) * 2023-02-13 2024-03-01 首都师范大学 基于双塔模型进行特征语义融合的作文自动评分方法
CN116151241A (zh) * 2023-04-19 2023-05-23 湖南马栏山视频先进技术研究院有限公司 一种实体识别方法及装置
CN116795886A (zh) * 2023-07-13 2023-09-22 杭州逍邦网络科技有限公司 用于销售数据的数据分析引擎及方法
CN116795886B (zh) * 2023-07-13 2024-03-08 杭州逍邦网络科技有限公司 用于销售数据的数据分析引擎及方法
CN117251807A (zh) * 2023-11-17 2023-12-19 中国医学科学院生物医学工程研究所 一种神经网络的运动想象脑电信号分类方法
CN117251807B (zh) * 2023-11-17 2024-02-13 中国医学科学院生物医学工程研究所 一种神经网络的运动想象脑电信号分类方法

Similar Documents

Publication Publication Date Title
CN107992597B (zh) 一种面向电网故障案例的文本结构化方法
CN112001185B (zh) 一种结合中文句法和图卷积神经网络的情感分类方法
Salur et al. A novel hybrid deep learning model for sentiment classification
CN109446338B (zh) 基于神经网络的药物疾病关系分类方法
CN111177394B (zh) 基于句法注意力神经网络的知识图谱关系数据分类方法
CN112001187B (zh) 一种基于中文句法和图卷积神经网络的情感分类系统
Tang et al. Sentiment embeddings with applications to sentiment analysis
CN108804530B (zh) 对图像的区域加字幕
CN114330338A (zh) 融合关联信息的程式语识别系统及方法
CN110321563B (zh) 基于混合监督模型的文本情感分析方法
CN112001186A (zh) 一种利用图卷积神经网络和中文句法的情感分类方法
Chang et al. Research on detection methods based on Doc2vec abnormal comments
CN110532328A (zh) 一种文本概念图构造方法
CN112818118B (zh) 基于反向翻译的中文幽默分类模型的构建方法
CN111985205A (zh) 一种方面级情感分类模型
CN106997341A (zh) 一种创新方案匹配方法、装置、服务器及系统
Zhang et al. n-BiLSTM: BiLSTM with n-gram Features for Text Classification
CN112667818A (zh) 融合gcn与多粒度注意力的用户评论情感分析方法及系统
Zhang et al. A multi-feature fusion model for Chinese relation extraction with entity sense
CN114547298A (zh) 基于多头注意力和图卷积网络结合R-Drop机制的生物医学关系抽取方法、装置和介质
CN113204967B (zh) 简历命名实体识别方法及系统
Li et al. Syntax role for neural semantic role labeling
CN114881042A (zh) 基于图卷积网络融合句法依存与词性的中文情感分析方法
Li et al. Combining local and global features into a Siamese network for sentence similarity
Liu et al. Deep neural network-based recognition of entities in Chinese online medical inquiry texts

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