專利名稱:基于漢字形狀的中文單詞拼寫錯誤校正方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于漢字形狀的中文單詞拼寫錯誤校正方法。具體來說,本發(fā)明對出現(xiàn)在中文文本中的單詞錯誤,通過對其漢字形狀的分析,找出相對應(yīng)的正確單詞,從而達到拼寫校正的目的。本發(fā)明可用于文字處理軟件、機器翻譯系統(tǒng)的中文單詞拼寫錯誤的校正,屬于中文自然語言處理技術(shù)領(lǐng)域。
背景技術(shù):
中文拼寫錯誤校正是處理中文文字資料應(yīng)用軟件中不可缺少的一項重要功能,在中文自然語言處理領(lǐng)域中有非常重要的應(yīng)用價值。(參見專利CN1116343A,申請?zhí)?4109394.8、CN1116342A,申請?zhí)?4107348.3)。
在中文計算機文字處理中,最基本單位的是漢字。漢字通過使用很多不同種類的中文輸入法輸入到計算機中,輸入到計算機中的漢字,作為孤立的單字來說,漢字是正確的,不會有錯字的情況發(fā)生。在中文計算機文字處理中只有誤字,或是只有別字的情況發(fā)生。經(jīng)常發(fā)生在手寫文本中的漢字書寫錯字絕不會被發(fā)生在計算機文本中。因此,中文拼寫錯誤檢查和校正的主要目的是指校正中文本中的別字。
我們比較中文和英文拼寫錯誤校正方法之間的不同之處可知,英文單詞的基本單位是字母,一個單詞是由一系列字母組成。英文拼寫的錯誤可能發(fā)生在某個字母,將正確的單詞與有拼寫錯誤單詞的字母序列相比較,可以找出正確的英文單詞,從而可以校正錯誤。錯誤單詞校正的算法可以使用最小編輯距離或者其他語言模型的算法來校正和建議最準(zhǔn)確的正確單詞。
中文單詞拼寫錯誤校正的過程可分為兩個步聚,首先,識別錯誤單詞,其次,校正錯誤。識別錯誤單詞最常用的方法是與一個巨大的中文詞匯表相比較,如果該單詞不在詞匯表中,該單詞可能是錯誤的單詞。還有很多其它方法如根據(jù)上下文特征、文法規(guī)則和統(tǒng)計等都可用來查出錯誤的單詞。
中文單詞錯誤校正的第二個步聚最準(zhǔn)確的單詞替換錯誤的單詞。目前,現(xiàn)有的一種方法是通過使用錯誤詞匯表的形式,將所有可能產(chǎn)生的拼寫錯誤列出來并同時給出正確的單詞與之對應(yīng),從而對錯誤的單詞進行校正,如專利CN1116343A(中請?zhí)?4109394.8)。然而,出現(xiàn)拼寫的錯誤是千差萬別的,我們不可能列舉出所有形式的單詞拼寫錯誤,因而這種方法有一定的局限性。另外,有許多的漢語單詞拼寫錯誤檢查和校正的方法集中于基于上下文相關(guān)的原理進行拼寫錯誤校正,如專利、CN1116342A(申請?zhí)?4107348.3)。這種方法充分利用上下文信息決定哪個字在正文內(nèi)是不合適的或者是錯誤的,將錯誤漢字前后的數(shù)個漢字之間的相關(guān)性來校正錯誤?;谏舷挛南嚓P(guān)進行拼寫錯誤校正的方法通過使用上下文本特征、詞句特征、文法規(guī)則和統(tǒng)計結(jié)果來校正拼寫錯誤。在這些方法中,主要著重于對于句子的研究,而對漢字本身所包含的信息則不加以考慮。
由于中文單詞是兩個漢字或多個漢字是組成的,其中兩個漢字組成的單詞占90%左右。如果某個由兩個漢字組成的單詞是錯誤的,其錯誤可能發(fā)生在第一個漢字或者第二個漢字。兩種漢字錯誤發(fā)生的可能性都有百分之五十的機會,在這種情況下,僅僅通過使用上下文相關(guān)的方法來校正錯誤是很困難的。例如,在正文中有一句“錯誤的方法”,如果輸入到計算機后產(chǎn)生了一個錯誤為“錯識的方法”,用上述上下文相關(guān)的方法會把單詞校正成“錯誤”或者“認(rèn)識”,因而只有百分之五十的機會通過校正得出正確的單詞。而通過形狀比較我們則可以發(fā)現(xiàn),“識”字和“誤”字兩者在形狀上十分相似,而“錯”字與“認(rèn)”字兩者之間的形狀則相差甚遠(yuǎn),通過字形分析,我們將有十分把握地得出正確的單詞,如上例中,其正確的單詞為“錯誤”而不是“認(rèn)識”。再舉一例,如上例中的單詞,如果兩個漢字全部錯了,將“錯誤”一詞錯誤地輸入成了“借識”,用上下文相關(guān)的方法就根本無法校正這種類型的單詞錯誤。通過字形分析,因為“借識”與“錯誤”在字形上十分相似,我們?nèi)匀荒軌蛲ㄟ^校正得出正確的單詞。
由于中文是一種象形表意文字語言,漢字本身已經(jīng)包含很多信息。中文單詞由一個或更多漢字組成。我們將中文與英文相比較可發(fā)現(xiàn),在現(xiàn)有的計算機中字母是組成英文單詞的最小單位,而漢字是組成中文單詞的最小單位。但是,漢字本身比英文字母包含了更多的語言信息,因而,僅僅將漢字作為最基本的單位是不合理的。通常一個漢字是一個漢語單詞。
雖然在漢字有很多不同的形狀,但是一些組成全部漢字的基本的形狀是的相同。為了分析漢字的形狀和特點,一個漢字可分解為幾個更小的基本形狀。這些基本形狀能組成全部漢字。它們相當(dāng)于英文中的詞根,在漢語中起著在重要的作用。如英文字根對其組成的英文單詞提供了基本的詞義一樣,中文字根對其組成的漢字也提供了基本的詞義,如有些字根可以表達漢字意思或者漢字的發(fā)音等。漢字不僅僅在句子中作為表示語義的基本的符號,而且它本身的也包括表明該字的意義、發(fā)音的形狀。根據(jù)漢字的形狀常??梢酝茰y出該字的意義、發(fā)音。
中文單詞的拼寫錯誤可以分為以混淆漢字的形狀、發(fā)音和意義的三大類錯誤,錯誤經(jīng)常發(fā)生在字形相似、發(fā)音相似和意義相似的情形,最終都表現(xiàn)為某種漢字形狀的相似。在這些拼寫錯誤中,不管是混淆漢字的形狀、發(fā)音還是意義的錯誤,其錯誤的單詞與正確的單詞之間在形狀上表現(xiàn)為字形相似的關(guān)系。
為了校正中文中的錯誤單詞,我們通過形狀的分析,可以校正由字形、發(fā)音和意義上混淆而產(chǎn)生的錯誤。根據(jù)錯誤單詞與正確單詞之間在形狀上相似關(guān)系,可以找出形狀相似的正確單詞來替換錯誤單詞。如在上面的那些例子中,錯誤單詞“錯識”、“借識”與正確的單詞“錯誤”有相似形狀,因此,通過形狀分析可找出并校正拼寫錯誤。因此,漢字的形狀分析在中文的拼寫錯誤校正方面是十分有效的。
發(fā)明內(nèi)容
從中文拼寫錯誤的分析中,大多數(shù)錯誤以在相似的字形、發(fā)音或意義的形式發(fā)生。錯誤單詞正確單詞比較,其形狀有一定的相似。本發(fā)明中提出了一種基于漢字形狀的中文單詞拼寫錯誤校正方法。該方法為解決中文拼寫錯誤、校正提供了一個新的途徑,可用于機器翻譯和中文自然語言處理技術(shù)領(lǐng)域。本發(fā)明的方法如下。
對出現(xiàn)在中文文本中的拼寫錯誤,通過對其漢字形狀的分析,找出相對應(yīng)的正確單詞,從而達到拼寫校正的目的。
由于直接對漢字的形狀進行分析比較是比較困難的,漢字?jǐn)?shù)量龐大,漢字形狀各異,不適用于計算機進行處理。而經(jīng)過進一步的分析可知,漢字形狀的相似表現(xiàn)為字根的相同或者是相似。因而,直接對漢字的形狀進行分析比較可以轉(zhuǎn)化為將漢字分解為一系列的漢字字根進行比較。通過比較錯誤單詞字根序列與正確單詞字根序列的相似關(guān)系來找出正確單詞替換錯誤單詞。本發(fā)明將中文單詞全部分解為一組字根符號庫,把漢字和單詞分解到字根符號序列來分析漢字的形狀,通過計算中文單詞根符號之間的相似程度在數(shù)據(jù)庫中查出最合適替換錯誤單詞的正確單詞。
技術(shù)方案如下首先將正確的中文詞庫分解為字根符號序列庫,同時將錯誤單詞根據(jù)其漢字也分解為字根符號序列,將錯誤單詞形狀與正確單詞形狀的比較轉(zhuǎn)化為對字根符號序列相似性的比較,并通過計算字根符號序列之間的相似程度,在正確的中文詞庫中查出最準(zhǔn)確的單詞來校正并替換錯誤的單詞。
本發(fā)明可用于文字處理軟件、機器翻譯系統(tǒng)的中文單詞拼寫錯誤的校正,實驗已經(jīng)證明這種方法對于中文單詞拼寫錯誤校正是有效的和可行的。它成功地校正了中文單詞形狀混淆的錯誤。
本發(fā)明的新穎性在于本發(fā)明提出了從錯誤單詞本身的形狀信息發(fā)現(xiàn)并找出正確的單詞的方法,著重于用漢字本身所包含的信息校正中文拼寫錯誤,克服了僅僅通過使用上下文相關(guān)、詞句特征、文法規(guī)則和統(tǒng)計結(jié)果來校正拼寫錯誤的局限性,提出了從根本上解決校正中文單詞拼寫錯誤的新途徑。
本發(fā)明的創(chuàng)造性在于(1)可以從錯誤單詞本身的形狀信息發(fā)現(xiàn)并找出正確的單詞。
(2)通過使用基本漢字字根,將全部漢字單詞分解為中文字根符號序列。
漢字的形狀分析比較可以從字根符號序列的分析比較入手,使?jié)h字形狀的比較在中文單詞拼寫錯誤校正中易于實現(xiàn)(3)中文字根符號序列用于拼寫錯誤校正,單詞的拼寫錯誤的校正轉(zhuǎn)變?yōu)樽指栃蛄械腻e誤校正。
(4)與上下文有關(guān)方法相比較,由于中文字根符號作為漢語單詞的基本單位,可以得到更多的信息,因此,它能得到更準(zhǔn)確的結(jié)果。
本發(fā)明的實用性在于基于漢字的形狀中文拼寫錯誤校正方法能檢查并且校正在中文的單詞的拼寫的錯誤。實驗表明該發(fā)明在拼寫錯誤校正和在中文自然語言處理中是可行的和有效率的。它在機器翻譯和中文自然語言處理領(lǐng)域有重要的實際的應(yīng)用價值。
具體實施例方式
校正拼寫錯誤的具體實施方法是比較錯誤單詞與正確單詞的字根符號序列。由于錯誤單詞和正確單詞的有很多形狀相似部分,通過錯誤的單詞的形狀可查出正確的單詞。形狀相同的部分經(jīng)常表現(xiàn)為字根符號的相同或相似,單詞拼寫錯誤表現(xiàn)為字根符號的錯誤,因此,校正拼寫錯誤的方法是校正字根序列中的錯誤字根符號。
具體實施方式
如下步驟1確定漢字的基本字根符號集組成漢字的基本字根符號集由基本筆畫和基本字根集組成。漢字基本字根較少,在200到300個左右。字根可以在中文字典中找到。下表是字根的例子。
表1.字根符號表集
步驟2將漢字分解成字根序列為了把中文單詞分解成字根,首先必須分解漢字。漢字可根據(jù)其結(jié)構(gòu)和書寫順序分解成為筆畫和字根。單個的漢字可分解為表1中的字根符號序列。符號序列的順序可以根據(jù)其在漢字中位置而定。規(guī)則是從上到下、從外到里面以及從左到右,與書寫漢字的順序相同。表2是漢字分解的例子。
表2.漢字分解為一字根符號序列
步驟3將中文單詞分解成字根序列當(dāng)漢字分解為字根符號序列后,把單詞分解為字根符號序列就很簡單了。準(zhǔn)備一個全部正確的單詞的列表。根據(jù)組成中文單詞中的漢字,中文單詞就可分解為的字根符號序列。表3是幾個單詞分解的例子。
表3.漢字單詞分解為一字根符號序列.
步驟4基于漢字形狀的中文單詞拼寫錯誤校正的算法輸入錯誤的單詞輸出正確的單詞第1步輸入錯誤的單詞。
第2步根據(jù)單詞的漢字將解錯誤的單詞分解為一字根符號序列。
第3步將字根符號序列與正確的詞匯表中的字根符號序列數(shù)據(jù)庫比較,在數(shù)據(jù)庫內(nèi)查出形狀相似程度最高的字根符號序列。
第4步查出的該字根符號序列相對應(yīng)的單詞。
第5步輸出正確的單詞。
在以上的算法第3步中,我們要算出兩個中文字根序列之間的相似程度。下面是字根符號序列相似程度比較方法步驟5字根符號序列相似程度比較方法如果有兩個字根符號序列,A和B,A和B分別表示兩個中文單詞的字根符號序列,A由{a1,a2,a3,a4,...,an}組成,B由{b1,b2,b3,b4,...,bm}組成。下面給出求解兩個字根符號的相似程度的方法。
第1步,定義形狀相似程度MSD形狀相似程度MSD(ai,bj)表示字根ai,與字根bj的相似程度,用數(shù)字0到無窮大的正數(shù)來表示,數(shù)字越小,表示其相似程度越高。
第2步,確定兩字根的相似程度(1)如果A中的某個字根與B中的字根完全相同,則其相似程度為0。例如A中的“日”字根與B中的“日”字根是完全相同的,所以相似程度為0。
(2)如果A中的某個字根與B中的字根相似,則其相似程度為0.1至0.5。
(3)如果A中的某個字根與B中的不同,則其相似程度為1。
第3步,確定兩字根符號序列的相似程度(1)定義字根符號與零字根的相似程度,任一字根與零字根的相似程度為其在序列中的位置序號。如a1在A序列中的位置為1,所以a1與零字根的相似程度為1。
(2)將A中的字根符號ai與B序列中的字根符號bj一一比較,A中的字根符號ai與B中的字根符號bj的相似程度MSD(ai,bj)為MSD(ai,bj)=MIN(MSD(ai-1,bj)+1,MSD(ai,bj-1)+1,MSD(ai-1,bj-1)+MSD(ai,bj)(3)A中的字根符號an與B序列中的字根符號bm的相似程度MSD(an,bm)即兩字根符號序列的相似程度。
第4步,字根符號序列相似程度比較方法舉例我們舉例說明如下,晶休為“日日日亻木”。晶體為“日日日亻木一”與“日日日亻木”,根據(jù)前述算法,我們可算出形狀相似程度MSD(晶休,晶體)=1。
表4.相似程度計算表
實例說明我們舉例說明上述的方法。假定我們已經(jīng)查出一個錯誤的單詞“晶休”,該詞是不在正確的詞匯表內(nèi)的單詞,因而是錯誤的單詞。根據(jù)上述的算法,我們采用以下的步聚。
第1步輸入錯誤單詞“晶休”。
第2步將錯誤單詞根據(jù)其漢字分解為一字根符號序列,“日日日亻木”。
第3步將字根符號序列與正確的詞匯表中的字根符號序列數(shù)據(jù)庫比較,在正確的詞匯表內(nèi)查出最相似字根符號序列。我們找到有一符號序列“日日日亻木一”與“日日日亻木”最相近。
第4步將查出的字根符號序列轉(zhuǎn)換成單詞。符號序列“日日日亻木一”對應(yīng)的單詞是“晶體”。
第5步輸出正確詞“晶體”。
權(quán)利要求
1.一種基于漢字形狀的中文單詞拼寫錯誤校正方法,其特征是接收具有拼寫錯誤的中文單詞,將錯誤中文單詞的漢字形狀與正確中文單詞庫的漢字形狀的進行相似性比較,查出與有拼寫錯誤的中文單詞形狀相似程度最高的正確中文單詞,用該正確的中文單詞替換有拼寫錯誤的中文單詞,校正錯誤中文單詞的拼寫錯誤。
2.根據(jù)權(quán)利要求1所述的方法,其特征是上述方法具有一個正確的中文單詞庫。
3.根據(jù)權(quán)利要求1所述的方法,其特征是在上述方法中,正確的中文單詞庫分解為字根符號序列庫,錯誤單詞根據(jù)其漢字也分解為字根符號序列。
4.根據(jù)權(quán)利要求3所述的方法,其特征是上述方法包含一個由基本筆畫和基本字根集組成的漢字的基本字根符號集。
5.根據(jù)權(quán)利要求3所述的方法,其特征是漢字可根據(jù)其結(jié)構(gòu)和書寫順序分解成為字根符號序列。
6.根據(jù)權(quán)利要求1所述的方法,其特征是在上述方法中,錯誤中文單詞的漢字形狀與正確中文單詞庫的漢字形狀的相似性比較,是采用錯誤單詞的字根符號序列與正確的中文單詞庫的字根符號序列庫進行相似性比較。
7.根據(jù)權(quán)利要求1所述的方法,其特征是在上述方法中,包含一個基于漢字形狀的中文單詞拼寫錯誤校正的算法,輸入錯誤的單詞,輸出正確的單詞。
8.根據(jù)權(quán)利要求7所述的方法,其特征是在上述方法中,包含一個計算字根符號序列之間的中文單詞形狀的相似性程度算法,計算正確的中文詞庫的中文單詞與有拼寫錯誤單詞相似程度。
全文摘要
一種基于漢字形狀的中文單詞拼寫錯誤校正方法。本發(fā)明的目的是對出現(xiàn)在中文文本中的拼寫錯誤,通過對其漢字形狀的分析,找出相對應(yīng)的正確單詞,從而達到拼寫校正的目的。技術(shù)方案如下首先將正確的中文詞庫分解為字根符號序列庫,同時將錯誤單詞根據(jù)其漢字也分解為字根符號序列,將錯誤單詞形狀與正確單詞形狀的比較轉(zhuǎn)化為對字根符號序列相似性的比較,并通過計算字根符號序列之間的相似程度,在正確的中文詞庫中查出相似程度最高的單詞來校正并替換錯誤的單詞。本發(fā)明可用于文字處理軟件、機器翻譯等系統(tǒng)的中文單詞拼寫錯誤的校正。本發(fā)明屬于中文自然語言處理技術(shù)領(lǐng)域。
文檔編號G06F17/27GK1484173SQ03152718
公開日2004年3月24日 申請日期2003年8月10日 優(yōu)先權(quán)日2003年8月10日
發(fā)明者盧小林 申請人:盧小林