分词作为信息处理任务中的一项基础工作,是自动问答、机器翻译、文本校对、摘要生成等任务的前提.中文在文本中使用标点符号划分句子,而词与词却没有分割符号来区分.因此,相比于英文分词,中文分词存在更多的难点.除此之外,词的划分目前也没有统一的标准,这会导致不同的人有不同的分词结果.中文分词评测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模型为基础,并列添加一个由中心字到输出的神经网络序列模型,最后两个模型线性相加后得到新的输出.
![]() |
图 1 强化中心字模型图 Figure 1 The center character strengthen model |
基于词典的逆向最大匹配分词效果优于正向最大匹配[13],同时上文和下文对基于字标注词法分析的影响不同,下文对字标注分词的影响更大[14].普通的双向LSTM结合了正向(上文)和逆向(下文)序列,这种方式把上文和下文当作同等的地位,未考虑两者地位不同的情况.
本文提出了强化逆向序列模型,通过强化逆向序列对神经网络模型的贡献作用,提升分词效果,其神经网络模型如图 2所示.双向LSTM模型结合了正向LSTM和逆向LSTM,正向LSTM获取上文信息,逆向LSTM获取下文信息.因此,通过在双向LSTM模型中添加一个新的逆向LSTM,相对双向LSTM模型来说能够捕获更多的下文信息.该模型核心思想:在原有双向LSTM的基础上,添加一层逆向LSTM,实现LSTM神经单元包含单层正向、双层逆向的神经网络模型,强化逆向LSTM作用.
![]() |
图 2 强化逆向序列模型图 Figure 2 The reverse sequence strengthen model |
本文实验采用Bakeoff 2005中微软亚洲研究院的封闭评测语料(MSRA),将其划分为80%训练集、10%验证集、10%测试集.
实验步骤如下.
Step1:对训练集按字分词,使用Word2vec训练字向量.
Step2:对训练集中每个字构造2k+1窗口大小的输入序列.
Step3:构建神经网络模型(本文隐含层神经元数量128).
Step4:训练(本文模型训练次数为30次),并使用验证集验证结果.
Step5:使用测试集得到准确率、召回率、F1值等评价指标.
首先,本文比较了窗口大小为7时不同词位数量对分词的影响,结果数据如表 1所示.由结果数据可知,在相同的训练次数下,4词位的分词模型效果最好.由F1值的变化规律可知,随着词位数量的增加,计算开销逐渐增大,分词效果整体呈下降趋势.这说明词位数量的增加,对训练过程增加了更多的干扰,降低了分词效果,因此本文提出的优化模型所采用的词位数量为四词位.
![]() |
表 1 不同词位数量影响表 Table 1 The influence of different tag number |
然后,本文基于4词位和6词位比较了不同窗口大小对分词的影响,结果数据如表 2所示.由结果数据可知,随着窗口的变大,分词的效果先提升后下降,窗口大小为9时,效果最佳.这说明在一定窗口大小内,适当增加窗口大小,有利于分词效果的提升.当窗口大小为7时,与窗口大小为9的效果接近,为了节省训练时间,本文后面实验采用的窗口大小为7.
![]() |
表 2 不同窗口大小影响表 Table 2 The influence of different window size |
最后,本文使用基于定长序列的双向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所示.这说明本文提出的两种优化方法,能够提高分词效果.
![]() |
表 3 神经网络模型结果对比表 Table 3 The result of different models |
本文以定向序列的双向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. DOI:10.3969/j.issn.1003-3254.2009.12.013 ( ![]() |
[4] |
姜尚仆, 陈群秀. 基于规则和统计的日语分词和词性标注的研究[J]. 中文信息学报, 2010, 24(1): 117-122. ( ![]() |
[5] |
奉国和, 郑伟. 国内中文自动分词技术研究综述[J]. 图书情报工作, 2011, 55(2): 41-45. ( ![]() |
[6] |
黄积杨. 基于双向LSTMN神经网络的中文分词研究分析[D]. 南京: 南京大学, 2016. http://cdmd.cnki.com.cn/Article/CDMD-10284-1016127262.htm
( ![]() |
[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. DOI:10.3969/j.issn.1005-8095.2008.11.022 ( ![]() |
[14] |
于江德, 王希杰, 樊孝忠. 字标注汉语词法分析中上文和下文孰重孰轻[J]. 计算机科学, 2012, 39(11): 201-203. DOI:10.3969/j.issn.1002-137X.2012.11.047 ( ![]() |
[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. http://cdmd.cnki.com.cn/Article/CDMD-10284-1016136802.htm
( ![]() |