基于定长序列的双向LSTM分词优化方法
2018-05-10郭正斌张仰森
郭正斌, 张仰森
(北京信息科技大学 智能信息处理研究所 北京 100192)
0 引言
分词作为信息处理任务中的一项基础工作,是自动问答、机器翻译、文本校对、摘要生成等任务的前提.中文在文本中使用标点符号划分句子,而词与词却没有分割符号来区分.因此,相比于英文分词,中文分词存在更多的难点.除此之外,词的划分目前也没有统一的标准,这会导致不同的人有不同的分词结果.中文分词评测 Bakeoff采用人工审定的语料库, 让多个不同标准的分词语料同台测试,这种评测方式整合了各种非统一的分词规范,有效推动了分词技术的发展[1].
在深度学习适用于这一领域之前,研究方法主要包括:基于词典分词方法[2]、基于统计分词方法[3]和基于规则分词方法[4].基于词典分词方法对于新词和歧义的识别率差,并且其准确性一般[5].基于统计分词方法在很多的机器学习算法中表现都很优秀,也是目前使用最多的分词方法,但存在训练特征数量多并且容易产生过拟合问题[6].基于规则分词方法是复杂的规则基于句法、语法、语义等实现,但存在领域适应性差和词典可维护性难等缺点[7-8].
基于字标注的分词方式在统计分词中取得了很好的结果,这种方式把分词过程视为字在字串中的标注问题,中文分词因此可以被转化为字序列的标注问题[9].基于深度学习的分词方法采用循环神经网络模型,有效地解决了序列标注问题.长短期记忆网络(long short term memory, LSTM)模型能够更好地捕获远距离上下文信息,解决了循环神经网络长距离依赖问题.双向LSTM的分词模型能够获取未来的知识,结合词的上文和下文信息去分词,解决了LSTM只能训练历史信息的问题.
传统的循环神经网络每一个序列当前的输出结合了历史序列的输出,这种方式把每一个序列都当作相同地位.但在固定窗口大小的分词方式中,待标注字串的标签也是字串最中间字(中心字)的标签,因此,中心字应该有更加突出的地位.本文提出的强化中心字模型,通过强化中心字到输出的重要作用,突出中心字的地位.传统的双向LSTM分词模型,把正向和逆向当作相同地位,但在分词的序列标注任务中,两者地位可能并不相同.本文提出了强化逆向序列模型,在原有双向LSTM的基础上,通过添加一层逆向LSTM,强化逆向LSTM的作用.
本文采用Bakeoff 2005中微软亚洲研究院封闭评测语料(MSRA),实验表明,本文提出的强化中心字模型和强化逆向序列模型,分词效果都得到了提升.
1 相关的理论及其原理
1.1 词向量
词向量,现在通常是指分布式表示、词嵌入,用低维度的实数向量表示词.词向量的表示方式解决了维度灾难问题,并且能够通过向量距离表示词之间语义上的相似性.语义上相似的词,它们在向量空间上更加接近.本文使用的是字向量,即每个字是一个向量,训练方式与词向量相同,区别在于训练语料中的每个字都是一个词.
1.2 LSTM模型
长距离依赖是指当前预测点依赖远距离的相关信息,才能学到相关知识.LSTM是一种特殊的循环神经网络,在解决长距离依赖问题上表现优秀.LSTM 使用“门”结构来决定什么信息可以通过,每个神经元细胞分别由 “遗忘门”、 “输入门”、 “输出门”和记忆单元组成[10-11].
2 基于双向LSTM的分词优化方法
2.1 基于定长序列的双向LSTM分词模型
文献[7]提出了变长序列的4词位双向LSTM的分词模型,文献[4]提出了定长序列的六词位单向LSTM分词模型,并且引入预先训练好的字嵌入向量,都取得了很好的分词效果.不同的词向量训练方式不同,得到的效果也不同,但都有益于分词性能的提升[12].本文结合两者长处,在字向量基础上,提出了基于定长序列的双向LSTM分词模型.
词位数量会影响分词的效果.理论上,使用的词位数量越多,能够更有效地标注字的词位信息.在Bakeoff的测评中,4词位的词位标注集是使用最广泛的,在某些情况下,6词位的词位标注集能取得更好的分词结果.因此,本文探究了不同词位数量对分词的影响,并且着重对四词位和六词位进行更多的探讨.
窗口大小也会影响分词的效果.窗口的大小(2k+1,k指上文或下文的窗口宽度)取决于词的字数和词的上下文的数量,因为99%的词字数小于等于5,因此,窗口的大小必须大于等于5,否则,窗口序列不能充分表示一个词.并且历届Bakeoff测评中很少有系统使用5个字以上的窗口宽度,因此, 定长序列窗口大小2k+1(k≤5),能够满足实验对训练语料中窗口大小的需求.
本文在基于定长序列的双向LSTM模型基础上,通过对不同词位数量和窗口大小的分词模型实验分析,确定最优的词位数量和窗口大小.
2.2 强化中心字模型
普通的LSTM模型,每一个神经元都有相同的结构,每一个序列都具有相同的地位.在定长序列的分词模型中,对于每一个待标注字串,最中间字(中心字)的标签是期望的训练标签.因此,普通的LSTM分词模型无法体现中心字具有更加重要的地位.
本文提出了强化中心字模型,通过强化中心字对训练的重要性,优化分词过程,其训练模型如图1所示.因为LSTM神经元结构彼此之间是相同的,无法通过修改中心字的神经元结构来强化中心字的重要性.所以,本文通过并列添加一个输入序列为中心字的神经网络模型,与原有模型相结合,达到强化中心字重要性的作用.该模型核心思想为:以原有双向LSTM模型为基础,并列添加一个由中心字到输出的神经网络序列模型,最后两个模型线性相加后得到新的输出.
2.3 强化逆向序列模型
基于词典的逆向最大匹配分词效果优于正向最大匹配[13],同时上文和下文对基于字标注词法分析的影响不同,下文对字标注分词的影响更大[14].普通的双向LSTM结合了正向(上文)和逆向(下文)序列,这种方式把上文和下文当作同等的地位,未考虑两者地位不同的情况.
本文提出了强化逆向序列模型,通过强化逆向序列对神经网络模型的贡献作用,提升分词效果,其神经网络模型如图2所示.双向LSTM模型结合了正向LSTM和逆向LSTM,正向LSTM获取上文信息,逆向LSTM获取下文信息.因此,通过在双向LSTM模型中添加一个新的逆向LSTM,相对双向LSTM模型来说能够捕获更多的下文信息.该模型核心思想:在原有双向LSTM的基础上,添加一层逆向LSTM,实现LSTM神经单元包含单层正向、双层逆向的神经网络模型,强化逆向LSTM作用.
图1 强化中心字模型图Fig.1 The center character strengthen model
图2 强化逆向序列模型图Fig.2 The reverse sequence strengthen model
3 实验及结果分析
本文实验采用Bakeoff 2005中微软亚洲研究院的封闭评测语料(MSRA),将其划分为80%训练集、10%验证集、10%测试集.
表1 不同词位数量影响表
实验步骤如下.
Step1: 对训练集按字分词,使用Word2vec训练字向量.
Step2: 对训练集中每个字构造2k+1窗口大小的输入序列.
Step3: 构建神经网络模型(本文隐含层神经元数量128).
Step4: 训练(本文模型训练次数为30次),并使用验证集验证结果.
Step5: 使用测试集得到准确率、召回率、F1值等评价指标.
首先,本文比较了窗口大小为7时不同词位数量对分词的影响,结果数据如表1所示.由结果数据可知,在相同的训练次数下,4词位的分词模型效果最好.由F1值的变化规律可知,随着词位数量的增加,计算开销逐渐增大,分词效果整体呈下降趋势.这说明词位数量的增加,对训练过程增加了更多的干扰,降低了分词效果,因此本文提出的优化模型所采用的词位数量为四词位.
然后,本文基于4词位和6词位比较了不同窗口大小对分词的影响,结果数据如表2所示.由结果数据可知,随着窗口的变大,分词的效果先提升后下降,窗口大小为9时,效果最佳.这说明在一定窗口大小内,适当增加窗口大小,有利于分词效果的提升.当窗口大小为7时,与窗口大小为9的效果接近,为了节省训练时间,本文后面实验采用的窗口大小为7.
最后,本文使用基于定长序列的双向LSTM分词模型双向长短期记忆网络(bidirectional LSTM, BLSTM)和在此基础之上的强化中心字模型BLSTM(center)、强化逆向序列模型BLSTM+LSTM(backward),与Bafeoff 2005在封闭测试中最好结果(Bakeoff2005-Best)、文献[7]提出的BLSTM(4tag)、文献[4]提出的方法LSTM(4tag+ce)相比较,实验效果得到提高,其中BLSTM+LSTM(backward)模型效果最好,比Bafeoff2005封闭测试时最好的F1值提升了1.18%,比BLSTM(4tag)提升了0.68%,实验数据如表3所示.这说明本文提出的两种优化方法,能够提高分词效果.
表2 不同窗口大小影响表
表3 神经网络模型结果对比表
4 结束语
本文以定向序列的双向LSTM模型为基础,引入字向量,研究了词位数量和窗口大小对分词的影响,并且在此基础上,提出了强化逆向序列模型和强化中心字模型,实现了对分词的优化.实验证明,在相同训练次数下,四词位比其他词位数量能够取得更好的效果.本文提出的优化模型——强化逆向序列模型和强化中心字模型,都提高了分词效果.对于其他序列标注任务有一定的借鉴作用.
除此之外,隐含层的数量[15]对分词的影响,不同模型训练时间的对比,模型层数的增加是否能增加分词效果,dropout参数的影响[16]以及引入注意力机制[17]等,都将是基于双向LSTM的分词模型需要继续研究的地方.
参考文献:
[1] 黄昌宁,赵海. 中文分词十年回顾[J]. 中文信息学报,2007,21(3):8-19.
[2] 莫建文,郑阳,首照宇,等.改进的基于词典的中文分词方法[J].计算机工程与设计,2013,34(5):1802-1807.
[3] 褚颖娜,廖敏,宋继华. 一种基于统计的分词标注一体化方法[J].计算机系统应用,2009,18(12):55-58.
[4] 姜尚仆,陈群秀.基于规则和统计的日语分词和词性标注的研究[J].中文信息学报,2010,24(1):117-122.
[5] 奉国和,郑伟.国内中文自动分词技术研究综述[J].图书情报工作,2011,55(2):41-45.
[6] 黄积杨. 基于双向LSTMN神经网络的中文分词研究分析[D].南京:南京大学,2016.
[7] 任智慧,徐浩煜,封松林,等.基于LSTM网络的序列标注中文分词法[J].计算机应用研究,2017,34(5):1321-1324.
[8] 陈飞,刘奕群,魏超,等.基于条件随机场方法的开放领域新词发现[J].软件学报,2013,24(5):1051-1060.
[9] 于江德,王希杰,樊孝忠. 基于最大熵模型的词位标注汉语分词[J]. 郑州大学学报(理学版),2011,43(1):70-74.
[10] 廖健,王素格,李德玉,等. 基于增强字向量的微博观点句情感极性分类方法[J]. 郑州大学学报(理学版),2017,49(1):39-44.
[11] 梁军,柴玉梅,原慧斌,等.基于极性转移和LSTM递归网络的情感分析[J].中文信息学报,2015,29(5):152-159.
[12] WANG P, QIAN Y, SOONG F K, et al. Learning distributed word representations for bidirectional LSTM recurrent neural network[C]∥Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. California, 2016:527-533.
[13] 张启宇,朱玲,张雅萍. 中文分词算法研究综述[J]. 情报探索,2008(11):53-56.
[14] 于江德,王希杰,樊孝忠.字标注汉语词法分析中上文和下文孰重孰轻[J].计算机科学,2012,39(11):201-203.
[15] 彭玉青,刘帆,高晴晴,等. 基于微调优化的深度学习在语音识别中的应用[J]. 郑州大学学报(理学版),2016,48(4):30-35.
[16] CHEN X, QIU X, ZHU C, et al. Long short-term memory neural networks for chinese word segmentation[C]∥Proc of Conference on Empirical Methods in Natural Language Processing. Lisbon,2015, 1197-1206.
[17] 张冲. 基于Attention-Based LSTM模型的文本分类技术的研究[D]. 南京:南京大学,2016.