APP下载

基于n-gram频率的语种识别改进方法

2018-04-16郝洺徐博殷绪成王方圆

自动化学报 2018年3期
关键词:特征词语种集上

郝洺 徐博 殷绪成 王方圆

现如今,随着社交媒体全球化的发展以及其以短文本作为主要载体的特点,使得识别短文本的语言种类成为社交媒体中自然语言处理任务的一个挑战性热点课题.语种识别主要的解决方案是观察所有语言典型的字母序列发生的频率.早在1994年Cavnar等提出了基于n-gram的词频排序方法[1],核心思想是比较语言模型文件和目标文本的n-gram词频排序列表.这个方法在400字以上的长文本取得了99.8%的准确率.Frank于2003年,将这个方法实现成语种识别工具,并命名为Textcat[2].

其他应用在短文本语种识别上的方法也有很多,Hammarstrom在2007年阐述了一个用词缀表来扩充词典的方法,并且用一个平行语料库来进行测试[3].Ceylan等在2009年提出了使用决策树来分类语言种类的方法[4],Vantanen等在2010年针对5~21个字符的文本,提出了使用n-gram语言模型并结合朴素贝叶斯分类器的方法来实现语言种类的目的[5].

Carter等于2013年针对推特信息提出了基于用户先前消息和嵌入在消息中的连接的内容来实现语种识别的方法,同时该方法也运用在TwitIE上[6].Tromp等在2011年提出基于n-gram的图结构语种识别方法[7],该方法不仅利用词本身的信息,还有效利用了词与词之间的信息,使得短文本的语种识别效率大大提升.随后Vogel等在此基础上做了改进[8].

在这期间,又有很多语种识别工具被研发出来,Lui等在2012年利用n-gram特征结合多项式朴素贝叶斯分类器创造出langid.py[9];Nakatani在同年发布了IDIG,一个基于常识、正则化和贝叶斯分类器的语种识别工具[10],该工具用于推特数据集.2013年Brown提出基于n-gram字符特征权重的空间向量模型[11].

随着深度学习技术越来越成熟,许多研究员开始思考如何将深度学习技术运用到语种识别中,并且做了很多尝试.然而经过实践,深度学习技术在语音领域有很好的效果[12−18],与此同时,面向语音领域的语种识别技术也愈发成熟[19−21].但对于短文本而言,随着语料库不断地完善,基于统计的机器学习方法更为简单高效[22−23].

然而,传统基于n-gram的语种识别对数据集有很强的依赖.Baldwin等指出,在6种欧洲语料集上取得良好的识别效果并不意味着在含有更多语种的语料集上会取得同样不错的效果[24].Lui等对各个语种识别模型的评测实验中指出,同一种模型在不同数据集上的准确率也相差甚远[25].同时他们也指出去除数据集中的噪音,如推特数据集的特殊字符,对识别率的提高有明显的帮助.

在本文中,我们将Textcat、LIGA和logLIGA三个模型在 Europarl[26]、LIGA-dataset、Twituser-21、Twituser-7四个数据集中分别做交叉验证,同时,我们使用Europarl做训练集,LIGA-dataset、Twituser-21、Twituser-7做测试集,两组实验结果相差较大.因为在同一个数据集中,训练集的内容往往涵盖了测试集或者跟测试集相近,因此一旦训练集与测试集分别为两个不同的数据集,那么测试集中会含有大量训练集中没有出现过的词,即集外词.同时,不同语种但属于同一种语系的语言,会含有很多拼写相同的词(如英语和荷兰语都有“is”).在短文本中,这些词汇在文中所占的比例要比长文本高得多,对语种识别的正确率有一定的影响.

我们可以提高每一个语种特征词的权重,提高单词在所属语种的辨识度,这样不仅可以解决大类别语种数量增加而导致相似度计算的干扰,同时使集外词在句子中所占比例减小,减少集外词对语种识别的影响.此外我们还可以减少所有语种都含有的共有词的权重,以降低其在短文本中所占的比重,从而达到提高识别率的效果.

因此,本文提出一个根据不同的训练数据,自适应学习特征词和共有词的权重,来增强语种识别模型在不同数据集的鲁棒性的方法,并将其应用在Textcat、LIGA和logLIGA三个模型上,实验证明了该方法的有效性.

1 相关工作

1994年Cavnar等[1]提出了基于n-gram的词频排序方法,并且在400字以上的长文本中取得很好的效果.然而多数现代社交软件(如推特、微博等)的信息长度均限制在140个字符以内,这对语种识别任务提出了新的挑战.针对这一类短文本信息,Tromp等[7]指出,基于n-gram 的方法在区分6种欧洲语言的推特数据集上,只有93.1%的准确率,Tromp还提出一种基于n-gram的图结构语种识别模型,使其分类的准确率达到了97.5%,将错误率减少了一半,他们将其命名为LIGA.而后,Vogel等[8]于2012年6月提出了4种对LIGA的改进方案,分别是“加入词长度信息”、“减少重复信息的权重”、“中位分数法”、“log频率法”,并且通过实验,指出log频率法分类效果最佳.

1.1 Textcat模型

Cavnar等[1]的核心思想是Zipf定律—在自然语言的语料库里,一个单词出现的次数与它在频率表里的排名成反比.他们先将文本进行清洗,去掉所有的标点、数字等非字符的符号,然后将每个单词前后均加上空格,将这些单词切分成n-gram元组,并根据元组在该语种中出现的频率由高到低进行排序,生成语言文件.同时对待识别文本也进行相同的处理,生成目标文件.识别流程如图1.

图1 Textcat方法识别流程Fig.1 Identi fi cation process of Textcat

将目标文件中每一个n-gram元组与每类语种中相同的n-gram元组的位置求差并取绝对值,如果语言文件中不包含目标文件的n-gram元组,则位置差取该目标文件的最大值.将目标文件与每一类语言文件的位置差求和,位置差最小的那一类语种,即为目标语种.相似度计算流程如图2.

这个模型在400字以上的长文本中效果很棒,然而在140字以下的短文本中,效果大打折扣.同时,该模型对语料训练集的选取具有很强的依赖性,它在计算相似度时,如果如果语言文件中不包含待测语言的元组,相似度分数则加上最大距离(即目标文件最大值),然而语料集长度相差较大时,则匹配错误率会大大提高.

图2 Textcat模型相似度计算Fig.2 Similarity calculation of Textcat

1.2 LIGA模型

LIGA是Tromp等[7]提出的基于n-gram的图结构模型,他们是构建一个5元组G=(V,E,L,Wv,We),其中,V是n-gram元组,E是n-gram元组变换的边,L是语种类别的标签,Wv和We分别是元组点和边的权重.如:

(t1,NL)=is dit een test

(t2,EN)=is this a test

构建成的图结构如图3所示.

构建好图结构之后,可以将待识别的文本也按照句子顺序切分成3-gram元组,构建成一个线性的图结构,将这个结构与之前语言模型的图结构进行比较,计算相似度,如图4所示.

相似度计算方法为:图模型中,如果某一语种含有待识别文件的点,则该语种的分值加一;同理,将如果某一语种含有待识别文件的边,则该语种的分值也加一.将每一类语种的得分除以该语种图内所有点和边的和(即求得目标文件在该语种中所占的比重).最终哪一种语种分值最高,则认定其为待识别文件的语种.

这种方法不仅使用了单词本身的信息,还有效利用了词与词之间信息,通过构建图模型将孤立的单词元组联系起来,使得识别准确率得到了质的飞跃.

1.3 logLIGA模型

Vogel等[8]在2012年提出4种对LIGA的改进方案,分别是“加入词长度信息”、“减少重复信息的权重”、“中位分数法”、“log频率法”.并且通过实验证明,4种方法中“log频率法”效果最佳.简单地说,该方法在LIGA模型计算相似度时,加入log平滑函数.使用该方法的LIGA模型在6种欧洲语言的数据集上,取得了99.7%的效果.

以上方法均有效地提高了短文本识别的效果,但对数据集有很强的依赖性.在6种欧洲语言的数据集上,有不错的效果,一旦更换数据集,效果就差强人意,鲁棒性极差.分析其原因,是因为计算未知语种的n-gram的频率,与已知语种的n-gram加以比较,因此它们对训练集有着强大的依赖.随着大类别语种数、集外词和共有词的增加,训练集中各个语种的区分度就越来越小,导致识别率越来越低.因此我们提出了特征词、共有词的权重调整法,增强每一个语种的区分度,从而增强其鲁棒性.

图3 LIGA构造图模型样例Fig.3 An example of the model of LIGA

图4 待识别文本的线性图结构Fig.4 The linear structure of the text to be recognized

2 方法

本文提出的方法是应用于上述三个模型中.上述三个模型均是在已被标记好的语料中进行训练,形成语言模型,标签是这些语料所属的语种.具体做法是提取训练集中的特征词和共有词,并更新其权重,增强每一类语种的辨识度,从而达到提高模型鲁棒性的目的.

2.1 定义

假定有K个语种,有已标记文本集:

和未标记文本集:

以一个二元组(t,l)∈Ti来表示已标记文本集中每一个句子,其中t表示该句子的文本;l∈L表示该文本所对应的语言种类,例如:(t1,EN)=hello表示t1句hello属于英语.

当以3-gram为基本单位创建序列时,用N3Ti来表示第i个语种的3-gram序列,可以得到如下序列(用“.”来表示空格):

参考Tromp的方法,将语言模型定义成一个5元组:

其中,V代表模型中切分好的3-gram点(如(hel)),E代表相邻两个节点转换的边(如(hel,ell)),L代表图结构中每一个点和边所对应的语种li∈L(i∈{1,2,···,K}).Wv和We代表点和边的权重.特殊的是,在Textcat模型中,E=Φ,We=Φ.

图5 3-gram切分样例Fig.5 An example of 3-gram

2.2 初始化与训练

模型初始化如下:

即构建语言模型时,统计在同一种语言中点和边的出现频率.除此之外,我们分别构造特征词集F和共有词集R.

2.2.1 构造特征词集F

即在特征词列集F中,点v和边e只属于某一语种.这种特征词一旦出现,则说明该待测文本是特征词所属语种的概率很大,从而提高语种识别的准确率.

2.2.2 构造共有词集R

即在共有词列表中,点v和边e在N个语种集中均有出现.这种共有词会干扰到语种集中所的识别效果.

同上述模型一样,我们需要将点和边的权重求和:

2.3 识别

首先将待识别文本与语言模型相匹配,求得该文本在各个语言模型中的权重和;然后,加入优化的方法调整权重;最后,沿用原有模型计算相似度的方

式得出相似分数.首先计算待识别文本中点和边的权重和,如式(6):

然后调整里边含有特征词的点和边的权重,如式(7):

最后,用每个模型自身相似度计算方法计算待识别文本与各个语种的相似度,如式(8):

其中,λ1、λ2为调整点和边权重的参数,scorej代表该模型下待识别文本与第j个语种的相似度,Fmodel是原有模型计算相似度的方法,例如logLIGA的相似度计算方法为

最终将最大的score所在的语种认定为待识别文本的语种:

程序流程图如图6所示.

3 实验

3.1 数据集

本文分别选取了4个不同的推特数据集,具体情况如表1如示.其中,Twituser_7是Twituser_21的子集.

本文做了如下实验:

模型训练:要得到最优的识别效果,就必须找到最合理的参数.本文对式(7)中的λ1、λ2做主要调整.我们需要做同一参数下不同模型的效果对比,因此我们将三个模型同时训练,取平均效果最好的那一组参数.

图6 模型程序流程图Fig.6 Program fl ow chart of the model

表1 四种数据集情况简介Table 1 Introduction to four datasets

交叉验证:为了验证本文方法在同一组数据集下是否有效,分别把每一个数据集平均分成十份,随机抽取其中的一份作为测试集,重复10次,识别结果取平均值.

鲁棒性验证:将Europarl数据集做为训练集,分别以LIGA_dataset(即6种欧洲语言数据集)、Twituser_21、Twituse_7作为测试集.由于这三个数据集并不是Europarl的子集,因此测试集会出现大量的集外词.通过该实验来验证加入本文方法后,模型鲁棒性是否有提升.

3.2 模型训练

本文将Europarl作为训练集,剩下三个数据集作为测试集,分别测试特征词的权重从1到100、共有词权重从0.01到1在三个数据集上的效果,用来选取最合理的参数,如图7和8所示.

图7 模型在LIGA数据集上特征词权重的参数选择Fig.7 Parameter selection of feature words′weights

图8 模型在LIGA数据集上共有词权重的参数选择Fig.8 Parameter selection of common words′weights

以同样的方法分别在Twituser_7和Twituser_21上做了实验.实验表明,特征词在权重为40、共有词的权重在0.9的时候效果最佳.因此选取特征词权重40和共有词权重0.9.

同时在选择共有词权重的时候可以看出,共有词对模型的识别率几乎没有任何影响.这是因为随着大类别语种数量增多时,所有语种中都存在的词就很少了.在Europarl数据集中,特征词有329456个,而共有词只有1441.当训练集所包含的语言种类相似(如LIGA_dataset,只有6种欧洲语言,并且都属于同一种语系)时,共有词的作用才会凸显出来.因此我们在后期工作中可以修正共有词的概念以及权重调整的方式,来增强共有词在大类别语种数据集上的鲁棒性.

3.3 交叉验证

为了验证方法的通用性,分别将该方法运用在Textcat、LIGA和logLIGA上,并且在4个数据集中做了10组交叉验证.同时我们与没有加入我们方法的模型进行比较.实验结果见图9.

图9 模型在同数据集内交叉验证结果Fig.9 The crosses validation results within the same dataset

根据图表可以看出,传统模型在很大程度上会受到数据量的影响,数据量越大,模型的识别率就越高.实验表明,加入本文方法的模型ex_Textcat、ex_LIGA、ex_logLIGA的识别率分别比之前的模型有了显著地提升,幅度高达6%.因此可以证明,在训练集、测试集属于同一数据集时,本文方法可以有效地提高模型的识别率.

3.4 模型鲁棒性验证

将特征词和共有词的权重设定为40和0.9,将Europarl作为训练集,将LIGA_dataset、Twituser_21、Twituser_7作为测试集,通过训练集和测试集的不同来模拟出现集外词的情况,以验证模型在加入本文方法后鲁棒性的提升.

实验表明,使用了本文方法后,Textcat、LIGA、logLIGA模型分别在三个数据集中有了显著的提升,尤其是在Twituser21的数据集上,分别提高了10.24%、13.096%、1.951%,大大提高了模型在不同数据集上的鲁棒性.当训练数据不充分时,Textcat、LIGA两个模型的效果就会大打折扣,而我们的方法是增加语种之间的辨识度,因此在数据量不足的情况下,依然可以提升识别效果.

此外在图10中还可以看出,Twituser_21的数据集上的识别率要高于Twituser_7,即在相同训练集的情况下,增加大类别语种数量,识别率不会降低.因此可以得出结论,我们的方法不仅提高了不同数据集上的识别效果,增强了模型的鲁棒性,同时还解决了大类别语种数量增多时,语种识别率下滑的问题.

我们还发现一些问题,比如该方法对logLIGA模型的影响并不是很大.因为logLIGA模型是在计算完相似度后再取log,这样提高40倍权重取完log,只比加入本文方法前的权重高1.6倍,并没有太显著的差异;也正是因为加入了log平滑函数,使模型对权重修改的敏感度大大降低,如果继续提高权重,则会有更显著的效果.

图10 模型的鲁棒性验证结果Fig.10 Result of model robustness

4 总结

数据集的改变会让传统基于n-gram语种识别模型的准确率大打折扣,增强模型在不同数据集上的鲁棒性能让模型在实际应用中更加有效.本文提出了一种通过动态调整语种特征词和共有词权重的方式,提升传统模型识别性能的语种识别方法.实验证明了该方法的有效性.

1 Cavnar W B,Trenkle J M.N-gram-based text categorization.In:Proceedings of the 3rd Annual Symposium on Document Analysis and Information Retrieval.Las Vegas,USA,1994.161−175

2 Frank Scheelen.Libtextcat.Software[Online],available:http://software.wise-guys.nl/libtextcat/,2003.

3 Hammarstr¨omh.A fi ne-grained model for language identification.In:Proceedings of the 2007 Workshop of Improving Non English Web Searching.Amsterdam,The Netherlands:ACM,2007.14−20

4 Ceylanh,Kim Y.Language identi fi cation of search engine queries.In:Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP.Stroudsburg,PA,USA:Association for Computational Linguistics,2009,2:1066−1074

5 Vatanent,V¨ayrynen J J,Virpioja S.Language identi fi cation of short text segments with n-gram models.In:Proceedings of the 2010 International Conference on Language Resources and Evaluation.Valletta,Malta:LREC,2010.3423−3430

6 Carter S,Weerkamp W,Tsagkias M.Microblog language identi fi cation:overcoming the limitations of short,unedited and idiomatic text.Language Resources and Evaluation,2013,47(1):195−215

7 Tromp E,Pechenizkiy M.Graph-based n-gram language identi fi cation on short texts.In:Proceedings of the 20th Machine Learning Conference of Belgium and the Netherlands.Hague,Netherlands,2011.27−34

8 Vogel J,Tresner-Kirsch D.Robust language identi fi cation in short,noisy texts:improvements to LIGA.In:Proceedings of the 3rd International Workshop on Mining Ubiquitous and Social Environments(MUSE 2012).2012.43−50

9 Lui M,Baldwint.Langid.PY:an off-the-shelf language identi fi cation tool.In:Proceedings of ACL 2012 System Demonstrations.Stroudsburg,PA,USA:Association for Computational Linguistics,2012.25−30

10中谷秀洋.Short Text Language Detection with In fi nity-Gram.奈良先端科学技术大学院大学,2012.

11 Brown R D.Selecting and weighting n-grams to identify 1100 languages.Speech,and Dialogue.Lecture Notes in Computer Science.Berlin,Heidelberg,Germany:Springer,2013.475−483

12 Gonzalez-Dominguez J,Lopez-Moreno I,Moreno P J,Gonzalez-Rodriguez J.Frame-by-frame language identi fi cation in short utterances using deep neural networks.Neural Networks,2015,64:49−58

13 Zazo R,Lozano-Diez A,Gonzalez-Dominguez J,Toledano Dt,Gonzalez-Rodriguez J.Language identi fi cation in short utterances using long short-term memory(LSTM)recurrent neural networks.PLoS One,2016,11(1):Article No.e0146917

14 Tkachenko M,Yamshinin A,Lyubimov N,Kotov M,Nastasenko M.Language identi fi cation using time delay neural network d-vector on short utterances.Speech and Computer.Lecture Notes in Computer Science.Cham,Germany:Springer,2016.443−449

15 Ghahabi O,Bonafonte A,Hernando J,Moreno A.Deep neural networks for i-vector language identi fi cation of short utterances in cars.In:Proceedings of INTERSPEECH 2016.San Francisco,USA:ISCA,2016.367−371

16 Song Y,Cui R L,Hong Xh,Mcloughlin I,Shi J,Dai L R.Improved language identi fi cation using deep bottleneck network.In:Proceedings of the 2015 IEEE International Conference on Acoustics,Speech and Signal Processing(ICASSP).South Brisbane,QLD,Australia:IEEE,2015.4200−4204

17 Song Y,Hong Xh,Jiang B,Cui R L,McLoughlin I,Dai L R.Deep bottleneck network based i-vector representation for language identi fi cation.In:Proceedings of INTERSPEECH 2015.Dresden,Germany:ISCA,2015.398−402

18 Jin M,Song Y,Mcloughlin I,Dai L R,Ye Z F.LID-senone extraction via deep neural networks for end-to-end language identi fi cation.In:Proceedings of Odyssey 2016.Bilbao,Spain,2016.210−216

19 Shan Yu-Xiang,Deng Yan,Liu Jia.A novel large vocabulary continuous speech recognition algorithm combined with language recognition.Acta Automatica Sinica,2012,38(3):366−374(单煜翔,邓妍,刘加.一种联合语种识别的新型大词汇量连续语音识别算法.自动化学报,2012,38(3):366−374)

20 Yang Xu-Kui,Qu Dan,Zhang Wen-Lin.An orthogonal Laplacian language recognition approach.Acta Automatica Sinica,2014,40(8):1812−1818(杨绪魁,屈丹,张文林.正交拉普拉斯语种识别方法.自动化学报,2014,40(8):1812−1818)

21 Xu Jia-Ming,Zhang Wei-Qiang,Yang Deng-Zhou,Liu Jia,Xia Shan-Hong.Manifold regularized extreme learning machine for language recognition.Acta Automatica Sinica,2015,41(9):1680−1685(徐嘉明,张卫强,杨登舟,刘加,夏善红.基于流形正则化极限学习机的语种识别系统.自动化学报,2015,41(9):1680−1685)

22 Zubiaga A,Vicente I S,Gamallo P,Pichel J R,Alegria I,Aranberri N,Ezeiza A,Fresno V.TweetLID:a benchmark for tweet language identi fi cation.Language Resources and Evaluation,2016,50(4):729−766

23 Kalimeri M,Constantoudis V,Papadimitriou C,Karamanos K,Diakonos F K,Papageorgiouh.Word-length entropies and correlations of natural language written texts.Journal of Quantitative Linguistics,2015,22(2):101−118

24 Baldwint,Lui M.Language identi fi cation:the long and the short of the matter.In:Human Language Technologies:the 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics.Stroudsburg,PA,USA:Association for Computational Linguistics,2010.229−237

25 Lui M,Baldwint.Accurate language identi fi cation of twitter messages.In:Proceedings of the 5th Workshop on Language Analysis for Social Media(LASM).Gothenburg,Sweden:Association for Computational Linguistics,2014.17−25

26 Koehn P.Europarl:a parallel corpus for statistical machine translation.Proceedings of the 3rd Workshop on Statistical Machine Translation,2005.3−4

猜你喜欢

特征词语种集上
GCD封闭集上的幂矩阵行列式间的整除性
基于类信息的TF-IDF权重分析与改进①
《波斯语课》:两个人的小语种
R语言在统计学教学中的运用
基于改进TFIDF算法的邮件分类技术
产品评论文本中特征词提取及其关联模型构建与应用
师如明灯,清凉温润
面向文本分类的特征词选取方法研究与改进
几道导数题引发的解题思考
走出报考小语种专业的两大误区