王燕鳳
(西北民族大學(xué),甘肅 蘭州)
隨著“互聯(lián)網(wǎng)+”時(shí)代的到來(lái),數(shù)字辦公成為主流,數(shù)字圖書(shū)也越來(lái)越多,在這一背景下文本自動(dòng)校對(duì)的需求越來(lái)越迫切,中文文本自動(dòng)校對(duì)逐漸成為熱門(mén)研究課題。目前常用的文本自動(dòng)校對(duì)系統(tǒng)大多存在算法復(fù)雜、工作量大、耗費(fèi)時(shí)間多等弊端,實(shí)用性較差。本研究設(shè)計(jì)了一種基于自然語(yǔ)言處理的文本自動(dòng)校對(duì)系統(tǒng),并對(duì)其應(yīng)用效果進(jìn)行了實(shí)驗(yàn)分析。
1.1.1 語(yǔ)料庫(kù)的構(gòu)建
該系統(tǒng)字詞校對(duì)功能的實(shí)現(xiàn)方式是檢查相鄰的字與字之間、字與詞之間、詞與詞之間是否存在錯(cuò)誤。本研究統(tǒng)計(jì)了2020 年1-12 月份《人民日?qǐng)?bào)》中的文章,共計(jì)377 萬(wàn)字,整理成一個(gè)18.5 M的語(yǔ)料庫(kù)。通過(guò)分詞和詞性標(biāo)注處理,從字詞組合特點(diǎn)、詞性等方面綜合分析系統(tǒng)進(jìn)行自動(dòng)化文本校對(duì)處理時(shí)的規(guī)律特點(diǎn)。實(shí)際上,使用大數(shù)據(jù)技術(shù)進(jìn)行數(shù)據(jù)自動(dòng)分析、整合,建立語(yǔ)料庫(kù)后,應(yīng)定期根據(jù)人們用詞習(xí)慣來(lái)更新語(yǔ)料庫(kù)的內(nèi)容,提升自動(dòng)校對(duì)的準(zhǔn)確度。
1.1.2 基于接續(xù)關(guān)系的查錯(cuò)
本研究根據(jù)字詞間的二元接續(xù)關(guān)系檢查目標(biāo)字串附近字詞的相鄰關(guān)系。假設(shè)有一個(gè)字串為A1A2…Ai-1AiAi+1…An,如果需要判斷Ai(這里Ai為單個(gè)漢字或詞語(yǔ))與相連字詞間的關(guān)系,根據(jù)語(yǔ)言學(xué)中的”二元模型”理論,只需要檢查Ai-1和Ai,以及Ai和Ai+1的關(guān)系即可。在一個(gè)包含了海量字詞的語(yǔ)料庫(kù)中,假設(shè)從Ai-1到Ai的轉(zhuǎn)移概率為P(Ai/Ai-1),并且P 滿足一定的閾值限定,則認(rèn)為Ai-1和Ai存在二元接續(xù)關(guān)系。在文本自動(dòng)校對(duì)系統(tǒng)的應(yīng)用中,要想判斷Ai是否出錯(cuò),可以先判斷Ai-1和Ai是否接續(xù)。如果接續(xù),則Ai沒(méi)有出現(xiàn)錯(cuò)誤,完成本次查錯(cuò);如果不接續(xù),還需要繼續(xù)判斷Ai和Ai+1是否接續(xù)。如果兩者也不接續(xù),可以認(rèn)定Ai出現(xiàn)錯(cuò)誤[1]。
基于語(yǔ)法成分的查錯(cuò)策略如下:首先利用規(guī)則庫(kù)中的規(guī)則處理被檢查的句子,成功識(shí)別出該句子中的主語(yǔ)、謂語(yǔ)等成分塊;然后按照“從下往上”的順序,依次進(jìn)行短語(yǔ)、短句的結(jié)構(gòu)糾錯(cuò)校對(duì)。此時(shí),斷句所使用的標(biāo)點(diǎn)符號(hào)、空格,都可能影響自動(dòng)校對(duì)系統(tǒng)的準(zhǔn)確性,需要引起重視。文本自動(dòng)校對(duì)系統(tǒng)在語(yǔ)法查錯(cuò)時(shí),需要提前進(jìn)行句子的預(yù)處理,進(jìn)行相關(guān)短句的串聯(lián)和捆綁,從而起到提高識(shí)別精度、保證分析結(jié)果正確的效果[2]。對(duì)于句子中的不同成分(如主語(yǔ)、謂語(yǔ)、賓語(yǔ)、補(bǔ)語(yǔ)等),采取的識(shí)別和檢查策略各有不同,這里以謂語(yǔ)為例,識(shí)別和檢查算法如下:
1.3.1 建立依存關(guān)系
本系統(tǒng)采用基于實(shí)例的語(yǔ)義查錯(cuò),具體方法為:確定待校對(duì)的句子后,首先對(duì)該句子的組成結(jié)構(gòu)展開(kāi)分析。收集網(wǎng)絡(luò)系統(tǒng)中相關(guān)的句子案例,組成一個(gè)集合n。分別計(jì)算集合n 中每一個(gè)實(shí)例與待校對(duì)句子的相似度,并挑選出相似度最高的實(shí)例i。將i 與待校對(duì)句子進(jìn)行對(duì)比,即可得出查錯(cuò)結(jié)果。該方法雖然操作起來(lái)比較簡(jiǎn)單,但是由于集合n 中的實(shí)例數(shù)量較多,語(yǔ)義相似度計(jì)算的工作量大。為了減輕相似度計(jì)算的工作量,本研究提出了一種基于依存關(guān)系的解決辦法。根據(jù)語(yǔ)義依存語(yǔ)法,詞之間的關(guān)系是有方向的,根據(jù)兩者之間方向的不同,可以建立起支配與被支配的關(guān)系,這種關(guān)系就是依存關(guān)系。其中,支配詞又叫做中心詞,可以表現(xiàn)它所在短語(yǔ)的主要語(yǔ)法、語(yǔ)義特征[3]。
1.3.2 句子相似度計(jì)算
語(yǔ)義相似度計(jì)算是語(yǔ)義查錯(cuò)的關(guān)鍵,利用依存關(guān)系進(jìn)行相似度計(jì)算時(shí),只需要考慮那些有效搭配(全句核心詞和直接依存于其有效詞組成的搭配)之間的相似程度。通常情況下,句子中的有效詞主要是動(dòng)詞、名詞和形容詞?,F(xiàn)在以2 個(gè)例句為例,介紹計(jì)算方法。
例句1:事發(fā)后,傷員被及時(shí)送往就近醫(yī)院救治。
例句2:晚上七時(shí)左右,所有傷員被送到了醫(yī)院。
根據(jù)語(yǔ)義依存關(guān)系構(gòu)建兩個(gè)例句的依存樹(shù),見(jiàn)圖1。
根據(jù)圖1 可知,在例句1 中,“送往”是關(guān)鍵詞,搭配結(jié)構(gòu)是:送往__傷員、送往__醫(yī)院、送往__救治;例句2 中,“送到”是關(guān)鍵詞,搭配結(jié)構(gòu)是:送到__傷員、送到__醫(yī)院。這樣一來(lái),只需要計(jì)算兩者之間的相似程度即可,從而簡(jiǎn)化了相似度計(jì)算的工作量,并且對(duì)提高校對(duì)結(jié)果的精確度也有一定幫助。相似度計(jì)算公式為:
圖1 例句1 和例句2 的依存樹(shù)
結(jié)合表1 的權(quán)重定義,例句1 和例句2 的相似度為:
表1 搭配匹配權(quán)重的設(shè)計(jì)
根據(jù)相似度結(jié)果,將待檢測(cè)句子與相似度最高的句子進(jìn)行對(duì)比,即可判斷是否存在語(yǔ)義錯(cuò)誤,從而完成語(yǔ)義校對(duì)。
1.4.1 構(gòu)造易混淆詞典
不同于上文介紹的字詞查錯(cuò)和語(yǔ)法查錯(cuò),文本自動(dòng)校對(duì)分為2 方面的內(nèi)容,即查錯(cuò)和糾錯(cuò)。糾錯(cuò)是根據(jù)查找出來(lái)的錯(cuò)誤,提出相應(yīng)的改正策略。針對(duì)常規(guī)糾錯(cuò)方法存在的弊端,本研究在設(shè)計(jì)文本自動(dòng)校對(duì)系統(tǒng)的糾錯(cuò)模塊時(shí),吸取了上述方法各自的優(yōu)勢(shì),提出了一種新的糾錯(cuò)方法。首先,綜合考慮了中文文本中常見(jiàn)錯(cuò)誤的類(lèi)型,以及每種錯(cuò)誤的特征,完成有關(guān)詞典內(nèi)容的收集,作為系統(tǒng)自動(dòng)識(shí)別錯(cuò)誤用詞的參照物。一旦發(fā)現(xiàn)文本錯(cuò)誤,應(yīng)結(jié)合同現(xiàn)概率表,選出一些可替換的詞匯作為糾錯(cuò)建議。如果無(wú)法產(chǎn)生糾錯(cuò)建議,則采用人工添加的方式,將糾錯(cuò)建議和對(duì)應(yīng)的錯(cuò)誤字串一同添加到易混淆詞典中,使得易混淆詞典具備了自學(xué)能力。這樣就可以不斷的豐富詞庫(kù)中的易混淆詞,從而讓文本自動(dòng)校對(duì)系統(tǒng)的糾錯(cuò)能力得到持續(xù)提升[4]。易混淆詞典的自學(xué)習(xí)原理見(jiàn)圖2。
圖2 易混淆詞典的自學(xué)習(xí)原理
1.4.2 糾錯(cuò)算法編程
現(xiàn)階段,文本自動(dòng)校對(duì)系統(tǒng)可以對(duì)一些字詞級(jí)錯(cuò)誤給出相應(yīng)的糾錯(cuò)建議,但是對(duì)于語(yǔ)法錯(cuò)誤、語(yǔ)義錯(cuò)誤則很難給出準(zhǔn)確的糾錯(cuò)建議。因此,本研究使用了糾錯(cuò)產(chǎn)生算法對(duì)除字詞級(jí)錯(cuò)誤以外的其他錯(cuò)誤類(lèi)型進(jìn)行糾錯(cuò)。以例句3“我們認(rèn)為可疑延長(zhǎng)時(shí)間。”為例,“可疑延長(zhǎng)”是文本自動(dòng)校對(duì)系統(tǒng)查找出的錯(cuò)誤字。糾錯(cuò)產(chǎn)生算法的編程思路如下:
本研究設(shè)計(jì)的文本自動(dòng)校對(duì)系統(tǒng)由校對(duì)預(yù)處理模塊、查錯(cuò)模塊(包括字詞級(jí)查錯(cuò)、語(yǔ)法級(jí)查錯(cuò)、語(yǔ)義級(jí)查錯(cuò)3 部分)和校對(duì)糾錯(cuò)模塊組成。其功能實(shí)現(xiàn)流程為:
步驟1:輸入或打開(kāi)一個(gè)文本,按照順序讀入單句,并進(jìn)行文本的預(yù)處理。采取雙向模式匹配法,依托預(yù)選設(shè)定好的詞庫(kù),識(shí)別漢字文本的組成結(jié)構(gòu),確定詞組的詞性。
步驟2:構(gòu)造字頻向量、二元詞性同現(xiàn)頻率表,得到查錯(cuò)知識(shí)庫(kù)。利用該系統(tǒng)的查錯(cuò)模塊,識(shí)別詞組之間的連接順序、連接方式是否存在錯(cuò)誤,完成基礎(chǔ)糾錯(cuò)任務(wù)。另外,通過(guò)對(duì)句子中成分是否完整進(jìn)行分析,精準(zhǔn)識(shí)別語(yǔ)法錯(cuò)誤,這需要選用依存文法對(duì)語(yǔ)義錯(cuò)誤進(jìn)行查錯(cuò)。
步驟3:借助于易混淆詞典、同現(xiàn)概率表,對(duì)上一步中查找出來(lái)的錯(cuò)誤進(jìn)行定位,并生產(chǎn)相應(yīng)的糾錯(cuò)建議,完成糾錯(cuò)。
步驟4:糾錯(cuò)完畢后,執(zhí)行一個(gè)判斷程序“文本處理是否結(jié)束?”如果有未處理的文本,則返回步驟1,繼續(xù)讀入尚未處理的文本,并重復(fù)上述步驟;如果文本處理完畢,則由系統(tǒng)自動(dòng)生成語(yǔ)料文本,并在人機(jī)交互界面上顯示處理結(jié)果,文本自動(dòng)校對(duì)程序結(jié)束[5]。
從某雜志的127 篇文章中,挑選出185 個(gè)正確句子,以及180 個(gè)存在錯(cuò)誤的句子,其中有50 個(gè)字詞級(jí)錯(cuò)誤句子、110 個(gè)語(yǔ)法級(jí)錯(cuò)誤句子和20 個(gè)語(yǔ)義級(jí)錯(cuò)誤句子。部分病句如下:
(1)他是本地一家知名企業(yè)的總載。(“載”為錯(cuò)別字,應(yīng)為“裁”)
(2)本縣蘋(píng)果的品種非常多,這里無(wú)法一一例舉。(“例舉”應(yīng)為“列舉”)
(3)德國(guó)總理授予法院獲得簽發(fā)“禁止未成年人進(jìn)入酒吧證”的權(quán)力。(多字,應(yīng)刪除“獲得”)
將其放到同一個(gè)文本中,輸入本研究設(shè)計(jì)的文本自動(dòng)校對(duì)系統(tǒng)。為保證系統(tǒng)校對(duì)結(jié)果的客觀性和直觀性,本次實(shí)驗(yàn)中引入了以下參數(shù):
(1)召回率=正確發(fā)現(xiàn)句子數(shù)/實(shí)際錯(cuò)誤句子數(shù)×100%。
(2)誤報(bào)率=(發(fā)現(xiàn)錯(cuò)誤句子數(shù)- 正確發(fā)現(xiàn)句子數(shù))/ 發(fā)現(xiàn)錯(cuò)誤句子數(shù)×100%。
(3)查準(zhǔn)率=1- 誤報(bào)率。
文本自動(dòng)校對(duì)結(jié)果見(jiàn)表2。
表2 測(cè)試結(jié)果
結(jié)合表2 數(shù)據(jù)可知,本研究設(shè)計(jì)的文本自動(dòng)校對(duì)系統(tǒng)具有較高的召回率和查準(zhǔn)率,基本上能夠維持在70%以上。其中,該系統(tǒng)對(duì)于文本中語(yǔ)法級(jí)錯(cuò)誤句子的召回率和查準(zhǔn)率最高,分別達(dá)到了89.1%、89.2%。
本研究設(shè)計(jì)的文本自動(dòng)校對(duì)系統(tǒng)可以實(shí)現(xiàn)字詞查錯(cuò)、語(yǔ)法查錯(cuò)、語(yǔ)義查錯(cuò),并且能夠?qū)Σ檎页鰜?lái)的文本錯(cuò)誤,提出相應(yīng)的糾正建議。從實(shí)驗(yàn)結(jié)果來(lái)看,該系統(tǒng)對(duì)常見(jiàn)文本錯(cuò)誤的查準(zhǔn)率和召回率均達(dá)到了70%以上,表明本研究設(shè)計(jì)的文本自動(dòng)校對(duì)系統(tǒng)可以快速、準(zhǔn)確地完成對(duì)目標(biāo)文本的錯(cuò)誤查找。下一步,還需要繼續(xù)擴(kuò)充語(yǔ)料庫(kù),并且不斷優(yōu)化語(yǔ)料庫(kù)的語(yǔ)言規(guī)律,從而使文本自動(dòng)校對(duì)系統(tǒng)更廣泛地適用于不同領(lǐng)域、不同風(fēng)格的文章。