蘇炳均
一、引言
隨著計算機的逐步普及和廣泛應用,電子文本逐漸成為人們傳遞信息、記載重要文件和數(shù)據(jù)的主要手段之一。而使用計算機進行文字錄入編輯,不可避免地會出現(xiàn)一些文字錯誤,例如丟字、多字、別字、英文單詞的拼寫錯誤等等。在出版業(yè),校對(proofread)工作是出版前審核把關的重要環(huán)節(jié)。而且目前大多采用人工校對的方法,校對工作單調(diào),勞動強度大,效率低,人工校對越來越成為印刷出版自動化的瓶頸。
中文自動校對包含自動查錯和自動糾錯兩個環(huán)節(jié)。前者是指利用統(tǒng)計或規(guī)則的方法發(fā)現(xiàn)輸入文本中的錯誤;后者是指為自動查錯時偵測出的錯誤字符串提供修改建議,輔助用戶改正錯誤。本文主要研究了基于統(tǒng)計的字詞級的查錯方法,并提出了改進的方向。
二、中文文本錯誤分析
中文文本的錄入錯誤主要有如下幾種:
詞錯:即中文詞的輸入錯誤,將詞中的某字錯錄為另一字。中文詞分為一字詞、二字詞、…七字詞。經(jīng)大量的實際文本錯誤分析發(fā)現(xiàn),這類錯誤主要表現(xiàn)為一字詞錯、二字詞錯和多字詞錯。對于單字詞錯,主要使用規(guī)則的方法解決;對于多字詞錯,主要使用詞的模糊匹配技術來校正。
多字錯:即輸入了多余的漢字。這種錯誤有時表現(xiàn)為該多字與其前或后的字字形相同或字音相同。例如:“我們的社會會是一個法律的社會”,輸入了多余的字“會”。這種錯誤可先用語法分析查出,然后再針對錯誤類型進行校錯。
少字錯:即輸入中漏掉了一個或幾個字。這種錯誤主要表現(xiàn)為缺少了單字詞或一字詞。例如:將“法律上完全平等”錯錄為“法律完全平等”。這種錯誤可用語法分析的方法查出。
數(shù)字錯:錄入文稿中常見數(shù)字錯表現(xiàn)為阿拉伯數(shù)字錯。這種錯誤可歸納為二類:①對應位置數(shù)字錯,如“256”錯錄為“257”;②漏數(shù)字,如“43214”錯錄為“4214”。這類錯誤是自動校錯系統(tǒng)無法解決的錯誤之一,只能通過與原文對照解決。
英文字母錯誤:錄入文本中常常夾雜著英文。由此發(fā)生的錯誤有如下三類:①少字母,如“student”錯錄為“studnt”;②多字母,如“happy”錯錄為“haappy”;③字母錯,如“of”錄入為“od”T這類錯誤可通過詞匹配和音節(jié)片斷的矯正技術來解決。
很難解決的錯誤:這種錯誤表現(xiàn)為錯誤語句合乎語法,并且,如果是多字詞錯,則結(jié)果也成詞。例如:“擴大利用外資人才外貿(mào)易”,“人才”應為“和對”;“年利潤為一百多元人民幣”,“元”應為萬”。
三、中文自動校對的研究狀況
目前的中文自動校對方法多是字、詞級別上的統(tǒng)計方法,它們使用的語言模型比較簡單,利用的語言學知識也不豐富。一方面,中文自動校對方法的性能指標有待提高。另一方面,迄今為止還沒有找到一種理論來解決自動校對中的偵錯和糾錯兩個基本過程。
自然語言處理的兩類方法:基于規(guī)則的方法和基于統(tǒng)計的方法。規(guī)則方法最常見的是以一定的形式文法系統(tǒng)來表述自然語言中大小成分間的組合規(guī)則;統(tǒng)計方法則以各種統(tǒng)計數(shù)據(jù)來顯示語言成分間的組合可能性。在實際操作上前者的知識來自專家的內(nèi)省,后者則是由計算機從真實語料中統(tǒng)計得來。
四、自動查錯的研究狀況
總的來說,目前文本校對的理論和技術都不太成熟,但比較一致的看法是,自動查錯和糾錯應該在詞法、語法和語義3個層次上進行。本文主要研究的是在詞法一級進行的自動差錯。
(一)分詞
在進行文本內(nèi)容分析之前,首先要對文本進行預處理。也就是對文本進行詞的切分,從文本中抽取詞匯,即將字串變成詞串。這種預處理叫做分詞,其目的在于提高確定性。分詞是文本自動校對的第一步,占有很重要的地位,是后續(xù)語法、語義分析研究的基礎。分詞的正確率的高低直接影響到校對系統(tǒng)校對質(zhì)量的高低。
最大概率法分詞是一種比較典型基于統(tǒng)計的分詞方法。其基本思想是:(1)一個待切分的漢字串可能包含多種分詞結(jié)果;(2)將其中概率最大的那個作為該漢字串的分詞結(jié)果。例如:“有意見分歧”這個漢字串,有兩種可能的分詞結(jié)果。Wl:有/意見/分歧和W2:有意,見/分歧。按照最大概率法的思想,就是要比較P(W1)和P(W2),概論更大的詞串作為分詞的結(jié)果。
計算詞串w(W1,W2,…,Wn)的概率P(w),最簡單的做法是把詞串w中的各個詞看作互不相干的獨立事件,以每個候選詞的概率來求得整個詞串的概率。這種模型又稱為一元模型(1 gram)。公式如下:
P(W)=P(W1,W2,…,Wn)=P(W1)*P(W2)*…*P(Wn)(公式1)
而任何一個詞Wi的概率由它在已有語料庫中出現(xiàn)的頻率來近似估計,即:
P(Wi):Wi在語料庫中的出現(xiàn)次數(shù)n/語料庫中的總詞數(shù)N(公式2)
根據(jù)公式(1)和公式(2),就可以計算出每個詞串的概率,進而把概率值最大的那個作為分詞結(jié)果。
上述一元模型(1 gram)是把各個詞簡單的看作毫不相關。如果考慮相鄰兩個詞的同現(xiàn)概率,就是二元模型(2一gram),相應地,如果考慮連續(xù)三個詞的-同現(xiàn)概率,就是三元模型(3 gram),依次直到n元模型(n-gram)。
(二)N元查錯模型
早期的基于統(tǒng)計的查錯對方法主要使用N元查錯模型。英文中通常使用的N元模型主要有詞和詞性的二元、三元模型,中文里主要有漢字的二元、三元模型。
以詞的三元模型為例,設句子(詞串)s=W1 W2...Wn,其中Wi是詞。當試圖判斷Wi是否有錯時,就是要看不等式P(WilWi-2Wi-1) 其中freq表示詞串在語料庫中出現(xiàn)的次數(shù),實際使用中通常要通過平滑(折扣或插值)或聚類(詞群,詞間字模型)等方法解決數(shù)據(jù)稀疏的問題。一個簡單的插值公式如下: P(WiI Wi-2Wi-I)=axPr(Wil Wi-2Wi-1)+bxPr((Wil Wi-1))+cXPr(Wi)