王兴金,周兰江,张建安,周 枫
(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)
老挝是东南亚国家,拥有676万人口,其语言属于汉藏语系。老挝语词性标注是给老挝语文本的每个词标注合适词性的过程,属于自然语言处理(natural language processing,NLP)领域的基础任务之一,对句法分析、信息检索及机器翻译等研究有重要意义。目前,老挝语词性标注面临两项挑战: ①老挝语吸收了多种外来词(包括梵语、巴利语、古高棉语、泰语、法语、英语及汉语),而标注语料有限,导致语料存在大量的稀疏词; ②老挝语通常用多个较长的定语来修饰中心词,导致句式较长,如何有效利用长远上下文特征成为词性标注的重要因素。
由于须同时解决稀疏词识别和句式太长的挑战,一些主流词性标注方法存在不足。例如,传统机器学习模型可用半监督学习方法解决稀疏词问题,该方法需制定复杂的判定指标将大量非标注语料扩充到标注语料中。而且,隐马尔科夫模型(hidden markov model,HMM)[1-2]为解决数据稀疏提出了观测独立性假设,使模型学习长远上下文特征存在困难。最大熵(maximum entropy,ME)模型[3]虽然可以自定义特征模板,学习到长远上下文特征,但容易陷入局部最优。条件随机场(conditional random fields,CRF)模型[4-5]克服了两者的缺点,学习长远上下文特征能力强,但须专家设定大量的特征模板。深度学习模型中表现最佳的BiLSTM-CRF模型[6],其性能受限于标注语料规模,并且通常用“unk”符号替换稀疏词的方法增加了句子的歧义。
最近学者开始在序列标注任务(命名实体识别[7]、词性标注等)中使用深度神经网络的多任务学习方法来解决稀疏词问题,并取得了不错的效果。多任务学习可以在有限的语料里,借助辅助任务挖掘一些与主任务相关或不相关的语言知识,并将这些知识与主任务共享以提高主任务性能。但研究者都关注于每种语言都存在的普遍特征来提出多任务学习方法,例如,文献[8]将预测词频作为辅助任务,文献[9]将预测前后词作为辅助任务。
本文针对老挝词的结构特征,提出融合词结构特征的多任务老挝词性标注方法,并构建了结合词性标注损失和主辅音辅助损失的多任务老挝语词性标注模型。该模型将预测老挝词的主辅音作为辅助任务,能够让模型在有限标注语料里挖掘更加丰富的语言知识。对于老挝语的句式较长问题,模型使用注意力机制[10-11]来解决: 注意力机制会考虑句中每个词对待标注词的重要性,而分配不同权重,以加强对每个词的利用。模型分为编码器与解码器两部分: 编码器用BiLSTM结构[12]获取每个老挝词的特征向量,而解码器预测词性及主辅音,其中使用Attention机制来利用词特征向量。
这篇文章做出两点贡献: 一是面对老挝标注语料存在的大量稀疏词,本文提出一种融合老挝词结构特征的多任务学习方法来提高词性标注模型对稀疏词的识别; 二是面对老挝语句式过长的特点,本文提出采用注意力机制进行解决。
老挝词由单音节或多音节构成,音节由辅音C(33个)、元音V(28个)与音调T(4个)构成。由图1可看出,音节的形态结构虽然很复杂,但都是围绕着一个主辅音MC(29个)来构成。
图1 老挝音节结构
主辅音是老挝语音节的重要组成部分,音节又是词构成的基本单位,词性标注模型如果能够学习到主辅音知识,将对提高准确率有很大帮助。因此,本文将预测老挝词的主辅音作为辅助任务,用多任务学习方法来提高词性标注的准确率。但有的老挝词是多音节形式,可能出现多个主辅音的情况,本文设置预测第一个主辅音。关于主辅音的提取,本文采用文献[13]提出的方法,该文献描述了词构成规则,并介绍主辅音出现的几种情况。
表1 老挝音节结构信息
为了使老挝词向量中包含词缀信息,本文将词级别与字符级别的词向量进行拼接,构成老挝词的分布表示,其中字符级别的词向量就是将老挝词的每个字符向量进行拼接。字符向量的获取方法如下: 首先将词级别语料库的每个词拆分为字符的形式,构成字符级别的语料库;然后使用Word2Vec训练该语料库得到字符向量矩阵(character embedding),每个字符可以从字符向量矩阵中找到其向量表示。往往用预训练的输入向量参与模型训练,模型能获得更佳的标注性能[15]。因此Word2Vec训练得到的词向量矩阵和字符向量矩阵初始化词性标注模型的输入后,也将参与模型的训练过程。
特别地,本文使用词相似度模型[16]计算未登录词(未出现在训练语料的词)的词级别向量。若测试语料中出现未登录词,则使用相似度模型计算出未登录词的近义词(已登录),并将其向量作为未登录词向量。
为在有限标注语料里加强对稀疏词的识别,本文构建结合了词性标注损失和主辅音辅助损失的多任务老挝语词性标注模型。模型由编码器与解码器组成,编码器获取每个老挝词的特征向量,解码器预测每个老挝词的词性及主辅音,模型的损失值是将词性标注损失和主辅音辅助损失相加。模型以全监督的方式进行训练,通过拟合主辅音分布规则来学习词的结构特征,并以参数的形式与词性标注任务共享,提高词性标注的准确率。给定一个长度为n的老挝语句子[x1,x2,…,xn],模型对该句子标注过程如图2所示。
图2 模型对句子的标注过程
为解决老挝语句式较长的问题,解码器首先构建了Attention层来利用编码器得到的词特征向量,然后使用Attention层的输出预测每个老挝词的词性和主辅音。
2.2.1 Attention层
Attention层基于带有Attention机制的LSTM构建,该层的LSTM有3个输入值: 当前时刻的上下文特征向量c、前一个LSTM的状态值和输出值。Attention机制的功能是计算上下文特征向量,该向量融合了每个词特征向量中重要的特征信息,可以解决长远上下文特征丢失现象。
(1)
(2)
其中,eij为对齐模型,如式(3)所示。
(3)
2.2.2 多任务学习
Attention层的输出值一方面传入CRF模型预测词性,另一方面用于预测主辅音。两个任务共享解码器的Attention层、编码器、词向量矩阵和字符向量矩阵的参数,因此主辅音辅助任务学习到的词结构特征会以参数的形式与词性标注任务共享,提高词性标注任务的准确率和泛化能力。
因为编码器与Attention层在计算过程中仅考虑上下文老挝词的影响,而未考虑词性相关性影响。例如,老挝语中量词不能重叠等。词性标注任务部分使用CRF模型来解决此问题,CRF将句子级别的对数似然函数作为模型的损失函数,如式(4)所示。
(4)
(5)
其中,MC代表正确的主辅音标签。模型的总损失值为:E1+λE2,λ值是用于控制相对于词性标注的主辅音重要性的参数。模型优化使用Adam算法,该算法通过最小化总损失值来训练模型的参数。模型预测时,CRF模型需使用维特比算法[17]计算最佳词性标签序列。
实验使用的老挝语语料有两部分: 第一部分是词性标注语料(2 142个句子),该语料是把老挝文本先分词,然后标注词性(28种);第二部分是额外准备的分词语料,有1 068个句子。语料取自老挝网站,并且经过人工分词及标注。实验将词性标注语料库的85%作为训练集(1 822个句子),15%作为测试集(320个句子)。训练集和测试集分别用来训练和测试本文提出的词性标注模型,而训练集的分词及第二部分的分词语料用于训练词向量矩阵、字符向量矩阵及相似度计算模型。模型实现使用Python语言及Tensorflow框架。词性标注模型经过多次实验调整后,超参数设置如表2所示。
表2 模型超参数
其中,Word-Embedding和Char-Embedding各有2 766与57行,代表训练集的词汇数和字符数;LSTM dimension是LSTM的细胞个数;Dropout rate代表数据进入LSTM前随机过滤30%,可以防止模型过拟合;The Num_layer of Encoder 代表编码器中BiLSTM的层数;Learning rate代表模型优化的步长。
为了探索词分布表示、编码器层数、多任务学习及Attention机制的有效性,本文设计了6个模型: ①本文提出模型; ②仅用词级别的词分布表示作为模型的输入; ③将模型的编码器换为一层; ④将模型的编码器换为三层; ⑤不采用多任务学习方法,仅预测词性序列; ⑥在本文提出模型基础上,不采用注意力机制。6个模型在相同数据集上进行了实验,结果如表3所示。
表3 不同设计对比
本文使用相同语料,测试了6种主流词性标注模型的效果: ①HMM模型[2]; ②CRF模型,设置了词相关性、词性相关性及词性对词的特征; ③已公布准确率最高的老挝语词性标注模型CNN-CRF[18],用卷积神经网络[19-20](Convolutional Neural Network,CNN)在词级别的词分布表示中计算词特征向量,CRF模型考虑词性相关性影响进行词性标注; ④深度学习经典的词性标注模型BiLSTM-CRF,用BiLSTM在词与字符级别的词分布表示中计算词特征向量,CRF进行词性标注; ⑤将本文的主辅音辅助任务替换为语言模型辅助任务[8](语言模型用于预测单前词的周围词);⑥本文模型。实验结果如表4所示。
表4 不同模型对比结果
由表4可得,HMM与CRF模型的准确率分别为88.93%及90.20%。它们属于传统词性标注算法,HMM模型提出的观测独立性假设使其可利用的上文特征有限,标注准确率最低。虽然CRF模型能自定义特征模板,较好地刻画老挝语的语法规律,但需要消耗语言专家大量的精力。除HMM与CRF模型,其他模型属于深度学习模型,具有很强的非线性拟合能力,能够自我学习语言特征。BiLSTM-CRF模型比CNN-CRF模型的准确率高0.52%,其最大的优势在于构建词分布表示时,使用了字符级别的词分布表示。字符级别的词向量考虑了词缀特征,而老挝语中有很多词缀可以表达词性信息,是词性标注不可忽视的因素之一。BiLSTM-Attention-CRF-Language模型及本文模型是在BiLSTM-CRF模型的基础上,使用了多任务学习及Attention机制,因此准确率有了较大提升。本文模型能够获得更高准确率的原因可能有两点: 第一是预测主辅音,模型增加了对词结构特征的理解,学到更复杂的语言知识;第二是辅助语言模型预测类别太多,对词性标注学习有一定影响。
为了测试模型对稀疏词的标注效果,本文统计了模型使用主辅音辅助损失后,未登录词与低频词标注的绝对提高率。
由图3可得,未登录词和低频词的识别率有很大提升,特别是低频词。虽然未登录词和低频词出现次数较少,但其主辅音出现次数较多,模型可以从主辅音获得这类词的结构和语义特征,提高了这类词的识别率。本文使用了词相似度模型来提高模型对未登录词的识别,使用主辅音辅助损失前,未登录词就有不错的识别效果,因此绝对提高率没有稀疏词高。
图3 稀疏词准确率的绝对提高
表5统计了测试集中主要词性的准确率、召回率及F值。
表5 主要词性信息
由表5可得,数词(CNM)、动态助词(PRA)与动词(V)的标注效果较好,F值分别能达到100%、99.5%与98.2%。由实验统计,语料库存在99%的数词使用阿拉伯数字表达,因此本文还使用了匹配阿拉伯数字的正则表达式来帮助数词的标注。而老挝语的动词与动态助词被搭配使用来表示句子时态,模型可以很容易学习这些规则,应用于预测中。普通名词(N)与介词(PRE)的标注准确率次佳,F值分别为96.7%与97.2%。专有名词(PRN)与量词(CLF)的标注效果较差,F值分别为93.2%与85.7%。其中,量词未注是影响模型准确率的主要原因之一,因为老挝语的量词数量丰富,且使用灵活。
本文针对老挝词的结构特征,提出了融合老挝词结构特征的多任务学习方法,实验结果表明该方法比目前主流方法取得了更佳的标注准确率,其原因主要有几点:
(1) 对于多任务学习的研究,其他学者更关注于每种语言都存在的普遍特征,而本文关注于老挝词的结构特征。构建的模型在有限语料下学习到更加丰富的词结构、语义及语法知识,提高了对稀疏词的识别。
(2) 老挝语的特点是句式较长,注意力机制可以有效利用长远上下文的词特征。
(3) 本文在词级别和字符级别构建老挝词分布表示,不仅包含了词之间的特征关系,还包含词缀特征。
本文为解决稀疏词识别而提出的方法,为老挝语的词性标注及其他任务提供了很大的研究价值。