APP下载

利用领域外数据对口语风格短文本的相近语种识别研究

2019-04-17何峻青赵学敏张克亮

中文信息学报 2019年3期
关键词:维语语种字符

何峻青,黄 娴,赵学敏,张克亮

(1. 中国科学院 声学研究所 语言声学与内容理解实验室,北京 100190;2. 中国科学院大学,北京 100049;3. 信息工程大学 洛阳校区,河南 洛阳 471003)

0 引言

语种识别(language identification,LID) 是自然语言处理的一个重要分支,旨在识别一个文本内容所属的语种。自Cavnar和Trenkle首先提出基于n元特征的文本分类方法[1]以来,语种识别研究得到了快速发展,在大量训练数据和格式规范的文本上取得了高精确度[2]和高覆盖率[3]的成绩,语种识别也被认为是一项基本已经解决的任务。然而识别基于少量的数据、多语种混合输入、语码转换(在两种或两种以上语言间转换)、相近语种(语言变体、方言)、非常短的文本(如推特的推文)仍然是该领域的瓶颈[4-5]。在本研究中,我们遇到了训练数据严重不平衡、相近语种以及文本非常短这三个问题,在训练数据受限的情况下识别维吾尔语和哈萨克语的口语风格短文本。

维吾尔语(以下简称维语) 和哈萨克语(以下简称哈语)是典型的相近语言,都属于阿尔泰语系突厥语族,都是黏连语,在中东和中国西北部广泛使用。文献[6]认为维语和哈语在句子层面的相似程度超过80%,在词层面的相似程度则达到90%以上。区分这两种语言的困难在于: ①两种语言都用阿拉伯字母按照从右至左的顺序书写; ②共享字母多达26个,另外还有两个字母看上去一模一样; ③词汇和句法有很多重叠之处,仅靠查询字典来区分两种语言难度极大; ④都包含大量前、后缀,导致词干提取和识别困难。

本文定义的“口语风格短文本”包括手机短信、微信等聊天工具的聊天记录以及推特、脸书、微博等社交平台上的发言。对这类文本进行语种识别存在很大难度,原因主要如下: ①每条文本长度太短,大多数句子的长度仅为3~9个词; ②文本中存在大量的拼写和语法错误,大大增加了词干提取和错误更正的代价; ③广泛使用了缩略语和俚语表达,普通字典中并未收入这些内容; ④收集口语风格短文本费时费力,经常存在语料不足的问题; ⑤人们为了输入方便,在很多情况下未使用标准的字母,而是使用近形字符或同音字,导致语料中的字符远超过标准字符总数。本研究收集的维、哈口语风格短文本语料中包含了超过100种字符,进一步增加了区分维语和哈语口语风格短文本的难度。

本研究旨在构建一个相近语种识别系统,即使在训练数据受限的情况下也能够识别口语风格短文本所属的相近语种(语言变体、方言)。文章内容如下: 第1节简要总结了相关研究;第2节介绍了维、哈口语风格短文本语料库的构建;第3节详细介绍了分类特征的设计、相近语种识别系统的构建,以及评测标准的拟定;第4节通过一系列实验检测了数据增补策略的有效性、各个特征在相近语种识别过程中的贡献、传统机器学习和深度学习分类器的性能比较,以及本系统对其他相近语种(语言变体、方言) 的识别效果;第5节为结论。

1 相关研究

最早进行相近语种识别的研究见文献[7]。该文首先提出了识别相近语言的重要性和难度,并提出了利用一个半监督模型来识别印度尼西亚语和马来语。此后该领域受到越来越多学者的关注,研究范围包括多种南斯拉夫语言[8-9]、汉语变体[10]、葡萄牙语变体[11]、西班牙语变体[12]、英语变体[13]及阿拉伯语方言[14]等。2014年至2017年Marcos Zampieri等在COLING(2014)、RANLP(2015)、COLING(2016)、EACL(2017)下组织了“运用自然语言处理工具识别相近语言、语言变体和方言”系列研讨会(Workshop Series on Applying NLP Tools to Similar Languages, Varieties and Dialects, VarDial), 允许参赛者使用相同的数据来比较不同的相近语种识别方法的效果。每一届研讨会的共享任务提供若干组相近语言(语言变体、方言)语料,每种语言(变体或方言)有18 000个句子作为训练集,2 000个句子作为开发集,此外还有1 000个句子作为测试集。四年来,VarDial研讨会提供训练和测试的语种(变体、方言)不断增加,共享任务亦越来越多样化。关于这几届VarDial研讨会共享任务的语料、参赛系统采用的方法以及评测结果可参见文献[5, 15-18]。综合来看,字符的n元特征为最有效的特征,效果最佳的分类模型包括支持向量机(SVM)、逻辑回归(logistic regression),然而深度学习方法取得的效果并不理想[5,11,17-18]。

对于短文本的语种识别,文献[19-22]采用了通过额外语义(additional semantics)来扩充短文本表征(short text representation)的方法,额外语义来自数据采集或者一个更大规模的知识源。文献[23]介绍了在SEPLN 2014下的推特文本语种识别任务的情况。

虽然n元模型在已有大量文本数据的情况下能取得非常好的效果,但是当某个领域的数据很少的时候,则面临严重的数据稀疏问题。传统处理数据稀疏问题的方法包括构建与领域不相关的模型或者构建使用专门领域技术的模型,但结果并没有明显改进[21,24]。另一个处理方法则为使用大量别的任务或领域的数据,即领域外数据(out-of-domain data),来改进领域内的语言模型。文献[24-25]分别使用领域外数据来训练语音识别语言模型和统计机器翻译语言模型,均取得了较好的效果。文献[26]讨论了处理不均衡数据(imbalanced data)的多种方法。

区分维语和哈语的研究见文献[27]。该研究以特有字符为特征区分维语、哈语和柯尔克孜语。该方法在70个词以上的文本中达到了97.70%的精确度,然而对于少于10个词的文本对哈语的识别率降到了65.31%,原因在于哈语的特殊字符比其他两个语种要少得多。针对短文本,有必要提取特有字符以外更多的有效特征来区分维语和哈语。

在本研究中,我们试图探讨以下四个问题:

(1) 区分相近语种时,如何解决有的语种资源受限的问题?

(2) 本文提出的特征是否有效?各个特征对系统的贡献如何?

(3) 传统机器学习分类器和深度学习分类器对维、哈语这一组相近语种的口语风格短文本的识别性能孰优孰劣?

(4) 本研究构建的相近语种识别系统是否能够有效识别其他相近语种(方言、变体)?

2 维、哈语口语风格短文本语料库构建

2.1 语料收集

随着社交网络的普及和手机等聊天工具的推广,人们越来越多地使用即时信息来进行交流,对口语风格短文本的自然语言处理具有重要意义。我们从新疆收集了匿名来源手机用户共计48 460条手机短信作为训练集,将同样来源一天内收集到的973条手机短信作为测试集。经过维语和哈语语言专家的辨别和标注,确定训练集中包含了48 432条维语短文本和148条哈语短文本,测试集中包含了687条维语短文本和286条哈语短文本。训练集中维语和哈语文本数量的比例达到了327∶1,数量严重失衡,在训练相近语种识别系统前有必要平衡两个语种语料的数量。

2.2 哈语口语风格短文本增补和同化

平衡维、哈两种语言的语料规模可以通过删减维语语料或者增加哈语语料的办法来达成。考虑到如果将维语语料删减到148条,数据过少会严重影响训练的效果,我们决定增补哈语语料。我们没有继续收集更多的匿名短信,原因在于此来源语料的获取具有相当难度,而且语言专家需要浏览超过300条文本才能筛选到1条哈语文本,若以此方法获取4万余条哈语文本将耗费巨大的人力物力。

前面提到文献[24-25]使用领域外数据来训练语音识别语言模型和统计机器翻译语言模型取得了较好的效果,我们决定使用领域外哈语短文本来补充哈语语料。为了获取哈语的口语风格短文本,我们选择爬取哈语论坛[注]http: //bbs.senkazakh.com上的文本,没有选择爬取哈语新闻网页或者推特推文的原因为: ①新闻网页上的内容为正式的书面语,文本较长,与口语风格短文本在词和字符层面的重合率较小; ②虽然推特上的推文完全符合口语风格短文本的特点,但中国人极少使用推特,同时,即便是哈萨克人使用推特发布的推文也可能使用了其他语言; ③该哈语论坛中的内容经哈语专家鉴定内容基本全部为哈语,内容以对话风格为主,符合我们选取语料的标准。

基于以上理由,我们从该论坛爬取了70 909个网页。爬取下来的文本长短不一,分属于文学、经济、娱乐等主题。为使爬取的数据最大限度接近训练语料,我们进一步清洗爬取的内容,从中选取不超过14个词的短文本,获得了339 609条符合要求的哈语文本。在此基础上我们随机选取了48 000条文本来匹配维语训练文本的规模。

通过对哈语语料的增补和同化,我们最终构建了一个包含49 119条维语和48 286条哈语口语风格短文本的语料库,基本达到了数量平衡、风格一致的要求。语料库分为训练集(维语文本48 432条、哈语文本48 000条) 和测试集(维语文本687条、哈语文本286条)。图1为增补哈语语料前后训练集中两个语种口语风格短文本的数量对比情况。图2为经增补后的维、哈语口语风格短文本语料库的构成。

图1 语料增补前后训练集中维、哈语短文本数量对比

图2 经增补后的维、哈口语风格短文本语料库构成

3 相近语种识别系统构建

3.1 特征提取

由于本研究使用语料长度很短,使用词汇的n元特征会造成特征过于稀疏的问题。通过重点分析维语和哈语的词形学(morphology)特点,我们设计了以下5个特征。

(1) 特有字符。虽然两种语言共享多达26个字母,但仍有少量字符不同。一旦在文本中找到了属于某个语种的特有字符,就可判定该文本属于对应的那个语种。

(2) 字符的n元特征。虽然维语和哈语有很多共有字符,但是各自的字符排序和组合有一定特点,这些特点可以有效帮助区分语种。从已有相关研究可以看出,该特征也是相近语种识别系统中最常用的特征。

(3) 前缀和后缀。维语和哈语都有许多词缀,但是在许多情况下,两种语言使用的词缀不同。例如,两种语言中表达相同意义的单词往往以不同的字符开头,在维语中以“ya”开头的单词在哈语中通常以“ja”开头,“o”在哈语中可以作为单词首字母而在维语中则不行。维语中的“-lar”和哈语中的“-dar”表达同样意思,但是拼写不同。需要注意的一点是,口语短文本中存在大量的拼写错误,可能会导致该特征难以提取。因此我们将每个词的前n个和后n个字符作为特征,n的范围为1~3。

(4) 词的一元特征。词的一元特征即该单词出现的频率。如果一个文本中包含了某个语种的高频词,那么该文本就更可能属于该高频词对应的语种。

(5) 文本长度。按照文本的长度将其划分到不同的长度区间,对于各个长度区间的样本训练不同的模型。

3.2 分类器

本文认为相近语种识别任务实际上为将相近语种的文本进行分类,因此本研究中的相近语种识别系统即用来区分相近语种的分类器。

其中,N为总样本数,#为频数。f(x,y)通常为二值函数,当(x,y)同时出现时为1,否则为0。预测的时候,分类器计算每个样本的分值,选择分值最高的类别作为标签。由于最大熵分类器将特征之间的依赖关系考虑在内,该过程更近似于人类决策的过程。我们使用了斯坦福分类器工具包[注]https: //nlp.stanford.edu/software/classifier.html构建了一个基于最大熵的分类器作为相近语种识别系统。

随着卷积神经网络(convolutional neural networks, CNN)成功地应用于图像识别[28]和文本分类[29]任务,CNN成为目前最流行的深度学习分类器。我们基于字符矢量(character embeddings)构建了一个CNN分类器来测试该分类器识别维、哈语口语风格短文本的表现情况。

对于输入的每个句子,将每个字符表示为固定长度的字符矢量,则该句子表示为一个矩阵S。对每个句子矩阵S使用卷积神经网络进行计算和分类的过程如下: 对于高度为z的一个卷积核Wm,用它以1为滑动步长,在整个矩阵中从上至下滑动,每一步计算重合部分的两个矩阵的点积及经过激活的值xi,最后得到一个长度为N-z+1的向量X,N为句子所包含的字符的数目。然后使用最大池化,取其中最大值得到一个元素cm。使用多个不同高度的卷积核进行卷积,卷积核的宽度都为词向量长度,将结果拼接得到一个特征向量s。之后将特征向量s经过一个全连接层,再使用softmax归一化,预测该文本分别属于维语和哈语的概率。公式如式(6)~式(10)所示。

其中,·为点积操作,[...]表示元素拼接,ReLU表示规整线性单元(rectified linear unit),k为卷积核的总数,m为第m个卷积核,bm为对应卷积核的偏置。U为全连接层的参数矩阵,b为偏置,均为可训练参数。

3.3 评价标准

本文采用准确率(Precision)P、召回率(Recall)R和精确度(Accuracy)A来评价系统的性能,如式(11)~式(13)所示。准确率衡量系统正确判断样本类别的能力,召回率描述系统检索正确样本的能力,精确度表示所有类别的正确样本能被正确分类的比例,是整体的评价指标。式中TP指正确预测为某种语言的样本数,FP指预测为该语言实际上不是该语言的样本数,TN指正确预测为不是该语言的样本数,FN指预测不是该语言但实际是该语言的样本数。

4 实验和结果

在完成维、哈语口语风格短文本语料库和相近语种识别系统后,我们进行了四组实验,来寻求第1节中所提出问题的答案。

4.1 增补的哈语语料的可用性实验

针对问题(1),我们使用最大熵分类器来测试哈语语料增补前后相近语种识别的效果。使用原有语料训练的分类器对测试语料的识别结果和使用经增补后的语料的识别结果如表1所示。

表1 增补后哈萨克语料的可用性实验结果

从实验结果来看,利用未经增补的训练集训练分类器后,维语的召回率高达99.3%,哈语的召回率则仅有70.6%。哈语训练语料经过增补后,两种语言的召回率接近(分别为95.1%和96.5%),精确度从90.9%上升到了95.5%,证明增补策略有效,同时显示了在进行相近语种识别时,各语种训练数据规模均衡的重要性。

4.2 选取特征的重要性实验

针对问题(2),为了考察3.1节提出的每个特征的重要性,我们分别测试了: ①所有特征、②所有特征减去特殊字符、③所有特征减去字符的n元特征(n=1,2,3,4)、④所有特征减去前后缀、⑤所有特征减去词的一元特征,以及⑥所有特征减去bin值的分类结果。本实验使用了最大熵分类器在增补后的维、哈语训练语料上训练,实验结果如表2所示。

表2 特征的重要性实验结果

从表2可以看出,在减去每个特征(词的一元特征除外)后系统的性能都有不同程度的下降,尤其是移除了字符的n元特征后,系统精确度下降最多,说明这些特征都对本任务起到作用,字符的n元特征对本任务贡献最大。相反,当系统移除了词的一元特征后,精确度还有略微提升,意味着词层面的特征非但没有起到帮助作用,反而降低了对维、哈语文本的语种识别效果。在后续的实验中,我们默认选取除去词的一元特征以外的所有特征。

4.3 传统机器学习分类器与深度学习分类器表现比较实验

针对问题(3), 我们分别构建了最大熵分类器和CNN分类器来识别维语和哈语口语风格短文本。最大熵分类器使用了词的一元特征以外的所有特征。CNN分类器使用了50维的字符矢量(character embedding),并进行均匀分布的随机初始化,取值范围为(-0.5, 0.5),卷积核的宽度分别设为[1,2,3,4],数目分别为[50, 200,300,500]。卷积层后用了一个随机丢弃(dropout)层和最大池化(max-pooling)层,丢弃概率(dropout rate)设为0.5。表3列出了两个分类器的表现。

表3 分类器有效性实验结果

从表3可以看出,在识别维语和哈语的口语风格短文本这一任务中,最大熵分类器精确度明显高于CNN分类器。在VarDial’2016 DSL共享任务中,参赛队伍mitsls、Uppsala分别使用了基于字符层面的CNN和词层面的CNN,结果精确度和F1值均低于大多数同时参赛的传统机器学习分类器(如基于SVM、逻辑回归的分类器) 的识别效果[7-8,18]。

神经网络分类器在识别多语种文本时取得的高精确度[2]与在处理相近语种时的低精确度形成了鲜明对比,原因值得探求。通过错误分析,我们认为CNN分类器结果难以令人满意的原因有两点: ①CNN分类器用太多的卷积核作为参数,对训练语料的规模要求高,4万条左右的训练文本难以使CNN分类器学到足够的特征规律; ②CNN分类器的鲁棒性较差,在处理维语文本时,由于入库的维语语料中包含有大量拼写错误,含有拼写错误的字符被当作集外词(out of set vocabulary),无对应的字符向量,导致卷积核无法识别出特征字符序列,所以CNN分类器对维语的识别效果较差。相比而言,哈语语料主要来自网络论坛,误拼错误要少得多,所以CNN分类器识别哈语的准确率和召回率比维语要高得多。

4.4 本系统对其他相近语种(语言变体、方言)的适用性测试

针对问题(4),即测试本系统识别其他相近语种(语言变体、方言)的口语风格短文本的性能,我们使用了最大熵分类器来识别VarDial’2016DSL共享任务子任务1下的两个领域外口语风格短文本测试集B1、B2。

VarDial’2016 DSL共享任务子任务1提供了12种语言(语言变体)的新闻短文本作为训练语料,每种语料提供18 000个句子作为训练集,2 000个句子作为开发集。测试集包括一个领域内测试集(A)、两个领域外测试集(B1,B2)。B1(波斯尼亚语、克罗地亚语和塞尔维亚语)和B2(巴西葡萄牙语和欧洲葡萄牙语)两个测试集每个语种(方言、变体)各包含100个推特用户的推文,平均每个用户98.88和50.47条推文。选取识别B1、B2两个测试集来测试本系统性能的原因在于,这两个测试集中的文本同样属于口语风格短文本,可以较好地考察本系统识别其他相近语种(语言变体、方言)口语风格短文本的适用性。

我们对测试语料做了简单的预处理,清除了其中的链接、@符号以及标签。然后选取了除词的一元特征以外的所有特征,字符的n元特征中的n设置为1到7,使用最大熵分类器在B1和B2任务上分别进行语种识别实验。为了与当时的参赛系统进行比较,本次实验使用了VarDial’2016DSL共享任务中的评价指标: 精确度(A)和F1值。F1值的计算如式(14)所示。

(14)

其中,P为准确率,R为召回率。

本系统和当时参加VarDial’2016DSL共享任务子任务1前五名对B1、B2的分类结果如表4和表5所示。

表4 对B1测试集相近语种识别排名前五的系统和本系统的表现

表5 对B2测试集相近语种识别排名前五的系统和本系统的表现

从表4和表5可以看出,GW-LT3在当时的评测中排名第一,该系统使用了字符的n元特征(n=2~6)和单词的n元特征(n=1~3),用词频对那些特征进行加权,并做了复杂的预处理。对比之下,本系统做的预处理少得多,对B1、B2进行相近语种识别的精确度分别比该系统高0.6%和1.2%。由此,本系统不仅能够在口语风格短文本上有效区分维语和哈语,对于其他语种的口语风格短文本也能做很好的区分。

对比nrc和tubasfs系统,这两个系统都使用了支持向量机分类器,特征也都使用了字符的n元特征,n分别为1~6和1~7。然而本系统处理B1、B2的精确度均优于这两个系统,显示出在该任务中使用复合特征的最大熵分类器分类效果要优于使用字符的n元特征的支持向量机分类器。

此外,本系统在处理维、哈语料时,字符的n元特征(n=1~4)就取得了95.7%的精确度,而在处理本任务中的B1和B2测试集时,n用到了1~7,精确度才分别达到92.6%和89.0%。其中一个原因在于VarDial’2016DSL共享任务子任务1提供的训练语料效果不如我们自建的维、哈语口语风格短文本训练语料。因此,识别口语风格短文本所属语种时,网络论坛的语料比新闻语料更适合作训练语料。

5 结论

本研究构建了一个维语和哈语口语风格短文本语料库,在此基础上训练了一个最大熵分类器,对维语、哈语的口语风格短文本进行语种识别。为了解决语料严重不平衡的问题,我们使用了语料增补和同化的方法,从在线论坛爬取长度相近的、领域外口语风格文本来增补训练语料。实验结果证明增补和同化方法有效,并且在区分口语风格短文本时,论坛上爬取的文本比新闻文本更适合作训练语料。

本文设计了一个最大熵分类器对口语风格短文本进行相近语言语种识别。从实验结果看,字符层面的形态特征有效而词汇层面的特征反而降低系统分类的效果。此外,本系统不仅能够有效区分维、哈语口语风格短文本,针对VarDial’2016DSL共享任务子任务1中三种南斯拉夫语言和葡萄牙语的两个变体的口语风格短文本的语种识别也取得了非常好的效果。

而对于区分维语和哈语这一组相近语言来说, CNN分类器并未取得理想的效果,这与文献[17-18]提出的现象一致。我们就此做了一定的错误分析,在未来的工作中我们会继续探求CNN分类器在处理相近语言(语言变体、方言)时效果不尽人意的原因,并尝试提出改进方法。

猜你喜欢

维语语种字符
对比语言学视野下的维吾尔语与朝鲜语音义相近词比较初探
《波斯语课》:两个人的小语种
浅析维语口语技能的影响因素和提升路径
论高级用字阶段汉字系统选择字符的几个原则
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
汉维语数词语法特征对比
走出报考小语种专业的两大误区
小语种报考,你知道多少?