APP下载

基于Lattice-LSTM的多粒度中文分词

2019-02-25张文静张惠蒙杨麟儿荀恩东

中文信息学报 2019年1期
关键词:分词粒度向量

张文静,张惠蒙,杨麟儿,荀恩东

(1. 北京语言大学 语言资源高精尖创新中心,北京 100083;2. 北京语言大学 信息科学学院,北京 100083)

0 引言

中文分词任务是中文信息处理领域中最为经典且关键的课题之一。在过去的几十年中,研究者们对其进行了不断的探索。早期,基于词表的最大长度匹配方法被广泛用来解决该问题。从2003年起,分词问题逐渐被视为序列标注任务[1]。最大熵[2]、条件随机场[3-5]等模型被用来解决序列标注任务。然而,传统机器学习方法一般采用特征工程的方式,依赖专家经验,成本较高。由于神经网络模型可以自动隐式提取特征,因此近年来被广泛用于解决分词任务。Zheng 等[6]提出神经网络中文分词的方法,将字向量作为输入,用一个简单的神经网络模型替代了最大熵模型[2]。Chen等[7]提出用长短期记忆神经网络(long short-term memory neural networks,LSTM)来对句子进行建模,捕捉字与字之间的长距离依赖关系。Zhang等[8]将基于转移的思想应用于分词任务中并取得了很好的效果。Yang等[9]使用了大量的外部训练语料进行预训练,利用外部知识提高了分词效果。

中文分词任务在单粒度人工标注语料下取得了不错的成绩,然而,中文分词存在分词标准不统一的问题,比如,对于不同的人工标注语料,如Microsoft Research(MSR)数据集[10],Peking University People Daily(PPD)数据集[11],Penn Chinese Treebank(CTB)数据集[12],分词标准是有所区别的。表1给出了三种分词标准下示例句子的分词结果。

表1 三种分词标准下示例句子的分词结果

Sproat等[13]的研究表明以汉语为母语者在未提供明确标准的情况下对于词边界的识别度约为76%。可见,单粒度中文分词对人工数据标注的工作提出了很大的挑战。并且,模型在对单粒度标注语料进行训练时,会更多地学习标注标准的特征,而不是词语的特征。Gong等[14]构建了多粒度中文分词语料库,并利用短语句法分析和序列标注的思想来解决多粒度中文分词任务,取得了很好的结果。这一工作为中文分词任务开创了新的思路,为研究者们提供了新的研究方向。多粒度中文分词的优势在于其应用于信息检索和机器翻译等任务时具有一定的容错性,可减少分词错误对后续任务的影响。而且不同粒度的分词结果可以起到互补作用:一方面,粗粒度词语可以使模型更准确地捕获信息从而进行分析;另一方面,细粒度词语可以减少数据稀疏性并体现出对语言更深层次的理解,为后续任务打下良好基础。

基于字的多粒度中文分词模型的缺点之一是没有充分利用不同粒度的词语信息。为了弥补这一缺陷,我们把词语信息作为特征输入到模型中。由于这些词语中包含多种粒度,可以为模型提供更多的知识引导,使得模型可以更好地生成多粒度中文分词结果。本文在基于字的LSTM模型中加入潜在的粒度多样化的词语信息作为特征,并构建Lattice-LSTM来对这些词语进行建模。如图1所示,我们利用自动获取的词表来构建网格结构。例如,“和平共处”“和平”“共处”表示两种分词标准得到的多粒度词语结果。Zhang等[15]的工作表明混合词典信息的网格LSTM结构可以建模句子从开始字到结束字的信息流动过程。我们将本文提出的模型在Gong等[14]构建的多粒度标注数据上进行了训练。实验表明,模型可以从上下文中自动寻找到多粒度中文分词结果,并取得很好的效果。与基于字的LSTM多粒度中文分词模型相比,我们的模型利用了多粒度的词语信息作为模型特征。实验结果表明,我们的模型结果要好于基于字的LSTM多粒度中文分词模型和基于句法分析的多粒度中文分词模型,并且在多粒度中文数据集上取得了目前最好的结果。

图1 网格结构

1 模型

我们在基于字的LSTM模型中加入潜在的粒度多样化的词语信息并构建Lattice-LSTM模型。给定句子s=c1,c2,…,cm作为输入,其中,cj代表这个句子中的第j个字。输出是粒度从粗到细的多粒度标签,如表2所示。每个词在单粒度上采用BIES标签体系。

表2 多粒度标签

1.1 基于字的LSTM-CRF模型

循环神经网络(RNN)利用隐藏状态来保存历史信息,是解决序列标注问题的一种有效方法。然而,由于梯度消失的原因,RNN不能很好地学习到长距离依赖关系。长短期记忆网络(LSTM)在RNN的基础上引入记忆单元来记录状态信息,并通过三种名为输入门、遗忘门和输出门的门结构来更新隐藏状态和记忆单元。

(1)

(2)

图2 本文提出的模型

• Char+bichar

双字特征在中文分词任务中对于字特征的表示起到了很好的作用[7,9,16]。于是,通过将单字向量和双字向量进行拼接的方式,在基于字的LSTM-CRF模型中加入双字特征,如式(3)所示。

(3)

其中,eb表示双字向量映射表。

1.2 Lattice-LSTM-CRF模型

模型的全部结构如图2(b)所示。我们的模型可以看作是在基于字的LSTM-CRF模型基础上加入词特征,并利用门结构引导信息的流动。

(4)

(5)

(6)

(7)

(8)

(9)

2.3 CRF层

一个标准的CRF(层)作用在h1,h2,…,hm上。标签序列y=l1,l2,…,lm的生成概率如式(10)所示。

(10)

其中,y′是任意可能的标签。我们采用维特比算法来得到最可能的标签序列。

2 实验

2.1 数据集

对于多粒度中文分词任务,实验所用的训练语料和测试语料来源于Gong等[14]构建的多粒度标注数据集。该数据集由MSR,PPD,CTB这三个分词标准不一致的数据集以及人工标注测试数据集构成,详细信息如表3所示。

表3 训练集、开发集和测试集统计信息

2.2 评测指标

2.3 超参数及训练设置

超参数的选择对神经网络模型有很大的影响。在我们的模型中,超参数的设置如表4所示。字向量、双字向量及网格中的词向量都采用随机初始化的方式,且向量维度都设为50。LSTM模型的隐藏层维度设为200,层数为1。对于字向量和网格中的词向量都使用Dropout[17],且值设为0.5。优化算法使用SGD(随机梯度下降法)对模型优化,且初始学习率设为0.015并以0.05的速率进行衰减。我们选择在开发集上效果最好的模型来对测试集进行评测。由于时间和计算资源的限制,之后我们将会继续探索预训练词向量和词向量表示对模型的影响。

表4 超参数值表

2.4 实验结果及分析

表5给出了本文提出的基于Lattice-LSTM的多粒度中文分词模型在多粒度中文标注数据开发集和测试集上的实验结果,且同Gong等[14]的实验结果进行了对比。本文提出的方法是在基于字的LSTM多粒度中文分词模型基础上,加入了网格结构。从表5中我们可以看出,我们的模型效果要好于Gong等[14]基于字的LSTM模型的效果,开发集的F1值从95.41%提高到了96.78%。而且,表5的实验结果表明,同Lattice-LSTM模型相比,引入双字特征之后的Lattice-LSTM模型并没有使得开发集的F1值很大的提升。这是因为虽然双字向量在一定程度上可以消除单字歧义,但是双字向量也是模棱两可的。

通过对实验结果的对比与分析,本文提出的Lattice-LSTM多粒度中文分词模型好于Gong等[14]提出的基于字的LSTM多粒度中文分词模型和基于句法分析的多粒度中文分词模型,并且对于引入双字特征后的Gong等[14]的模型,本文模型的实验效果依然显得更好。基于Lattice-LSTM的多粒度中文分词模型充分利用了蕴含着分词粒度多样化特征的词语信息,对多粒度中文分词任务实验效果的提升起到了一定的帮助作用。

表5 本文模型与Gong等[14]模型实验结果对比

3 相关工作

最大长度匹配方法是中文分词的经典方法,此方法基于合适的搭配词典就可以取得一定程度上可以使人接受的性能。Xue[1]是最先将分词问题转化成基于字的序列标注问题。Peng等[4]的工作表明将条件随机场应用于基于字的序列标注模型中可以取得不错的效果。研究者们将这些方法用于神经网络模型中[6-7,18-19]。除了字特征外,词特征以及将词特征与字特征相结合的方法也被应用于神经网络模型[8,20-23]。

研究者们对树结构循环神经网络进行不断改进,形成了网格结构循环神经网络。网格RNNs被应用于解决机器翻译[24]、同声传译[25]、命名实体识别[15]等问题。Su等[24]提出基于词网格的RNN编码器用于解决机器翻译问题。Sperber等[25]将树结构LSTM转化为网格LSTM并融合了语音翻译的词典信息,取得了不错的效果。Zhang等[15]提出将词典特征融入到网格结构RNNs中以解决中文命名实体识别问题。此方法在字序列信息的基础上充分利用了词的信息,减少了分词错误信息的传递,同时取得了很好的结果。

针对多粒度中文分词任务,我们在传统基于字的LSTM模型基础上,加入了多种分词粒度的词典信息。与传统模型相比,我们把多种分词粒度的词语信息作为特征输入到模型中。这些词语中包含多种粒度的词语,可以在一定程度上为模型提供更多的知识引导。在网格结构的辅助下,本文提出的模型对不同粒度的分词标准都有较强的捕捉能力。

4 结论

本文针对多粒度中文分词任务,提出一种基于Lattice-LSTM的多粒度中文分词模型。在基于字的LSTM多粒度中文分词模型的基础上,融合了多种分词粒度的词语信息,取得了更好的效果,可以捕捉到不同粒度的分词标准。我们会探索多粒度中文分词在信息检索、机器翻译等任务上的应用。

猜你喜欢

分词粒度向量
向量的分解
粉末粒度对纯Re坯显微组织与力学性能的影响
聚焦“向量与三角”创新题
分词在英语教学中的妙用
动态更新属性值变化时的最优粒度
结巴分词在词云中的应用
结巴分词在词云中的应用
组合多粒度粗糙集及其在教学评价中的应用
通信认知教学中多粒度可重用模型建模研究
向量垂直在解析几何中的应用