APP下载

结合BiLSTM+CRF和TextRank的句法边界分析

2022-07-06杨陈菊邵玉斌皮乾东

小型微型计算机系统 2022年7期
关键词:词块句法向量

杨陈菊,邵玉斌,2,孙 俊,2,龙 华,2,皮乾东

1(昆明理工大学 信息工程与自动化学院,昆明 650500) 2(昆明理工大学 云南省计算机国家重点实验室,昆明 650500)

1 引 言

句法分析是自然语言处理的基本任务,这个任务是使机器能够自动的识别出句子的句法单位和这些单位的块标记信息,而本文研究的重点内容是识别出句子的句法单位而不包括块的类型标记.汉语对于词性要求不像英文那么严谨,在汉语中,动词可以作名词,名词可以作动词、形容词等现象随处可见,因此,获取句法边界才是关键.由此对于句法边界的识别研究也有着重要的意义,同时句法分析也变得简单高效.

句法分析发展分为3个阶段,分别是基于规则、统计、机器学习.早期常见的句法分析算法有:自顶向下和自底向上分析算法、线图分析法、CYK(Cocke-Younger-Kasami)算法等.对传统方法进行改进的研究,如皮乾东等[1]采用逆向扫描的方式改进LR算法,该方法存在规则不完整,鲁棒性低的问题.近年来大多研究者使用机器学习方法并取得了可观成果,HMM(Hidden Markov Model)[2]、CRF[3]、神经网络[4]被用于句法分析,这些方法是对句子的所有可能的句法树都计算一个得分,然后选择得分最大的对应的句法树为最终的分析结果.对于外语而言,目前比较好的是Shen Y等[5,6]提出的一种无监督句法结构归纳的神经语言模型(Parsing-Reading-Predict Networks,PRPN),可同时从未加注释的英文句子中归纳出句法结构,并能够利用推理结构来学习更好的语言模型.Eliyahu等[7]把LSTM应用到依存分析中,很好地获取了无限长度地上下文信息,得到了比FNN(Factorisation-machine supported Neural Networks)更好的效果.王衡军等[8]则用LSTM和CNN(Convolutional Neural Network)分别提取词向量特征和全局向量特征,取得了不错的效果.谌志群等[9]创新性地结合树形概率和BiLSTM对中文句法进行分析.谷波等[10]基于循环神经网络自底向上地使用中文二分结构的特点进行句法分析,在句子级别上正确率达43%.

词块识别作为层次句法分析中的关键一步,在研究历程中分为基于规则、统计、规则和统计结合、机器学习4个阶段.其中基于规则的方法通常是根据语言的词法、语法等语言学特点人工提取简要规则,例如总结词性的组合规则,或者通过统计手段获得短语的构建规则和大量短语识别模板,再利用这些规则和模板进行词块识别.基于统计的方法通过对文本进行统计获得各种统计量,例如词频、几个词语的词语共现次数、互信息、信息量、C-value等,然后利用这些统计量进行短语的识别.基于规则和统计结合的方法往往能够获得比前面二者更高的准确率,但仍然需要人工总结.随着机器学习的发展,HMM[11]、CRF[12]、神经网络[13]等方法被用于词块识别中.Huang等[14]在LSTM模型的基础上加入CRF模型提出了一种序列标记模型,能有效的利用将来和过去的输入数据特性.袁源[15]等先用CNN获取字向量,然后BiLSTM获取隐含特征,最后利用CRF输出预测序列标签.Zhang等[16]运用多层堆叠神经网络(stacked neural network)与CRF结合,F1值相较于传统CRF提高了3.75%的.以上结果表明了CRF对预测序列前后连贯性的修护作用.机器学习的方法避免了繁杂的特征工程,效果有显著提高.

核心词提取是层次句法分析的重要步骤,目前国内外对短语的核心词提取研究较少,而文档关键词的提取相对较多.关键词的提取分为有监督和无监督两类.有监督方法一般是把关键词提取的问题转化为二分类的问题.其中分类器利用决策树[17],神经网络[18],BiLSTM-CRF[19]等得到了较好的效果.无监督方法通过文本自身的词汇信息进行提取.比较经典的方法有TF-IDF(Term Frequency-Inverse Document Frequency)、TextRank、LDA(Latent Dirichlet Allocation).

上述的句法分析文献都没有考虑汉语句法结构的层次性,虽然取得了很高的块F1值,但从整句来看,正确率依然很低.短语结构句法树是自底向上按层递归结合构成的.本文结合句法结构的层次性提出了一种把核心词作为词块的形式替换的句法树结构.在汉语层次句法边界分析中,将词块识别和核心词提取分开进行,通过结合BiLSTM网络及CRF进行层次词块识别,通过改进TextRank方法来提取词块的核心词,构建了简单且易扩展的句法分析器.

短语结构句法树如图1(a)所示,句中的词语自底向上按层构成词块,体现了句法分析的层次性.其中NP、VP、IP代表词块的类型,词块类型根据词语词性等特征在不断的发生变化.为了更好的句法分析,本文提出一种把核心词作为词块的形式替换的句法树结构,如图1(b)所示.在层次分析中,“金融 工作”合成词块后用其核心词“工作”来形式上表示这个词块,同样“显著 成绩”用其核心词“成绩”来替换,在第2层分析中重复以上步骤,直到最后只剩一个词语.

图1 短语结构句法树和引入核心词的结构句法树Fig.1 Phrase structure syntax tree and structure syntax tree of introduces the core word

在层次句法边界分析中,只需要识别出句子的句法单位而不包括块的类型标记.每一层分析采用词块识别的方式识别出该层的语块,然后把该层识别出来的词块送入核心词提取模型中进行核心词的提取,再把提取结果输入下一层,进行下一层的词块识别,识别后又进行核心词识别,再把提取结果输入下一层,在下一层中循环以上步骤,直到最后剩下为一个词.分析流程如图2所示.开始时先判断句长(词语个数),句长为1,分析结束;句长为2,不用进行词块的识别,默认两个词语为一个整体,即默认为一个词语块,直接融入核心词提取模型中;句长大于2,首先进行词块识别,识别结果再送入核心词识别模型中.识别结果又进行句长判断,直到句长为1结束.

图2 层次句法分析流程图Fig.2 Flow chart of hierarchical syntactic analysis

本文与传统句法分析不同的地方在于将词块识别和核心词提取分开进行,识别出句子的句法单位.在词块识别模块,使用BiLSTM+CRF网络提取上下文特征,识别出词块;在核心词提取模块,通过加入词语的相似度信息、位置信息、词性信息改进TextRank方法,提高核心词识别准确率.关键词提取是指在文档中提取出关键词,本文的核心词识别是在词块搜索范围内提取一个核心词,以便把一个词块规约为一个词.因此重新定义了词语的重要性指标.

2 BiLSTM+CRF词块识别

本文将层次词块识别问题转换为一个序列标记的问题,采用BiLSTM+CRF模型进行词块序列标记的识别.如图3所示(方框表示向量,圆圈表示LSTM网络),将一个句长为n的句子S={w1,w2,w3,…,wi,…,wn},i=1,2,…,n作为细粒度词块识别的输入,其中w为句子中的词语,i表示词语在句子中的位置,n为句子中词语的个数.分布式词向量内部包含词与词之间的相似度信息,对相邻词块的识别有较好的作用,因此通过词嵌入层把词语映射为词向量.然后将词向量输入到BiLSTM模型中,获取该句子的上下文词特征.接下来把BiLSTM的输出输入到CRF模型中,经过一个线性层,最后输出最高分数对应的标记序列作为预测结果.其中词块标记方法采用BIO标记法,“B”表示词块的开始,“I”表示词块的中间及结尾,“O”表示单独一个词构成一个词块.

2.1 词嵌入层

图3中xi=[xi1,xi2,…,xin],(n=dw+dp),包含了词向量xwi∈Rdw和词性向量xpi∈Rdp信息,xi由两个向量拼接后经过线性和非线性变换后获得,如公式(1)所示,dw表示分布式词向量的维度,dp表示分布式词性向量的维度,wx表示权重矩阵,bx表示偏移向量,激活函数g为sigmoid函数.最后可以得到大小为(dw+dp)×n的输入矩阵x.xwi和xpi分别从训练好的词向量矩阵和词性向量矩阵中索引获取.

xi=g(wx[xwi;xpi]+bx)

(1)

图3 BiLSTM+CRF词块识别模型Fig.3 Chunk recognition model of BiLSTM+CRF

2.2 BiLSTM层

BiLSTM层如图4所示,BiLSTM同时从前向和后向获取蕴含上下文信息的词向量和词性向量特征.LSTM网络在每一时刻引入输入门it、遗忘门ft、输出门ot和记忆单元机制ct,当前时刻的输出不仅仅取决于当前的输入xt,还取决于前一时刻的记忆向量ct和隐层向量ht,前向LSTM各个机制的获取如公式(2):

图4 双向LSTM网络模型Fig.4 BiLSTM neural network model

(2)

(3)

BiLSTM通过前向和后向传递历史信息,从而可以全面学习有效的在不同语境中的词向量和词性向量特征.BiLSTM层的输出经过线性层和log-softmax层获得概率矩阵,softmax函数如公式(4),其中zi表示线性层的输出.

(4)

(5)

log-softmax目的是缩小值的范围,可以避免上下溢出,如公式(5)所示,其中M=max(zi),i=1,2,…,n,这样处理加快了运算速度,并保持数值的稳定.

2.3 CRF层

BiLSTM层以及经过线性层和log-softmax层的输出结果是给单独的标签解码,并没有考虑到预测标签信息的前后连贯性,假设能够利用相邻的输出预测标签信息,对预测结果会有很大的提升.CRF能够学习输出结果序列的转移特征,能很好的解决这个问题,起到联合解码的作用.

2.4 训练目标

句子的词块识别可以看成是句子的词块划分标记的优化问题,如公式(6)所示.其中y表示句子S的任意一种词块划分方式,Y表示句子S的所有可能的词块划分方式(所有可能的标记序列),θ包括模型中的所有参数,y*为句子S的预测结果,预测结果为使得该句子词块的标签序列得分Score(S,y;θ)最高的词块标记方式.

(6)

某个词块标记序列y的得分Score(S,y;θ)的得分计算式如公式(7)所示:

(7)

其中P表示状态输出矩阵,即log-softmax层输出的向量序列,维度为n×l,n为句长,l为标记的种类个数,本文中使用的是BIO标记法,即l=3;Pi,j表示第i个单元输出的得分向量.A表示标记序列的转移矩阵,Ayi-1,yi则表示标记yi-1转移到标记yi的得分.该标记序列的最后得分如公式(8)所示:

(8)

训练目标函数如公式(9)所示:

(9)

3 基于TextRank的词块核心词识别

在句法分析中,词块的核心词作为该词块的形式代表,本节研究的问题是如何提取词块的核心词.通过改进TextRank算法进行词块核心词的提取.TextRank是一种用于文本的基于图的排序算法,其思想是一个词块中,若有一个词语的权值很高,那么与他关联的词语的重要度也会根据这个词的重要性提升,越重要的词对应节点的权值越高,所以我们把词块核心词识别的问题转换成词块中的词汇的重要程度的排序问题,然后提取节点权值最大所对应的词语.

首先构造一个有向图G=(W,E),其中W表示词语节点,E表示边,节点wi的权重计算式如公式(10):

(10)

(11)

其中simji为词语wj与wi的余弦相似度,x为Word2vce词向量.

节点wi的权重的初始值设如公式(12)所示,然后进行迭代计算直到收敛:

(12)

Word2vce本身含有语义相似度信息[20],现有方法中词语的重要度权值只考虑了词语的语义相似度.但词块中词语的重要度不止这一个因素.汉语短语的基本类型分为五类:偏正、动宾、补充、主谓和并列.其中偏正结构前偏后正,核心词在后,主要因素为词语的位置;动宾和主谓是支配关系,核心词主要为动词,补充的核心词为前面的动词或形容词,主要因素为词语的词性.综上所述词块中词语的重要程度还取决于词语的位置和词性信息.因此本文在此基础上添加了词汇的位置信息和词性信息.对于位置信息遵循“前修饰后”的原则[21],越后出现的词其权值越高,反之越小,如公式(13)所示:

(13)

其中M为词wi在词块中出现的次数,N为词块的长度,Lk(wi)为wi在词块中的位置.在位置信息矩阵中,wi和wj的词性信息值为0.5×(IL(wi)+IL(wj)).

词性对词语的重要度影响因素的构造函数如公式(14)所示:

(14)

其中pos为词性分类集合,本文把词性分为以下4类:动词、名词、形容词和其他,则|pos|=4,Pk(wi)表示词性标记,动词类标记为4,名词类标记为3,形容词类标记为2,其他标记为1,遵循“动词>名词>形容词>其他”的原则,词性的具体分类见表1.在词性信息矩阵中,wi和wj的词性信息值为0.5×(IP(wi)+IP(wj)).另设wi的语义相似度信息如公式(15)所示:

(15)

IS表示若一个词的重要度很高,与他越相似的词也会根据它的重要度做相应的提升.

在迭代计算前先获取概率转移矩阵如公式(16)所示:

(16)

其中Tji表示节点词汇wj的影响因素转移到节点词汇wi的概率,即有向图G=(W,E)中节点连接的边权,计算式如公式(17)所示:

(17)

其中α、β、γ分别为语义相似度信息、节点位置信息、节点词性信息的权值,且α+β+γ=1.

最后按公式(18)优化权重迭代计算过程,迭代计算直至收敛为止.迭代计算方法是逐步逼近最优近似解的过程,当满足终止迭代的条件时,能获得一个足够精度的近似极小值,我们认为此时达到了收敛条件,这一条件就是迭代计算的终止准则.迭代计算的终止准则一般有3种方法:点距准则、函数下降量准则、梯度准则.本研究采用函数下降量准则:当相邻迭代时刻的目标函数值的下降量达到一个充分小值时,迭代终止,阈值设为0.0001.

(18)

其中,概率转移矩阵T维度大小为N×N;R=[w1,w2,…,wN]维度大小为N×1,其元素分别对应词块中第一个词至最后一个词的重要度;e表示维度大小为N的单位向量.

表1 词性分类表Table 1 Part of speech classification table

4 实 验

4.1 数据集预处理

实验数据集来自宾州中文树库(CTB8.0),首先对数据进行了以下处理:

1)去除短语标记,只保留边界信息.

2)去除空节点和一元短语边界.

3)去除含未知符号的句子,例如英文单词、“-------”、“.....”、“#”号等无明确意义的符号;去除重复的句子;去除无意义的句子,例如人物姓名列表等.

4)替换类型词:用“number”替换数字,“time”替换日期,“name”替换人名,“percent”替换百分数,“ordinal”替换序数.

5)词块采用BIO标记方法.

最后选出包含10000个句子,将其中9000个句子作为训练集,验证集和测试集各1000句.

4.2 实验设计

为验证模型性能,设置了12组模型实验.其中,词块识别模块设置了3组实验,分别采用了CRF、BiLSTM、BiLSTM+CRF模型进行对比,其中的CRF词块识别特征模板和BiL-STM网络词块识别的超参数设置见表2和表3;核心词识别模块设置了4组实验,分别单独验证相似度信息、位置信息、词性信息的核心词识别方法对句法边界分析的影响,以及验证将3种信息联合作用对句法边界分析的影响.实验还给出不同句长下的分析结果,按句长分为4类:130,其中N为句长.核心词识别模块的参数设置见表4.

表2 CRF词块识别特征模板Table 2 CRF word block recognition feature template

表3 BiLSTM词块识别超参数设置Table 3 LSTM block recognition hyperparameter setting

表4 核心词识别参数设置Table 4 Key word identification parameter setting

4.3 评价指标

句法边界的识别模型评价指标有P、R和F1值,其中P表示正确率,其值为分析结果中正确的短语个数占分析结果中的短语个数的百分比;R表示召回率,其值为分析结果中正确的短语个数占测试集中总的短语个数的百分比;F1表示短语级别的综合指标:F1=2×P×R/(P+R).本文统计了整句的正确率(Overall Accuracy,OA)作为指标,整句正确率指的是句法分析中从第1层至最后1层的句法边界识别正确的句子个数与所测试句子个数的百分比.

5 实验结果分析

实验结果如表5所示.本实验结果可以看出核心词提取部分同等条件下,词块识别阶段使用BiLSTM相对于CRF在句法边界分析结果上稍有优势,但BiLSTM+CRF较前两者有一定的提高:F1值分别提高了2.1和1.4个百分点,OA值分别提高了1.7和1.1个百分点.原因是长短期记忆模型能充分学习到上下文信息,并能一定程度上解决长依赖问题;CRF层在其后充分利用相邻的输出预测标签信息,学习输出结果序列的转移特征,起到联合解码的作用.

表5 实验结果Table 5 Experimental result

词块识别模块同等条件下,核心词识别阶段的3种信息中,相似度信息与词性信息的重要程度比较接近,且比位置信息稍重要;但把3个信息按重要程度赋予权值合并起来进行识别对句法边界分析的效果最好.其中词块识别为BiLSTM+CRF模型时,合并3个信息的TextRank算法的句法边界识别的F1值相较于单独的相似度信息、位置信息、词性信息分别提高了4.1、6.3、4.0个百分点,OA值分别提高了3.0、4.6、2.5个百分点.原因有:1)相似度信息对核心词识别的准确度取决于相似度矩阵,间接取决于词向量训练的规模;因此扩大词向量训练规模可有助于句法边界的整体识别正确率;2)位置信息对核心词识别的准确度取决于位置信息矩阵的参数的大小,间接取决于的词块长度.长度越短,位置信息矩阵的参数越大,最终的转移概率矩阵中的位置信息占比就越大,从而使得另外两个信息占比越小,甚至起到很小的作用.由此,位置信息的权重相对较小才能起到较好的作用;3)同理词性信息对核心词识别的准确度取决于词性信息矩阵参数的大小,间接取决于词性的分类数目以及词性划分方式,扩大词性划分数目以及规范划分细则可有助于句法边界的整体识别正确率.

再者,由表5可以看出,整句的正确率效果并不理想,主要原因是汉语使用的多样化,例如同一个词有多种用法等.输出分析错误的句子后发现,它们的大部分中含有并列结构,并列结构的核心词不稳定导致句法边界的识别错误;另外数据集中标点符号的多样化也是一重要原因.

在不同句长条件下,分别测试了下12种模型的F1值及OA值分布情况.通过图5的曲线可以看出随着句长的增长,F1值及OA呈下降的趋势.

图5(a)和图5(b)曲线显示,句长为(20,30]的IS+IL+IP的OA值相对单独使用各信息的情况稍小,而图5(c)的BiLSTM+CRF模型的OA值明显提升了.说明BiLSTM+CRF词块识别模型对TextRank_(IS+IL+IP)的相互促进作用,联合提升了句法边界识别的准确率.整体来看,IS+IL+IP的方法相比于单独使用IS、IL、IP各句长范围下都具有明显的优势.图5(d)曲线显示,BiLSTM+CRF+TextRank_(IS+IL+IP)模型在各句长下的F1值和OA值最高.说明该模型性能的优越性及稳定性.

图5 不同句长下各模型组合的F1值及OA值分布情况Fig.5 F1 and sentence accuracy of each model under different sentence lengths

为了验证本文方法相较于传统方法性能上的提升,对所有标签数据进行了文献[1]方法的实验;以及目前的先进方法进行了实验,表6列出了部分F1值和OA值较高的方法与本文方法进行对比,其中文献[22]为统计方法,文献[5]、文献[6]、文献[8]、文献[10]利用了神经网络方法.

从表6可以看出,本文提出的方法较传统规则方法和统计方法F1值和OA值都有明显的提升:与传统LR算法相比F1值提升了6.58个百分点,OA值提升了3.68个百分点,与统计方法相比,F1值提升了5.82个百分点,OA值提升了3.31个百分点.与使用BiLSTM+CNN的文献[8]以及使用RNN-INT的文献[10]相比,本文方法也是明显提升的.与使用PRPN的文献[5]相比,本文方法略有优势,F1值和OA值比较接近使用PRPN-LM的文献[6],但仍存在差距,并且从所有方法的OA值上看,有待进一步提高.

表6 句法边界测试结果及对比Table 6 Syntactic boundary test results and comparison

6 结 语

本文通过分析短语结构类型层次句法分析的层次性和汉语结构特点,提出一种把核心词作为词块的形式替换的句法树,通过BiLSTM+CRF与改进的TextRank结合使用进行句法边界的识别.首先利用BiLSTM获取上下文特征,加上CRF层分析预测标签序列的前后连贯信息,从而进行词块分析;利用相似度信息、位置信息和词性信息对TextRank算法的改进,解决了从文本关键词提取到词块核心词提取算法移用的难题,摆脱了传统的基于大量规则的繁琐步骤,也不用频繁地计算词语移进和规约动作的概率,同时提升了句法边界分析的效果.但存在的不足是层次分析的累积错误问题:若低层次分析错误,导致高层次也出现错误,从而导致整句的正确率下降.词块分析和核心词提取过程是相辅相成、相互影响的.因此另外一个问题是词块分析的失误可能导致核心词提取结果不正确,同样核心词的识别不理想也会影响到词块识别效果,核心词识别对句法分析中的非第一层词块识别的效果起决定性作用.

猜你喜欢

词块句法向量
向量的分解
柬语母语者汉语书面语句法复杂度研究
如何在高中英语词汇教学中运用词块理论
句法二题
《空间句法在中国》段进、比尔?希列尔等(著)
诗词联句句法梳理
词块在英语写作教学中的应用
英语专业学生与本族语名人演讲中词块使用特点探究
高中英语词块教学现状调查研究及应用策略分析
向量垂直在解析几何中的应用