APP下载

中文信息处理中的自动分词方法研究

2019-05-16杨涛

现代交际 2019年7期

杨涛

摘要:自动分词技术是中文信息处理的入门技术。通过对现有的三类中文分词算法(即基于词典的分词方法、基于统计的分词方法和基于理解的分词方法)的回顾和评述,分析“词”的界定、歧义消除和未登录词识別等制约中文分词的三大瓶颈,为中文分词技术的进一步发展提供方向。

关键词:中文分词 分词算法 歧义消除 未登录词

中图分类号:H087 文献标识码:A 文章编号:1009-5349(2019)07-0093-03

分词技术是自然语言处理的一项基础任务。以英语为代表的印欧语系语言在词之间有明显的空格作为边界,一般情况下,词语都可以比较简单而准确地提取出来。相对而言,中文分词(Chinese word segmentation)就要复杂得多。中文句子中的字符呈紧密相连的状态,词之间没有明显的分割标记和形态变化。而在自然语言理解中,词是表达意义的基本语言成分,对词的理解是对句子含义理解的前提条件。因此,中文信息处理的首要问题就是将没有分隔标记的字符串切分为合理的词序列。在机器翻译、信息检索、文本分类、语音识别等大多数智能化自然语言任务中,都需要将分词系统作为其基本模块和关键技术点。中文分词系统的准确与否,会直接影响和传递到下一级任务中,进而影响到相关中文信息处理系统的可靠性和实用性。[1]

一、中文分词算法

近30多年来,经过国内外大量学者的共同努力,中文自动分词已发展成一个独立的研究领域,取得了许多可喜的进步,也出现了众多的知识理论和算法。根据研究方法的不同出发点,现有的分词算法可以分为三大类:基于词典的分词方法、基于统计的分词方法和基于理解的分词方法。

(一)基于词典的分词方法

该方法是一种基于规则的词切分法。其核心理念是:在进行词切分之前,预先建立一个足够大的机器词典,词典中尽可能包含所有可能出现的词;然后按照预定的策略,逐一比对待切分字符串和词典中的词条;如成功匹配到相对应的字符串,则完成切词。因此,这种方法也叫做基于字符串匹配的分词算法或称为机械分词方法。该方法有三个主要因素:即分词词典、匹配规则和扫描方向。[2]根据匹配词长的优先度,这种算法分为最大匹配、最小匹配、逐词匹配和最优匹配;根据文本的不同扫描方向,这种算法分为逆向匹配、正向匹配和双向匹配。

一般情况下,一个词的词长和它所能表达的信息量呈正相关,因此,最大匹配算法在一些比较成熟的词典分词方法中被广泛采用。这其中常见的有:正向最大匹配法(Maximum Matching,MM)、逆向最大匹配法(Reverse Maximum Matching,RMM)和双向最大匹配法(Bi-Direction Maximum Matching,BDMM)等。MM和RMM分词过程大同小异,都是采用减字的方式进行匹配,二者的区别主要在扫描顺序上。而由于信息后置这一中文语句的显著特点,MM的分词效果相较而言要略逊于RMM。有实验结果表明,仅使用MM的错误概率为0.59%,而仅使用RMM的错误概率为0.41%[3],这样的分词效果距离实际的应用还有一定的距离。BDMM是对分别使用了MM和RMM切分结果中的不重合歧义问题做进一步处理,以此降低歧义句造成的分词错误率,但错误率的降低是以巨大的时间消耗换来的。除了上述常用的分词方法外,还有最佳匹配法、逐词遍历法、有穷多层次列举法和设立切分标志法等。

总体来说,基于词典的分词方法算法简单且易于实现,但词典的完备性难以保证,特别是对于未登录词(out of vocabulary,OOV)的识别率低;由于词的划分没有一个统一的标准,因此机器词典的词集质量对分词精度造成的影响较大。此外,词典的匹配速度慢,交集型和组合型歧义的切分问题也是两个比较明显的缺陷。因此,研究者往往将词典分词方法作为文本粗分和歧义识别的起始环节,将其与基于统计和理解的分词方法结合使用,以期提升整体的分词精度和分词效率。

(二)基于统计的分词方法

近年来,基于统计的分词方法成为中文分词技术的主流。该算法的依据是:在汉语上下文中,虽然没有任何的词边界,但相邻字之间联合出现的频率越高,则其越有可能形成一个词。因此,该算法首先对语料中的字符串进行全切分,然后对所有可能相邻共现的字组合进行频率统计,计算它们的互现信息[4],这样便将语言问题转化成了统计问题,继而建立反映相邻字互信度的概率模型,从而完成新词识别和切分。这种算法仅需对语料中每个词的频率进行计算,而不依赖于大规模的机器词典,因此也称为无词典分词方法。该方法常用的统计量主要有:信息熵、互信息、t-测试差等;相关的分词模型包括:N元文法模型(N-gram)、最大熵模型(Maximum Entropy,ME)、隐马尔可夫模型(Hidden Markov Model,HMM)以及条件随机场模型(Conditional Random Fields,CRFs)等。

N-gram模型是一种基于有向图的全切分算法的经典模型。该模型认为,单个词的出现与其上下文的词序列相关,即第i个词的出现与其前面i-1个词相关,而和其他的词不相关,整个句子出现的概率是所有词概率的乘积。我们将与前面一个词相关的模型叫作二元模型;如与前面两个词相关,叫作三元模型;以此类推。在2003年首届SIGHAN国际中文分词评测中,N-gram模型是当时大部分系统所采用的分词模式。[5]

基于字标注(Character Tagging)的无向图算法实际上是构词方法,它将中文分词过程转化为字在词语中的标注(词位)问题。在这种算法中,分词过程成了字重组的简单过程,算法的关键是词位学习,并根据人工分词的语料库建立模型参数。近年来,随着机器学习(Machine Learning,ML)技术的发展,隐马尔可夫模型、支持向量机、最大熵模型和条件随机场等主要机器学习方法被广泛应用于字构词的词位学习任务中。CRF模型因其综合了HMM和ME的特质,成为目前主流的训练模型。资料显示,第一篇基于字标注的论文发表于首届SIGHAN研讨会上[6],而使用该方法的分词系统在Bakeoff-2005上崭露头角,到了Bakeoff-2006则遍地开花[7]。

该方法的优势在于不需要人工事先建立机器词典,其数据由机器从语料中训练获得,不用设计特定的未登录词识别模块,具有一定的歧义消除和未登录词识别能力,分词准确度也更高。但它也存在一定的局限性,例如经常会切分出共现频率高但不是词的常见字组。对于长距离依赖导致的分词错误,该算法的处理能力也较弱。此外,该算法需要大规模、涵盖面广的训练语料库以建立模型参数,计算量和运行时间开销比较大,而且分词精度和训练语料的选择相关度很高。

(三)基于理解的分词方法

该方法也称为基于人工智能的分词算法。它在一定程度上是基于“先理解后分词”的技术路线设计的,旨在解决词典分词方法缺少全局信息,而统计分词方法缺少句子结构信息的问题,在理论上是一种最理想的分词方法。其基本思想是:在分词时模拟人脑对于语言的理解方式,根据句法、语义以及构词特点来进行分析,以达到词汇识别的效果。基于理解的分词系统一般分为分词系统、句法语义系统和总控系统三个部分。在总控系统的统一协调下,分词系统模拟人类的语言理解能力和思考过程,从句法语义系统中获得相关信息,并将其应用到词切分的歧义消除过程中。常见的分词方法有专家系统分词法(Expert System)和神经网络分词法(BP Neural Network)两种。

专家系统分词法从模拟人脑的功能出发,将分词所需的句法、语义等常识性分词知识和歧义切分规则等启发性知识从推理机中独立出来,两者互不干扰,从而便于知识库的维护和管理。专家系统分词的过程可以总结为利用常识性知识生成词语树和利用启发性知识进行歧义校正的过程。该系统将分词问题看作知识的推理过程,利用句法、词法、语用和语义知识进行逻辑推理,从而实现对歧义词的有效切分。

神经网络分词法是通过模拟人脑神经元的工作运行机制,进行分布处理和数学建模,将分词知识存入内部神经网络,通过机器学习和训练给出正确的词切分结果。随着深度神经网络的兴起,人们开始从大量特征工程的研究中解脱出来。从2013年Mikolov提出的Word2Vec[8]模型起,深度学习开始大量应用到中文自动分词的前沿研究中。2013年,Zheng采用带窗口的前馈申请网络,第一次把神经网络应用到了中文分词中。[9]2015年,Chen第一次使用单向的长短期记忆网络(Long Short-Term Memory)实现了中文自动分词。[10]

从目前来看,基于理解的分词方法更加注重利用句法和语义信息来消除歧义现象,具有自学习和自组织的能力,提高了分词的效果。但是,在实际使用过程中,该算法需要使用大量的语言学知识,而鉴于汉语句法规则的复杂程度,各种语言知识很难轻易转换成机器可以讀取的形式,实现起来非常困难,离达到真正的实用性还有很大的距离。但作为自动分词技术的一种探讨,将专家系统和神经网络的思想引入中文分词领域是一种有益的尝试,具有很好的研究价值。

二、中文分词的瓶颈

中文自动分词领域近年来取得了不小的成就,产出了一些在分词精度和分词速度方面具有相当水平的实用分词系统,但中文分词过程仍存在难以解决的问题,成为制约中文信息处理的一个瓶颈。目前,中文自动分词技术面临三个方面的困难:“词”的界定、歧义消除和未登录词识别。

(一)“词”的界定

对于自动分词而言,有一个重要前提是至少要在计算的意义上能清楚地界定文本中词的边界。而对于以汉语为母语的大多数人来说,“词”的概念往往是一种朦胧的感觉。在汉语中,“词”相对于语素和短语之间很多时候没有一个清晰的界限。有调查表明,以汉语为母语的被试者对于文本中“词”的认同率只有70%左右。[11]在不同的语法教科书中,都可以找到关于“词”的抽象定义,而这种模棱两可的定义是不可计算的。对于分词标准的问题,简单地颁布一个分词规范或给出一条定义无法从根本上解决这一问题。经过信息界和语言学界研究者的共同努力,1992年制订的国标《信息处理用现代汉语分词规范》[12]提供了一套比较系统的分词规则,并按照词类分别给出了各类“分词单位”的定义。但它同时将“结合紧密”“使用稳定”等这些带有主观判断的标准作为界定准则,给中文自动分词系统的实现和评测都造成了不小的困惑。

(二)歧义消除

汉语博大精深、灵活多变,同一词语在不同语境中表示不同意义的情况很常见。在汉语分词过程中,当一个待切分句子中的字串存在多个切分结果,则该语句存在切分歧义。歧义的存在加大了分词的难度,因此,歧义消除理所当然地成为分词的一个难点。引起切分歧义的情况很多,通常可分为交集型歧义、组合型歧义和真歧义三种类型。统计结果表明,交集型歧义在分词阶段占总歧义的比例超过了80%,因此,能否解决交集型歧义的问题在很大程度上决定了分词系统的歧义消除能力。[13]组合型歧义是指,对于一个汉字序列“AB”,可以作为“AB”整体为词,也可切分成“A、B”两个词。例如“将来”一词在不同的情况下有不同的切分方法:“西安|将来|会|更|好。”和“明天|小王|将|来|西安。”便是两种不同的情况。交集型歧义是指,对于一个汉字序列“ABC”满足切分为“AB”“BC”同时为词的情况。例如“人民生活好”中可切分出“人民”和“民生”这两种结果。真歧义是指一个句子可以有多种切分结果,而且从语法和语义的角度来说,所有的结果都是正确的。例如,“乒乓球拍卖光了”可以切分为“乒乓球|拍卖|光了”和“乒乓球拍|卖|光了”两种结果。无论分词规范多么详细,要彻底消除中文的切分歧义非常之难。切分岐义的存在严重影响中文分词系统的切分精度,而目前大多数的分词系统在岐义消除方面还不理想。

(三)未登录词识别

歧义词的存在虽然给中文分词造成了很大的困难,但仍可以通过不断扩充和修订词库来增加分词的正确率,相对而言,未登录词的识别就显得更加麻烦。所谓未登录词,也叫集外词,是指分词系统词典没有收录到的词语,也指在训练集中没有出现过的词语。[14]常见的未登录词可以分为两大类:一类是人名、地名、机构名等专有名词;一类是新出现的通用词或专业术语等。对于汉语而言,实词部分永远是一个开放集,随着人们表达方式的转变和社会的发展,新名词和网络新词不断涌现;专有名词虽然更新缓慢,但也不可能全部收入词典。例如,“冷香凝在寰宇纵横的演出中非常杠精”一句话,分别出现了人名“冷香凝”、机构名“寰宇纵横”和网络词“杠精”三个未登录词,给分词过程带来了很大的麻烦。未登录词极大地影响了分词系统的精度,它的出现很容易对语句的其他部分造成分词错误。有研究结果表明,未登录词造成的分词精度失落远超过歧义切分引发的错误,从比例上来讲至少大5倍以上。[7]因此,能大幅提高未登录词识别的分词方法必定能提升分词系统的整体切分精度,也正是在这种背景下,前文所述的基于字标注的分词方法才应运而生。

三、结语

近些年来,尤其是自2003年SIGHAN举办的Bakeoff分词评测以来,中文分词技术在算法创新和理论研究方面取得了很大的成绩。但在自然语言处理中,中文信息处理技术和以英语为代表的西方语言处理技术仍有很大的差距,即使和同为东方语言的日语之间也形成鲜明对比。分词系统作为中文信息处理的入门技术,还一直处在“研究系统”阶段,即为了取得最高的准确率和召回率,忽视了资源成本和运算时间成本,系统对训练语料的类型和规模依赖性较强,而未能真正达到强健的“实用系统”阶段。因此,研究者们需要从分词精度、运行效率、通用性和适用性等多个角度对中文自动分词算法不断改进,从而开发出质量更高、性能更好的多功能中文自动分词系统。

参考文献:

[1]刘迁,贾惠波.中文信息处理中自动分词技术的研究与展望[J].计算机工程与应用,2006,42(3):175-177.

[2]翟凤文.统计与字典相结合的中文分词[D].吉林大学,2005.

[3]刘源,梁南元.汉语处理的基础工程——现代汉语词频统计[J].中文信息学报,1986(1):17-25.

[4]张旭.一个基于词典和统计的中文分词算法[D].成都:电子科技大学,2006.

[5]Emerson T.The second international Chinese word segmentation bakeoff:proceedings of the Fourth SIGHAN Workshop on Chinese Language Processing[C].Jeju Island,2005:123-133.

[6]Xue N,Converse S P.Combining classifiers for Chinese word segmentation:proceedings of the First SIGHAN Workshop on Chinese Language Processing[C].Taipei,2002:57-63.

[7]黃昌宁,赵海.中文分词十年回顾[J].中文信息学报,2007(3):8-19.

[8]Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space[OL].2013.https://arxiv.org/abs/1301.3781.

[9]Zheng X,Chen H,Xu T.Deep learning for Chinese word segmentation and POS tagging:EMNLP 2013:proceedings of the Conference on Empirical Methods in Natural Language Processing[C]. Seattle,2013:647-657.

[10]Chen X,Qiu X,Zhu C,et al.Long short-term memory neural networks for Chinese word segmentation:EMNLP 2015:proceedings of the Conference on Empirical Methods in Natural Language Processing[C].Lisbon,2015:1197-1206.

[11]黄昌宁,高剑峰,李沐.对自动分词的反思:语言计算与基于内容的文本处理——全国第七届计算语言学联合学术会议论文集,哈尔滨,2003[C].北京:清华大学出版社,2003:36-48.

[12]刘源,谭强,沈旭昆.信息处理用现代汉语分词规范及自动分词方法[M].北京:清华大学出版社,1994.

[13]秦赞.中文分词算法的研究与实现[D].吉林大学,2016.

[14]邢富坤.中文分词中未登录词分布规律及处理方法研究[J].解放军外国语学院学报,2013,36(5):27-32.

责任编辑:张蕊