基于语料库的中文自动查错综述
2009-08-31苏炳均
苏炳均
一、引言
随着计算机的逐步普及和广泛应用,电子文本逐渐成为人们传递信息、记载重要文件和数据的主要手段之一。而使用计算机进行文字录入编辑,不可避免地会出现一些文字错误,例如丢字、多字、别字、英文单词的拼写错误等等。在出版业,校对(proofread)工作是出版前审核把关的重要环节。而且目前大多采用人工校对的方法,校对工作单调,劳动强度大,效率低,人工校对越来越成为印刷出版自动化的瓶颈。
中文自动校对包含自动查错和自动纠错两个环节。前者是指利用统计或规则的方法发现输入文本中的错误;后者是指为自动查错时侦测出的错误字符串提供修改建议,辅助用户改正错误。本文主要研究了基于统计的字词级的查错方法,并提出了改进的方向。
二、中文文本错误分析
中文文本的录入错误主要有如下几种:
词错:即中文词的输入错误,将词中的某字错录为另一字。中文词分为一字词、二字词、…七字词。经大量的实际文本错误分析发现,这类错误主要表现为一字词错、二字词错和多字词错。对于单字词错,主要使用规则的方法解决;对于多字词错,主要使用词的模糊匹配技术来校正。
多字错:即输入了多余的汉字。这种错误有时表现为该多字与其前或后的字字形相同或字音相同。例如:“我们的社会会是一个法律的社会”,输入了多余的字“会”。这种错误可先用语法分析查出,然后再针对错误类型进行校错。
少字错:即输入中漏掉了一个或几个字。这种错误主要表现为缺少了单字词或一字词。例如:将“法律上完全平等”错录为“法律完全平等”。这种错误可用语法分析的方法查出。
数字错:录入文稿中常见数字错表现为阿拉伯数字错。这种错误可归纳为二类:①对应位置数字错,如“256”错录为“257”;②漏数字,如“43214”错录为“4214”。这类错误是自动校错系统无法解决的错误之一,只能通过与原文对照解决。
英文字母错误:录入文本中常常夹杂着英文。由此发生的错误有如下三类:①少字母,如“student”错录为“studnt”;②多字母,如“happy”错录为“haappy”;③字母错,如“of”录入为“od”T这类错误可通过词匹配和音节片断的矫正技术来解决。
很难解决的错误:这种错误表现为错误语句合乎语法,并且,如果是多字词错,则结果也成词。例如:“扩大利用外资人才外贸易”,“人才”应为“和对”;“年利润为一百多元人民币”,“元”应为万”。
三、中文自动校对的研究状况
目前的中文自动校对方法多是字、词级别上的统计方法,它们使用的语言模型比较简单,利用的语言学知识也不丰富。一方面,中文自动校对方法的性能指标有待提高。另一方面,迄今为止还没有找到一种理论来解决自动校对中的侦错和纠错两个基本过程。
自然语言处理的两类方法:基于规则的方法和基于统计的方法。规则方法最常见的是以一定的形式文法系统来表述自然语言中大小成分间的组合规则;统计方法则以各种统计数据来显示语言成分间的组合可能性。在实际操作上前者的知识来自专家的内省,后者则是由计算机从真实语料中统计得来。
四、自动查错的研究状况
总的来说,目前文本校对的理论和技术都不太成熟,但比较一致的看法是,自动查错和纠错应该在词法、语法和语义3个层次上进行。本文主要研究的是在词法一级进行的自动差错。
(一)分词
在进行文本内容分析之前,首先要对文本进行预处理。也就是对文本进行词的切分,从文本中抽取词汇,即将字串变成词串。这种预处理叫做分词,其目的在于提高确定性。分词是文本自动校对的第一步,占有很重要的地位,是后续语法、语义分析研究的基础。分词的正确率的高低直接影响到校对系统校对质量的高低。
最大概率法分词是一种比较典型基于统计的分词方法。其基本思想是:(1)一个待切分的汉字串可能包含多种分词结果;(2)将其中概率最大的那个作为该汉字串的分词结果。例如:“有意见分歧”这个汉字串,有两种可能的分词结果。Wl:有/意见/分歧和W2:有意,见/分歧。按照最大概率法的思想,就是要比较P(W1)和P(W2),概论更大的词串作为分词的结果。
计算词串w(W1,W2,…,Wn)的概率P(w),最简单的做法是把词串w中的各个词看作互不相干的独立事件,以每个候选词的概率来求得整个词串的概率。这种模型又称为一元模型(1 gram)。公式如下:
P(W)=P(W1,W2,…,Wn)=P(W1)*P(W2)*…*P(Wn)(公式1)
而任何一个词Wi的概率由它在已有语料库中出现的频率来近似估计,即:
P(Wi):Wi在语料库中的出现次数n/语料库中的总词数N(公式2)
根据公式(1)和公式(2),就可以计算出每个词串的概率,进而把概率值最大的那个作为分词结果。
上述一元模型(1 gram)是把各个词简单的看作毫不相关。如果考虑相邻两个词的同现概率,就是二元模型(2一gram),相应地,如果考虑连续三个词的-同现概率,就是三元模型(3 gram),依次直到n元模型(n-gram)。
(二)N元查错模型
早期的基于统计的查错对方法主要使用N元查错模型。英文中通常使用的N元模型主要有词和词性的二元、三元模型,中文里主要有汉字的二元、三元模型。
以词的三元模型为例,设句子(词串)s=W1 W2...Wn,其中Wi是词。当试图判断Wi是否有错时,就是要看不等式P(WilWi-2Wi-1) 其中freq表示词串在语料库中出现的次数,实际使用中通常要通过平滑(折扣或插值)或聚类(词群,词间字模型)等方法解决数据稀疏的问题。一个简单的插值公式如下: P(WiI Wi-2Wi-I)=axPr(Wil Wi-2Wi-1)+bxPr((Wil Wi-1))+cXPr(Wi)