中文文本智能糾錯知多少?
作者|徐婧揚,單位:中國移動智慧家庭運營中心
?Labs 導(dǎo)讀
中文文本糾錯是針對中文文本拼寫錯誤等進(jìn)行檢測與糾正的一項工作,是自然語言處理的重要應(yīng)用領(lǐng)域之一。中文文本糾錯的應(yīng)用場景很多,諸如在搜索引擎,問答/對話系統(tǒng),輸入法等領(lǐng)域作為一個前置模塊,或作為OCR和ASR檢測的后置模塊,亦或是公文寫作場景,輔助進(jìn)行公文審閱校對,糾錯的質(zhì)量對后續(xù)的處理非常重要。
Part 01 中文錯別字類型有哪
我們把常見的中文錯別字總結(jié)分為三類:
- 拼寫錯誤,由于輸入法,音轉(zhuǎn)軟件等原因?qū)е碌挠米?詞錯誤,其主要表現(xiàn)為錯誤使用了同音字,形近字等,也是糾錯領(lǐng)域當(dāng)前研究比較集中的方向;
- 語法錯誤,該類錯誤主要是由于疏忽或?qū)φZ言運用不熟悉導(dǎo)致的,如字詞缺失、冗余、亂序等,其錯誤片段相對較大,目前也有一些針對簡單句法錯誤的研究;
- 語義錯誤,該類錯誤可能由于對某些知識不了解或組織語言能力欠缺等導(dǎo)致,要解決該類問題,通常需要引入外部知識、常識等,當(dāng)前涉及這部分的研究也比較少。
表1
整體處理難度上:拼寫錯誤 < 語法錯誤 < 語義錯誤。
Part 02 智能文本糾錯的框架
文本糾錯常見思路分為兩種:一種是多模型pipeline方法,一種是端到端的方法。
2.1 多模型pipeline方法
把糾錯任務(wù)分解為錯誤檢測→候選召回→打分排序三個關(guān)鍵步驟,如圖1,每個模型解決具體的特定問題,然后通過Pipeline的方式串聯(lián),得到最后結(jié)果。這種方法的優(yōu)點是方便針對各個步驟進(jìn)行重點突破和優(yōu)化,但也存在明顯的缺點是錯誤會逐級傳遞,比如,在檢測模塊識別了非錯別字的位置,那么糾錯模塊針對該位置的糾正也一定是不正確的。
圖1
檢錯模塊
檢錯模塊的主要目標(biāo)是錯誤識別,識別并定位出文本中的錯誤字/詞位置,若存在則將錯誤向后傳遞。
候選召回
候選召回階段針對檢錯模塊識別到的錯誤點,結(jié)合歷史錯誤信息,以及近音、近形等特征形成糾錯候選集合。
糾錯模塊
糾錯模塊主要解決候選集合的排序問題,由于糾錯的正確結(jié)果具有唯一性,該模塊的任務(wù)是將正確的結(jié)果排在第一位。
2.2 端到端的方法
此方法是直接建模原始“錯誤句子”到修正后的“正確句子”的處理過程,一般這個過程類似于機器翻譯任務(wù),如圖2,即將錯誤的句子翻譯成正確的句子,一般使用seq2seq類深度學(xué)習(xí)模型。該方法優(yōu)點是避免人工提取特征,減少人工工作量,缺點是無法控制特定問題點優(yōu)化對整個流程的影響。
圖2 h代表隱藏層,c代表編碼器和解碼器之間的狀態(tài)向量
Part 03 智能文本糾錯的一些方案
3.1 多模型pipeline方法
檢錯模塊
(1)基于規(guī)則:例如,抽取ngram級別的拼音,構(gòu)建實體詞與拼音映射詞表,將抽取的拼音映射到實體詞,比較和原詞是否一致。
(2)基于語言模型:利用bert模型的MLM任務(wù),將當(dāng)前詞用mask符號代替,然后做預(yù)測,若真實字不在topk內(nèi)即為錯。
候選召回
(1)基于規(guī)則:近音候選詞召回、字音編輯距離召回。
(2)基于語言模型:利用語言模型等計算錯誤詞可能的topk正確答案。
糾錯模塊
(1)粗排序:通過構(gòu)造的特征來對候選詞進(jìn)行粗打分。特征主要包括:語料頻率比值、編輯距離等。
(2)精排序:采用機器學(xué)習(xí)模型等對候選進(jìn)行打分,同時在特征工程方面也進(jìn)行了更精細(xì)化地處理。
3.2 端到端的方法
(1)FASPell,愛奇藝發(fā)布在EMNLP2019的基于詞的中文糾錯的方法。
(2)Soft-Masked BERT,字節(jié)發(fā)表在ACL 2020的中文糾錯方法。
(3)MLM-phonetics MLM-phonetics,在soft-masked BERT的基礎(chǔ)上做的優(yōu)化。
(4)Dynamic Connected Networks,哈工大&訊飛發(fā)表在ACL2021的方法。
(5)Transformer-NMT,網(wǎng)易有道NLPCC2018冠軍方案。
(6)ErnieCSC,百度在ACL 2021上提出結(jié)合拼音特征的Softmask策略的糾錯方案。
(7)MacBert4csc,MacBERT模型改變網(wǎng)絡(luò)結(jié)構(gòu)的中文文本糾錯模型。
圖3 文本糾錯檢錯階段的標(biāo)注
Part 04 未來方向與挑戰(zhàn)
最后總結(jié)一下文本糾錯任務(wù)的一些挑戰(zhàn)和未來方向:
當(dāng)前的兩大方案,pipeline的機制會導(dǎo)致錯誤逐級放大,同時串聯(lián)鏈越長則耗時越長。端到端方案當(dāng)前缺少足夠的標(biāo)注語料,另外不方便擴展與領(lǐng)域遷移。
文本糾錯后續(xù)可探索利用知識圖譜完善整個糾錯任務(wù),或探索融入實體詞糾正到模型中,另外該領(lǐng)域還需積累大量的高質(zhì)量標(biāo)注樣本和混淆集資源。?