李亚超,加羊吉,宗成庆,于洪志
(1.西北民族大学 中国民族语言文字信息技术重点实验室,甘肃 兰州730030;2.中国科学院 自动化研究所 模式识别国家重点实验室,北京100190)
藏语是一种拼音文字,有30个辅音字母和4个元音字母,由这些字母组成音节,由音节构成词[1]。音节之间用音节点“”(tsheg)作为分隔符,例如,“”(我是老师,ng rang dge rgan yin)。与英语等拉丁语言不同,藏语的词语间没有分隔符来区分,如一个藏语句子“”(制销劣质产品,tsong sog rdzun ma bso vtsong byed)(本文用“/”表示藏语词语、音节间的分割符),因此藏语信息处理需要面对与汉语、日语等语言共同遇到的分词问题。在现代藏语中音节之间的分隔符存在省略现象,从而形成了紧缩词。紧缩词在藏语文本中出现的频率非常高,大约30%左右的词汇中会有紧缩词现象,这些词的识别是藏语分词中的重点和难点。开展藏语分词技术的研究,对于藏语信息处理、信息检索以及藏语与其他语言之间的机器翻译都具有很重要的应用价值。
1999年,扎西次仁所发表的“一个人机互助的藏文分词和词登录系统的设计”可以看作是藏语分词研究开始的标志[2]。2002年,陈玉忠等人根据藏文的字、词、句切分的特点,提出了一种基于格助词和连续特征的书面藏文自动分词方法[3],该方法在后来的实验中被证明是一种较为有效的基于语言规则的分词方法。祁坤钰提出了切分与格框架、标注一体化的藏语三级切分体系[4]。才智杰提出了基于规则的方法“还原法”,来处理藏语分词中紧缩词识别问题[5],这种方法需要词库支持,不能够处理“未登录词+紧缩词”情况下的紧缩词。以上研究都是基于知识库语法规则的藏语分词方法,分词系统的实现过程较为复杂,且分词效果离完全实用化的要求还有一定的距离。Huidan Liu等研究了藏语分词中的数字识别问题[6],并且实现了基于音节标注的藏语分词方法[7],该方法把分词和紧缩词识别融和到一个统一的标注体系中。史晓东把一个基于HMM的汉语分词系统Segtag移植到了藏语中,取得了91%的准确率[8],这是一个与藏语语言本身相对无关的较为成功的基于统计方法的藏语分词系统。
综上所述,藏语分词经过了十多年的研究,目前仍然存在许多问题需要解决,并没有形成一个公认的或者成熟的分词方法,更没有共享的开源系统。
与藏语分词相比,汉语分词经过几十年的研究,已经取得了丰硕的成果,提出了很多有效的理论和方法。在2002年之前,汉语的自动分词方法基本上是基于词(或词典)的,这些方法可以进一步分成基于规则和基于统计两大类[9-10]。基于字标注的分词方法最早发表在2002年第一届SIGHAN研讨会上[11],该方法把分词过程抽象为序列化标注问题,即判断一个字在词中的位置信息。近几年来,通过大量的实验证明,基于字标注的方法是一种非常有效的分词方法,因此,成为当前汉语分词研究中的主流技术,得到广泛的应用和推广。
本文希望借鉴汉语分词中由字构词的分词思想,建立一种基于字标注的藏语分词方法,并对藏语分词中紧缩词识别问题提出新的解决方案。
本文的其余部分安排如下:第2节阐述我们提出的藏语自动分词方法的基本思路;第3节介绍基于条件随机场的藏语分词方法;第4节给出实验数据,并进行结果分析;第5节为全文总结和下一步的工作。
藏语属于汉藏语系,理论上,汉语中使用的自然语言处理方法都可以用在藏语信息处理中,但在实际使用过程中必须考虑藏语中存在的具体问题。藏语自然语言处理研究不论在人力还是物力上与汉语相比都有较大的差距,如果解决了限制成熟的自然语言处理方法在藏语上应用的关键问题,那么可以使相关的藏语自然语言处理技术得到跨越式的发展。基于以上思想,本文拟将汉语中基于字标注的分词方法引入藏语自动分词,通过分析并处理藏语分词中特有的紧缩词识别问题,实现一种基于条件随机场的藏语自动分词方法。
在分词中首先要确定分词的基本单位,然后利用规则或者统计方法把分词基本单位组合成词。在汉语分词中由字组成词,而在藏语分词中则是由音节组成词。在古藏语中,所有音节间都由音节点“”隔开,但是在现代藏语中,有些特殊的格助词和前面的音节之间的音节点存在省略现象,称为紧缩词,例如,(过去的五年,vdas pai lo lnga),第三个切分单位属格助词“”和第二个切分单位“”之间没有音节点隔开。由于紧缩词在藏语文本中出现的频率①详细数据在3.2节说明很高,并且在不同的上下文语境中具有不同的作用,分词时很难判定包含紧缩词的音节是一个切分单位还是两个切分单位,从而对分词结果产生很大的影响。对于紧缩词识别问题,才智杰根据藏语的语言规则采用“去除/添加”法将其还原成藏文原形,即“还原法”[5]。其基本思想为,如果一个字串中包含有某个紧缩词时,去掉该紧缩词后查找词库,根据查找的结果来判定是否是紧缩词。格助词是藏语语法的最大特征之一,也是分词以及相关信息处理过程中最主要的难点之一[12]。在藏语分词中需要处理的紧缩词主要有:具格助词“”(sa)、la类格助词(ra)、属格助词(vi)、终结词(vo)、饰集词(vang)、离合词(vam)等6个。根据我们对已有的分词方法切分错误的分析,机械匹配分词方法中交集型歧义、组合型歧义、紧缩词识别错误占的比例分别为53%、26%、8%;基于格助词分词方法中,堆块错误(词间无格助词,连续的词未能切开)、格助词识别(紧缩格和兼类格)、截断(词内部出现格助词,把一个词切分成两个词)所占的比例分别为73%、16%、7%。以上问题都是基于规则的分词方法很难解决的。
依据上述分析,如果能够有效地确定分词基本单位,就可以利用目前很多成熟的分词方法进行分词,从而实现自动藏语分词。根据以上的思路,本文采用基于条件随机场的分词方法,分词系统流程如图1所示。
图1 分词流程图
根据这一分词流程,我们首先对输入的藏文文本以音节点为标志进行音节切分,音节切分时藏语中的符号,例如,单垂符、云头符汉语标点符号和英文字符要单独切分开;切分好的音节单位输入紧缩词处理模块进行紧缩词处理,其输出结果作为分词基本单位,分词基本单位可以是藏语音节、数字、标点符号等;处理好的分词基本单位输入基于CRF的分词模块进行分词处理,最后输出分词结果。
条件随机场(Conditional Random Field,CRF)是Lafferty等提出的一种统计的序列标记模型[13]。在本文中简单介绍CRF模型,详细信息见参考文献[14]。
我们把藏语分词和紧缩词识别都看成是序列标记问题。在序列标记问题中生成一个基于无向图(undirected graph)G=(V,E)的一阶线性链式CRF(linear-chain CRF)。V是随机变量Y 的集合Y ={Yi|1≤i≤n},对于输入一个句子的n个需要标记单元,E = {(Yi-1,Yi)|1≤i≤n}是n-1个边构成的线性链。对于每个句子x,定义两个非负因子:
对于每个边:
对于每个节点:
fk是一个二值特征函数,K和K′是定义在每个边和相应节点的特征数量。
给定一个需要标记的序列x,其对应的标记序列y的条件概率为式(1):
Z(x)是归一化函数。给定训练集D,训练模型的参数是用来最大化条件似然值。当给定了要标记的序列x,其对应的标记序列y由参数Argmaxy′P(y′|x)给出。
本文使用CRF++(v 0.51)①http://crfpp.sourceforge.net/来实现基于CRF分词、紧缩词处理模型的序列标记任务。
在一个包含78107个藏语词条的词典中(词条由《藏汉大辞典》、《格西曲扎词典》抽取的藏语词条组成,下文称为藏语词典),“”、“”、“”、“”、“ ”、“ ”等6个紧缩词一共出现了38 345次。我们通过对一个13.4M大小藏语文本语料(包含856 668个词)统计得知,上述的紧缩词共出现了298 777次。为了表示方便,下文中以S1,S2,...,S5,S6分别表示这6个紧缩词。表1给出了6个紧缩词整体上、单个出现的次数和所占总词汇数的比例。
表1 紧缩词出现的频度
从表1可以看出,无论是文本语料还是藏语词典,至少34%的词汇都包含了这6个紧缩词。因此,紧缩词识别对于藏语分词来说是必须面对的问题。后面的实验将实验紧缩词识别对藏语分词的影响。
我们可以把紧缩词识别问题看成分类问题,这6个紧缩词按照功能进行划分,可以分为两大类,一类是作为格助词,另外一类是非格助词(包括基字和后加字)。判断的依据为这些紧缩词的上下文特征。这样,我们就可以把紧缩词识别转化为序列标注问题,进而可以采用当前成熟的序列标注模型来进行识别,本文采用基于CRF的序列标注方法进行紧缩词识别。采用的标记集为“YN”,其中Y、N分别表示非格助词和格助词。在本文中,我们对紧缩词识别采用音节本身以及音节上下文特征信息,特征模板如表2所示。
表2 紧缩词识别特征模板
在基于字标注的分词方法中,需要对每一个字在词中的位置信息进行标注,根据以上的分析,我们参照基于字标注的汉语分词方法[15],在本文中选用“BMES”标记集,根据每个藏文音节在词中出现的位置,给予不同的标签,B代表词的左边界,E代表词的右边界,M代表词的中间部分,S代表单音节词,标记示例如表3所示,超过3音节的词中间部分都标记为M。
表3 音节标记示例
根据不同的紧缩词处理方法,可以选用不同的音节标注方法。用本文提出的紧缩词处理模型,把音节序列处理成分词基本单位,再进行序列标注的方法称为TagSet-1。另外,紧缩词识别和音节标记可以融合到一个统一的标注体系中,把包含紧缩词的音节作为两个切分单位的标注方法称为TagSet-2,把包含紧缩词的音节作为一个切分单位的标注方法称为Liu,Liu是Huidan Liu在文献[7]中提出的标注方法,该方法除了B、M、E和S等4个标记外,又增加了两个标记SS和ES,SS用于标注包含紧缩词的单音节词,ES用于标注多音节词包含紧缩词的末尾音节。TagSet-1标注示例如表3所示,TagSet-2和Liu对普通词的标注示例在表3,对包含紧缩词的标记示例如表4中所示。
表4 标注集示例
在特征选取上选取音节本身和音节上下文的特征信息,特征模板如表5所示。音节的特征信息,在本文中分为藏语音节、藏语标点符号、汉语标点符号、英文字母、英文数字、英文符号。
表5 分词特征模板
本实验采用的藏语分词语料为中国中文信息学会第七届全国机器翻译研讨会(CWMT2011)藏汉报刊政论文献平行语料中的藏语语料部分。把整体语料按照3∶7的比例分为测试语料和训练语料。测试语料详细信息列在表6,训练语料大小为13.4M,包含71 629行,856 647个词汇,用于藏语分词模型和紧缩词处理模型训练,在下文中称为训练语料。测试分为封闭测试和开放测试两种测试方法。
表6 测试集详细信息
我们进行了两种条件下的分词实验,这两种实验都采用相同CRF分词模型,不同的是紧缩词的处理方法。紧缩词处理方法为:方法(1)利用本文提出的基于CRF的紧缩词处理模型,简称自动模型;方法(2)以人工方式进行紧缩词处理,这种情况下可以完全处理紧缩词问题,简称人工处理。表7为在不同的测试集上,两种实验的分词结果。在表7以及下文中R、P、F、ROOV、RIV分别表示召回率、正确率、F值、未登录词召回率和登录词召回率等分词指标,“-”表示无此项数据。R、P、F 计算方法如式(2)、(3)、(4)所示:
ROOV表示测试语料中未登录词(在训练语料中没有出现过的词)的召回率,RIV表示测试语料中登录词(在训练语料中出现过的词)的召回率。
表7 基于CRF的分词结果
在开放测试中,采用本文的紧缩词处理模型,分词的R、P、F等指标均达到了95%,说明基于CRF的藏语分词可以取得较好的分词效果。
在封闭测试中,分词的各项指标均超过了99%,虽然是在实验条件下的分词结果,但是可以说明利用CRF实现的基于字标注的分词方法对于藏语分词是同样有效的。
经过对开放测试和封闭测试的分词结果对比,本文提出的紧缩词处理模型与人工处理的紧缩词处理方法的分词各项指标较为接近,误差在0.5%以内,说明基于CRF的紧缩词处理方案基本达到了实用的程度。
从开放测试实验结果来看,标记集TagSet-1和TagSet-2的 F 值均高于标记集 Liu,TagSet-1和TagSet-2的F值很接近。由于标记集TagSet-1需要单独的处理紧缩词,所以采用TagSet-1的分词系统需要耗费额外的紧缩词处理时间,TagSet-2是分词准确率和耗费时间的最好折中方案。
本分词系统在报刊政论文献语料上的分词结果中,登录词的召回率是较为理想的,但是未登录词的召回率较低,为47%,对于未登录词召回率较低的原因在4.4节针对藏语分词的召回率进行专门的实验。对分词实验结果的统计分析后发现,测试语料的题材为报刊政论文献,未登录词大都是数字和本领域内的专有名词,切分错误主要集中在专有名词切分错误上。导致切分错误的原因,除了标准语料自身的切分错误外,还有训练语料中词语切分不一致导致未登录词很容易切分为多个登录词。一方面为了忠实于原有的语料,另一方面为了以后分词实验的对比,所以我们在此不对原始语料做任何人工的更改,实验数据均按照原始语料给出。
本文的紧缩词识别实验中,系统输出结果的数量和标准答案的数量是相同的,所以正确率、召回率和F值都相同,因此本文仅使用正确率来表示紧缩词识别结果。“还原法”的紧缩词识别结果采用文献[5]的数据,详细数据列在表8。
表8 紧缩词识别结果
从表8中可以看出,S1和S3在不同的测试集上识别的结果都比较稳定,而S2的识别结果波动较大,并且在紧缩词识别错误中S2占了66%。S4、S5、S6在语料中出现的次数较少,占整体的比例为0.39%,所以识别的结果不具有代表性。通过对语料的统计S1、S2、S3作为非格助词和格助词之比为13∶1、3∶1、0.03∶1,与S1、S3相比S2的上下文环境更为复杂,因此对S2的处理需要加入更多的特征信息。随机抽取41个S2识别错误,经过分析后发现,把格助词识别为非格助词称为A类错误,非格助词识别为格助词称为B类错误,A类错误的次数为35次,B类错误的次数为6次,分别占的比例为85%和15%。同样,其余的紧缩词识别错误也倾向于同一种错误类型。
与“还原法”相比,基于CRF的紧缩词识别方法整体上识别效果较差。但是,本方法不需要词库的支持,导致的分词错误还可以接受,在一定程度上克服了“还原法”不能识别“未登录词+紧缩词”条件下的紧缩词的不足。
为了实验紧缩词识别对基于CRF的藏语分词结果的影响,本文实现了三种条件下的基于CRF的分词实验,这三种实验采用相同的CRF分词模型,为了消除未登录词的影响,实验采用封闭测试,不同条件为:实验(1)切分所有包含紧缩词的音节;实验(2)对藏语中的紧缩词不进行处理;实验(3)以人工方式进行的紧缩词处理,这种情况下可以完全处理紧缩词问题。
从表9的结果可以得出,不同的紧缩词处理方法对基于CRF的藏语分词结果影响非常大。同时也说明紧缩词识别是藏语分词过程中最主要的难点。
表9 紧缩词识别对藏语分词的影响
综合分析可以得出,紧缩词识别问题是阻碍很多分词技术在藏语分词上应用的最大障碍。解决了紧缩词识别问题后,很多成熟的基于统计的分词技术都可以应用到藏语分词中,紧缩词识别对藏语分词技术的研究和应用具有非常重要的意义。
在4.1节的分词结果中未登录词召回率较低,为47%。并且在此语料上ROOV很难有进一步的提升,为了实验基于CRF的藏语分词是否对未登录词有较好的处理效果,我们进行了在其他语料上的分词实验。选用的语料为藏语小学语文课本,本语料由西北民族大学中国民族信息技术研究院组织人工标注,训练语料包含93 563个词,测试语料包含17 767个词,测试语料未登录词比例为10.36%。为了对藏语分词和汉语分词的效果进行对比,汉语分词结果采用汪昆在Coling 2010上实验数据[15],详细实验结果见表10。在本文中OOV Rate表示测试语料的未登录词比例,这个比例对分词结果有较大的影响。
表10 藏语分词结果及对比
在本语料上,藏语和汉语的分词指标如ROOV、RIV很接近,但是藏语分词的F值较低。原因是藏语测试语料的未登录词比例较高,如果降低未登录词比例,那么分词结果会有提升。
表11为报刊政论文献和小学语文课本语料的交叉分词测试结果。分为两个实验,实验1用报刊政论文献语料训练的模型测试小学语文课本语料,实验2跟实验1所用训练语料和测试语料的语料相反。
从表11可以看出,实验2的ROOV、RIV均高于实验1,结合表10的实验数据可以说明基于CRF的藏语分词对未登录词有较好处理效果。
表11 藏语分词语料间交叉测试
报刊政论文献语料不管是在本领域还是在小学语文课本上的分词结果中未登录词召回率均较低,而小学语文课本语料在测试中可以一直保持较好的效果,说明了4.1节的藏语分词结果中未登录词召回率较低是因为语料的问题。
在表11中R、P、F均较低是因为不同语料之间的题材差异导致分词结果降低,这种现象同样会出现在汉语分词中,另外本实验的训练语料和测试语料为不同的题材,测试语料中未登录词比例较高,导致分词F值严重降低。
在藏语分词中,因为语料缺乏,并且质量也不太好,有些分词指标在不同的语料上有较大的差异。
本文根据藏语的特点实现了一种基于CRF的藏语分词系统,说明基于字标注的分词方法对于藏语分词同样适用。而且,我们利用基于CRF的方法有效地解决了藏语分词中紧缩词识别问题,使之与分词模块很好地结合在一起,与其他的标记集相比,采用独立的紧缩词处理方法的标记集TagSet-1取得了最好的实验结果。但是,频率最高的紧缩词S1、S2识别错误中超过80%是把非格助词识别为格助词,这样分词基本单位数量超过标准的数量,导致在开放测试中分词召回率普遍高于准确率。其余的紧缩词识别错误也较为有规律,同样倾向于同一个错误类型。接下来,我们希望通过加入藏语语法规则来减少紧缩词识别错误,平衡分词的召回率和准确率,另外要在分词系统中加入人名、地名、机构名等命名实体的自动识别。
[1]山木旦,郑绍功,扎喜拉旦等.新编藏文字典[M].西宁:青海民族出版社,1979.
[2]扎西次仁.一个人机互助的藏文分词和词登录系统的设计[C].中国少数民族语言文字现代化文集,北京:民族出版社,1999:322-327.
[3]陈玉忠,李保利,俞士汶,等.基于格助词和连续特征的藏文自动分词方案[J].语言文字应用,2003,(1):75-82.
[4]祁坤钰.信息处理用藏文自动分词研究[J].西北民族大学学报(哲学社会科学版),2006,(4):92-97.
[5]才智杰.藏文自动分词系统中紧缩词的识别[J].中文信息学报,2009,23(1):35-37.
[6]Huidan Liu,Weina Zhao,Minghua Nuo,et al.Tibetan Number Identification Based on Classification of Number Components in Tibetan Word Segmentation[C]//Proceedings of the 23rd International Conference on Computational Linguistics(Posters Volume)(Coling 2010),2010:719-724.
[7]Huidan Liu,Minghua Nuo,Longlong Ma,et al.Tibetan Word Segmentation as Syllable Tagging Using Conditional Random Fields[C]//Proceedings of the 25th Pacific Asia Conference on Language,Information and Computation (PACLIC-2011),2011:168-177.
[8]史晓东,卢亚军.央金藏文分词系统[J].中文信息学报,2011,25(4):54-56.
[9]黄昌宁,赵海.中文分词十年回顾[J].中文信息学报,2007,21(3):8-20.
[10]宗成庆.统计自然语言处理[M].清华大学出版社,2008.
[11]Neinwen Xue,Susan P.Converse.Combining classifiers for Chinese word segmentation[C]//Proceedings of the First SIGHAN Workshop on Chinese Language Processing,Taipei,2002,Taiwan,2002:63-70.
[12]关白.浅析藏文分词中的几个概念[J].西藏大学学报(自然科学版),2009,24(1):65-69.
[13]J.Lafferty,A.McCallum,F.Pereira.Conditional Random Fields:Probabilistic Models for Segmenting and Labeling Sequence Data[C]//Proceedings of ICML-2001,2001:282-289.
[14]Nianwen Xue.Chinese word segmentation as character tagging[C]//International Journal of Computational Linguistics and Chinese Language Processing,2003:29-48.
[15]Kun Wang,Chengqing Zong,Keh-Yih Su.A Character-Based Joint Model for Chinese Word Segmentation[C]//Coling 2010,2010:1173-1181.