周 原
(閩江師范高等專科學(xué)校 數(shù)字信息工程學(xué)院,福建 福州 350018)
近年來,互聯(lián)網(wǎng)與計(jì)算機(jī)技術(shù)的應(yīng)用使人們快速進(jìn)入了信息時(shí)代,人們的日常生產(chǎn)生活大多依賴于網(wǎng)絡(luò)通信,在該背景下,自然語言處理技術(shù)應(yīng)運(yùn)而生并不斷在諸多領(lǐng)域普及[1].作為一種新興學(xué)科,自然語言處理對(duì)智能化的發(fā)展具有重要意義,自然語言處理為文本糾錯(cuò)提供了新的技術(shù)支撐,使文本糾錯(cuò)的質(zhì)量和效率有了明顯的提高.隨著新聞媒體、期刊雜志等文字工作領(lǐng)域的不斷發(fā)展,文字糾錯(cuò)的工作量也越來越大,但由于傳統(tǒng)的人工糾錯(cuò)難以保證糾錯(cuò)的質(zhì)量,且糾錯(cuò)速度較慢,已不能滿足目前出版等行業(yè)領(lǐng)域的工作效率要求,因此文本自動(dòng)糾錯(cuò)在諸多行業(yè)廣泛應(yīng)用,通過文本糾錯(cuò)系統(tǒng)規(guī)范文本內(nèi)容,可以提升整體的文本質(zhì)量,實(shí)現(xiàn)智能糾錯(cuò),在減少大量人為工作量的同時(shí),能夠使糾錯(cuò)的準(zhǔn)確率大幅提高[2].糾錯(cuò)系統(tǒng)能夠基于規(guī)則,語言學(xué)等方法的結(jié)合,實(shí)現(xiàn)對(duì)字詞、語法、語義的糾錯(cuò),對(duì)文本內(nèi)容進(jìn)行分詞和標(biāo)注,通過上下文語境輸出錯(cuò)誤結(jié)果,根據(jù)知識(shí)庫智能化比對(duì)文本內(nèi)容,實(shí)現(xiàn)文本錯(cuò)誤的識(shí)別和糾錯(cuò).本文基于自然語言處理設(shè)計(jì)糾錯(cuò)系統(tǒng)架構(gòu),通過建立語言知識(shí)庫,描述自然語言的上下位關(guān)系、同義反義關(guān)系等;制定語句合成規(guī)則等步驟實(shí)現(xiàn)文本的糾錯(cuò),以期為提高糾錯(cuò)系統(tǒng)的文本處理功能,提升文本糾錯(cuò)的準(zhǔn)確率和工作效率提供重要的參考依據(jù).
本文糾錯(cuò)系統(tǒng)的功能實(shí)現(xiàn)需要依賴于知識(shí)庫和數(shù)據(jù)的支持,因此在本文糾錯(cuò)系統(tǒng)架構(gòu)設(shè)計(jì)中,首先需要建立語言知識(shí)庫.語言知識(shí)庫和語料庫是實(shí)現(xiàn)自然語言處理的基礎(chǔ),語料庫用于存放語言材料,基于大量的語言材料進(jìn)行語言規(guī)律的探索,并用計(jì)算機(jī)語言量化出來實(shí)現(xiàn)對(duì)語言的處理和糾錯(cuò)[3].本文糾錯(cuò)系統(tǒng)架構(gòu)主要涉及的語種為漢語和英語,在雙語語種的基礎(chǔ)上,經(jīng)過對(duì)文字語言的加工處理,標(biāo)注特定信息,形成標(biāo)注語料庫.語言知識(shí)庫將語言知識(shí)存于語料庫中,對(duì)各語言單元的用法和范疇等進(jìn)行明確的定義,對(duì)文字序列通過對(duì)文本的標(biāo)注,顯示文字內(nèi)在的語義,便于機(jī)器學(xué)習(xí).本文語言知識(shí)庫涵蓋了豐富的語言單位和語言層面,包括詞組、句子、語法、句法以及語義等.基于漢語文本從通用領(lǐng)域向?qū)I(yè)領(lǐng)域發(fā)散,提取有用信息并結(jié)合語言規(guī)則,實(shí)現(xiàn)對(duì)自然語言的處理.本文建立的語言知識(shí)庫充分體現(xiàn)知識(shí)網(wǎng)理論,描述自然語言的上下位關(guān)系、同義反義關(guān)系等,其庫中包括中英文知識(shí)詞典、中文繁體知識(shí)詞典、詞類表、標(biāo)志符號(hào)與說明等數(shù)據(jù)文件和程序,語言知識(shí)庫以詞語概念和語義為基礎(chǔ),從而為后文的語義語句判定提供數(shù)據(jù)來源,滿足自然語言處理的需求.
在本文糾錯(cuò)系統(tǒng)架構(gòu)設(shè)計(jì)中,需要構(gòu)建語句規(guī)則,實(shí)現(xiàn)對(duì)語句的分析和錯(cuò)誤檢測(cè).首先構(gòu)建二元句法合成規(guī)則,利用上文構(gòu)建的語言知識(shí)庫,對(duì)文本中各詞性類別進(jìn)行分類和標(biāo)注,根據(jù)字符串序列,得到詞元串,具體表示為:
Q′=s1|e1,s2|e2,s3|e3,…si-1|ei,si+1|ei+1,…,sn|en
(1)
式中,si為詞性,“|”前的si為分詞后的最小單元詞元,“|”后的ei為當(dāng)前最適宜的詞性.由于漢語的自然屬性與英語等其他語種不同,漢語的分詞不存在分隔符,在句式結(jié)構(gòu)上屬于分析化和結(jié)構(gòu)化語言,因此本文通過漢語詞語搭配原則對(duì)句法形式和組織信息進(jìn)行語法句法的解讀,將上文中的詞性標(biāo)記集和語言規(guī)則結(jié)構(gòu),構(gòu)成二元句法合成規(guī)則集.在中文句式結(jié)構(gòu)搭配中,除了常見的二元句法,還存在三元句法,因此還需要進(jìn)行三元句法合成規(guī)則的制定,構(gòu)建三元句法合成規(guī)則文本庫[4],該庫的實(shí)現(xiàn)與二元句法合成規(guī)則集相似,但由于三元句法的解析過程為三元詞之間的組合,在一般情況下,中文句式中的詞性搭配遵循左右詞性相同的原則,并以連詞為連接紐帶,并充分考慮中文句式間的修飾關(guān)系,中文句子成分的掃描按照從后向前的匹配規(guī)則進(jìn)行,經(jīng)過掃描選出詞性后與最新詞性進(jìn)行匹配,在語言規(guī)則和詞性標(biāo)記集的結(jié)合下完成對(duì)三元詞匯規(guī)則構(gòu)建.
本文基于上文的規(guī)則角度,對(duì)自然語言進(jìn)行句法的分析和文字錯(cuò)誤識(shí)別功能的設(shè)計(jì),并通過語法和統(tǒng)計(jì)得出句式分解規(guī)則,二元詞匯間的修飾與三元詞匯間的修飾相比,其修飾關(guān)系更加復(fù)雜,因此在進(jìn)行語言材料文本的遍歷時(shí),優(yōu)先遍歷二元規(guī)則集,從而得到語句的解析.XML格式數(shù)據(jù)能夠?qū)崿F(xiàn)多種格式數(shù)據(jù)的轉(zhuǎn)換,因此將語言分析結(jié)果轉(zhuǎn)為XML格式,將語句解析過程轉(zhuǎn)化為能夠識(shí)別的結(jié)構(gòu)格式,進(jìn)行可視化展示,進(jìn)行文字錯(cuò)誤的識(shí)別[5].在文字錯(cuò)誤的識(shí)別中,對(duì)錯(cuò)別字的成因類型進(jìn)行分析與劃分,主要包括音近且形近,音近但不形近以及不音近但形近三種類型,文字錯(cuò)誤的識(shí)別是為后續(xù)自然語言處理和糾錯(cuò)提供支撐,直接影響著后文的糾錯(cuò)準(zhǔn)確性.對(duì)文字錯(cuò)誤的識(shí)別首先需要檢測(cè)出疑似存在錯(cuò)別字的字串,由于中文的錯(cuò)別字識(shí)別需要充分考慮漢字的上下文關(guān)系以及表達(dá)意圖,詞作為最小的獨(dú)立運(yùn)行的語言單位沒有詞邊界的標(biāo)識(shí),因此通過當(dāng)前文字與上下文連接緊密程度判斷句子中的用詞規(guī)范性,在給定一個(gè)完成自動(dòng)分詞的句子,并利用上下文特征,通過散串方法抽取低頻散串元組,排查句子中可能存在錯(cuò)誤的漢字串,利用互信息抽取句子中關(guān)聯(lián)度較低的句子,其關(guān)聯(lián)程度的計(jì)算公式為:
(2)
式中,I(pi,pi+1)為句子中用詞的互信息,表示兩個(gè)相鄰詞的關(guān)聯(lián)程度,pi和pi+1為相鄰的兩個(gè)詞,提取錯(cuò)誤的上下文關(guān)系,得到疑似存在錯(cuò)別字的串,將漢字串轉(zhuǎn)化為拼音串,生成相似的拼音候選,從而對(duì)拼音串進(jìn)行再次解碼,得到新的漢字串,輸出錯(cuò)別字的識(shí)別結(jié)果.
最后基于自然語言處理構(gòu)建糾錯(cuò)模型,實(shí)現(xiàn)糾錯(cuò)系統(tǒng)的文字糾正功能.與英文文本相比,由于中文文本的錄入是通過編碼實(shí)現(xiàn)的,因此其非規(guī)范表述的形式較為復(fù)雜,為糾錯(cuò)系統(tǒng)帶來了較大的工作難度,為解決這一問題,在中文文本的糾錯(cuò)中,需要先將漢字轉(zhuǎn)化成五筆編碼,進(jìn)行編碼輸入再解碼成漢字,結(jié)合上下文語境以及二元模型進(jìn)行糾錯(cuò)[6].在進(jìn)行文本錯(cuò)誤識(shí)別后,利用本文的語言知識(shí)庫,對(duì)文本中的詞語搭配關(guān)系進(jìn)行深層次的分析,并以此為基礎(chǔ),獲取詞語的搭配,根據(jù)詞語搭配進(jìn)行同音詞的糾錯(cuò).在漢字串轉(zhuǎn)換為拼音串后,對(duì)拼音流進(jìn)行自動(dòng)分詞,實(shí)現(xiàn)對(duì)拼音串解碼的預(yù)處理,在候選拼音串的解碼過程中,根據(jù)給定的觀察序列進(jìn)行解碼,而后通過與訓(xùn)練語言材料的匹配,具體解碼后得到的最佳匹配串表達(dá)式為:
w′=argmaxs(w|k,λ)[
(3)
式中,w′為選出的最佳匹配串,k為經(jīng)過加工的拼音串序列,w為當(dāng)下拼音串下某個(gè)可能的漢字串,考慮上下文語境關(guān)系以及訓(xùn)練語言材料中的頻率分布.在模型訓(xùn)練階段,由于訓(xùn)練語言材料的覆蓋范圍存在著一定的局限性[7],因此不能將全部的語言現(xiàn)象進(jìn)行完整地描述,從而出現(xiàn)數(shù)據(jù)稀疏情況,利用平滑方法將所有出現(xiàn)的字符串分配一個(gè)非零的概率值,計(jì)算候選串概率,具體公式為:
(4)
式中,ti為時(shí)間,根據(jù)該概率模型的應(yīng)用,將生成的概率最大的候選串與原文相結(jié)合,得出正確的句子,完成糾錯(cuò).
為驗(yàn)證本文設(shè)計(jì)的糾錯(cuò)系統(tǒng)架構(gòu)能否較為完整地實(shí)現(xiàn)對(duì)文本錯(cuò)誤的識(shí)別和糾錯(cuò),并具有較高的召回率和準(zhǔn)確率,在對(duì)文本錯(cuò)誤類型進(jìn)行劃分和研究后,確定了占文本錯(cuò)誤類型的85%的本文錯(cuò)誤作為系統(tǒng)糾錯(cuò)的研究對(duì)象,具體的糾錯(cuò)系統(tǒng)架構(gòu)設(shè)計(jì)如圖1所示.
圖1 糾錯(cuò)系統(tǒng)架構(gòu)
由圖1可知本文具體的糾錯(cuò)系統(tǒng)架構(gòu)設(shè)計(jì),在進(jìn)行糾錯(cuò)前,首先對(duì)模型、上下文語境、漢語搭配等預(yù)備資源進(jìn)行訓(xùn)練,將本文構(gòu)建的二元規(guī)則集,三元規(guī)則集,文本知識(shí)庫以及糾錯(cuò)模型等數(shù)據(jù)存入系統(tǒng)的本地文件,輸入文本后進(jìn)行數(shù)據(jù)預(yù)處理,實(shí)現(xiàn)自動(dòng)分詞和詞性標(biāo)注,判斷字字接續(xù),詞性接續(xù),再通過同音詞以及上下文語境進(jìn)行局部的同音詞糾錯(cuò),并利用漢語搭配發(fā)現(xiàn)遠(yuǎn)距離錯(cuò)誤,達(dá)到字詞級(jí)糾錯(cuò)目的.各模塊工作順序如圖2所示.
圖2 各模塊工作流程圖
由圖2可知,在一個(gè)句子分析完成后,可繼續(xù)向下查看選中的輸入文本是否順利處理,給出文本錯(cuò)誤出處與結(jié)果,提出糾錯(cuò)建議,基于錯(cuò)誤集進(jìn)行長(zhǎng)詞糾錯(cuò),經(jīng)過模型處理后形成糾錯(cuò)后的語料文本,最后輸出糾錯(cuò)結(jié)果.
在此基礎(chǔ)上,對(duì)應(yīng)用本文架構(gòu)的糾錯(cuò)系統(tǒng)性能進(jìn)行驗(yàn)證,首先對(duì)該系統(tǒng)對(duì)字詞、語法和語義的錯(cuò)誤識(shí)別功能進(jìn)行測(cè)試.本文的實(shí)驗(yàn)測(cè)試集選擇了18 000個(gè)真實(shí)的句子文本,其中包含了11 354個(gè)錯(cuò)誤,以召回率r、誤包率e和正確率p為文本錯(cuò)誤識(shí)別實(shí)驗(yàn)評(píng)價(jià)的指標(biāo),具體計(jì)算公式為:
(5)
(6)
(7)
式中,C為文本數(shù)據(jù)中實(shí)際的錯(cuò)誤總數(shù),B為本文識(shí)別正確的文本錯(cuò)誤總數(shù),J為誤報(bào)錯(cuò)誤總數(shù).實(shí)驗(yàn)中將文本錯(cuò)誤的識(shí)別過程進(jìn)行輸出顯示,并對(duì)中間結(jié)果進(jìn)行分析,利用二元模型與上下文語境特征的結(jié)合,將文本以文件格式輸入到本文設(shè)計(jì)的模型中,具體測(cè)試結(jié)果如表1 所示.
表1 文本錯(cuò)誤識(shí)別
由表1 可知,應(yīng)用本文架構(gòu)的糾錯(cuò)系統(tǒng)在自然語言處理的錯(cuò)誤識(shí)別測(cè)試中,其召回率和正確率均在95.00%以上,在本文系統(tǒng)試驗(yàn)中,文本錯(cuò)誤的識(shí)別是基于自動(dòng)分詞和詞性標(biāo)注的基礎(chǔ)上實(shí)現(xiàn)的,對(duì)誕規(guī)律的分析由本文建立的語言知識(shí)庫中實(shí)現(xiàn),證明本文語言知識(shí)庫中內(nèi)容對(duì)本文錯(cuò)誤的識(shí)別具有積極顯著的效果,其中,對(duì)字詞錯(cuò)誤的識(shí)別效果最佳,其識(shí)別正確率達(dá)到了98.45%,對(duì)正確句子識(shí)別的誤報(bào)率較高,推測(cè)這是由于正確句子數(shù)量比例較高,對(duì)句子成分識(shí)別的擴(kuò)展不充分導(dǎo)致的,對(duì)語法級(jí)錯(cuò)誤和語義級(jí)錯(cuò)誤的正確率較為接近,且誤報(bào)率較低,證明本文方法在語法錯(cuò)誤和語義錯(cuò)誤的識(shí)別中表現(xiàn)較為穩(wěn)定,總體來看,本文方法能夠識(shí)別大部分的字詞、語法和語義錯(cuò)誤,能夠?yàn)榧m錯(cuò)功能的實(shí)現(xiàn)提供有效的數(shù)據(jù).
在文本糾錯(cuò)階段,由于實(shí)驗(yàn)訓(xùn)練集中句子的字詞級(jí)錯(cuò)誤較多,因此文中主要對(duì)錯(cuò)別字糾錯(cuò)結(jié)果進(jìn)行展示與分析,主要包括對(duì)同音詞和長(zhǎng)詞錯(cuò)誤的糾錯(cuò),對(duì)糾錯(cuò)結(jié)果的分析指標(biāo)在上文的基礎(chǔ)上增加了糾正率和F值,具體計(jì)算公式為:
(8)
(9)
式中,V為本文完成正確糾正的錯(cuò)誤,對(duì)于同音詞的糾正過程中,分析中間結(jié)果存在部分錯(cuò)誤,考慮這是由于數(shù)據(jù)稀疏未能找回和糾正所導(dǎo)致的,一些句子中由于糾錯(cuò)詞的距離太遠(yuǎn),上下文窗口不足,因此基于漢語搭配進(jìn)行遠(yuǎn)距離的糾錯(cuò).實(shí)驗(yàn)訓(xùn)練集中共包括4 589個(gè)句子文本,其中包括2 107個(gè)同音詞遠(yuǎn)距離錯(cuò)誤,對(duì)該測(cè)試集進(jìn)行測(cè)試得到具體各項(xiàng)實(shí)驗(yàn)結(jié)果如表2 所示.
由表2可知,在實(shí)驗(yàn)訓(xùn)練集的4 589個(gè)文本中共有實(shí)際同音詞錯(cuò)誤2 806個(gè),本文完成了正確糾錯(cuò)2 687個(gè),其同音詞糾錯(cuò)的糾正率為95.76%,滿足糾錯(cuò)系統(tǒng)的設(shè)計(jì)需要,證明本文方法對(duì)同音詞的糾錯(cuò)效果較為理想.非詞糾錯(cuò)建立在錯(cuò)詞集的基礎(chǔ)上,在長(zhǎng)詞糾錯(cuò)的測(cè)試中,共抽取了600個(gè)四字詞,200個(gè)五字詞和150個(gè)六字詞,錯(cuò)詞集用的是約180 M的系統(tǒng)日志語言材料,最后統(tǒng)計(jì)出對(duì)文本中的長(zhǎng)詞糾錯(cuò)結(jié)果,具體如表3所示.
表2 同音詞糾錯(cuò)實(shí)驗(yàn)結(jié)果
表3 長(zhǎng)詞糾錯(cuò)結(jié)果
由表3可知,長(zhǎng)詞糾錯(cuò)的召回率和糾正率低于同音詞的糾錯(cuò)結(jié)果,這是由于長(zhǎng)詞糾錯(cuò)的實(shí)驗(yàn)所使用的錯(cuò)詞集覆蓋范圍較小,語言材料有限,因此對(duì)長(zhǎng)詞的糾錯(cuò)效果產(chǎn)生了一定的影響,但總體而言,長(zhǎng)詞糾錯(cuò)性能較好.
再對(duì)比應(yīng)用本文架構(gòu)的糾錯(cuò)系統(tǒng)和傳統(tǒng)架構(gòu)的糾錯(cuò)系統(tǒng)(文獻(xiàn)[3]系統(tǒng))的糾錯(cuò)結(jié)果,對(duì)比實(shí)驗(yàn)中所使用的訓(xùn)練集中包括894個(gè)句子文本,其中錯(cuò)誤文本641個(gè),包含了548個(gè)同音詞錯(cuò)誤,93個(gè)長(zhǎng)詞錯(cuò)誤,首先對(duì)不同架構(gòu)系統(tǒng)的糾錯(cuò)準(zhǔn)確率結(jié)果進(jìn)行對(duì)比,具體結(jié)果如圖3所示.
圖3 不同架構(gòu)系統(tǒng)的糾錯(cuò)準(zhǔn)確率對(duì)比
由表4可知,應(yīng)用本文架構(gòu)的糾錯(cuò)系統(tǒng)在3次實(shí)驗(yàn)中進(jìn)行字詞糾錯(cuò)的準(zhǔn)確率均在95%以上,而傳統(tǒng)架構(gòu)系統(tǒng)在3次實(shí)驗(yàn)中的糾錯(cuò)準(zhǔn)確率均低于90%,準(zhǔn)確率波動(dòng)較大.其次對(duì)不同架構(gòu)系統(tǒng)的糾錯(cuò)召回率進(jìn)行對(duì)比,具體如圖4所示.
圖4 不同架構(gòu)系統(tǒng)的糾錯(cuò)召回率對(duì)比
由圖4可知,在不同的實(shí)驗(yàn)條件下,本文系統(tǒng)的平均召回率為90.02%,傳統(tǒng)架構(gòu)系統(tǒng)的糾錯(cuò)召回率為62.35%,本文架構(gòu)系統(tǒng)糾錯(cuò)的召回率遠(yuǎn)高于傳統(tǒng)架構(gòu)系統(tǒng)糾錯(cuò)的召回率.最后驗(yàn)證不同架構(gòu)系統(tǒng)的F值,結(jié)果如圖5所示.
圖5 不同架構(gòu)系統(tǒng)糾錯(cuò)的F值對(duì)比
由圖5可知,本文架構(gòu)系統(tǒng)的F值更高,傳統(tǒng)架構(gòu)系統(tǒng)的F值較低,證明本文架構(gòu)系統(tǒng)的糾錯(cuò)功能更佳,具有較強(qiáng)的可行性.
本文通過建立語言知識(shí)庫,制定語句合成規(guī)則,語言分析及文字錯(cuò)誤識(shí)別功能設(shè)計(jì),基于自然語言處理構(gòu)建糾錯(cuò)模型,完成了本文的糾錯(cuò)系統(tǒng)架構(gòu)設(shè)計(jì)研究,取得了一定的研究成果.同時(shí),由于時(shí)間和條件的限制,本文研究還存在諸多不足,需要在未來進(jìn)一步探索和討論,從而不斷完善本文的架構(gòu)設(shè)計(jì),如未涉及對(duì)文字中標(biāo)點(diǎn)符號(hào)糾錯(cuò)的內(nèi)容,未設(shè)置對(duì)標(biāo)點(diǎn)位置預(yù)測(cè)以及標(biāo)注所需要的特征模板,因此在今后的研究中,還應(yīng)針對(duì)本文研究存在的問題不斷改進(jìn)和完善,加強(qiáng)對(duì)中間處理過程中的噪聲,從而提高糾錯(cuò)系統(tǒng)的錯(cuò)誤識(shí)別準(zhǔn)確率和糾正率.