亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        DCsR:一種面向中文文本的集成式糾錯(cuò)框架*

        2023-02-20 02:48:34曹軍航黃瑞章白瑞娜趙建輝
        關(guān)鍵詞:錯(cuò)別字字符排序

        曹軍航,黃瑞章,白瑞娜,趙建輝

        (1.公共大數(shù)據(jù)國家重點(diǎn)實(shí)驗(yàn)室,貴州 貴陽 550025;2.貴州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025)

        1 引言

        輸入文本準(zhǔn)確是大多數(shù)自然語言處理NLP(Natural Language Processing)任務(wù)的基本前提,也是提高上層應(yīng)用性能的關(guān)鍵。若不對(duì)錯(cuò)誤進(jìn)行處理,將會(huì)在下游任務(wù)中不斷擴(kuò)大其影響。中文文本糾錯(cuò)技術(shù)旨在檢測(cè)和糾正給定中文文本中的錯(cuò)誤,已經(jīng)廣泛應(yīng)用在許多重要的領(lǐng)域,例如搜索優(yōu)化、機(jī)器翻譯和語音識(shí)別等。在書寫方面,錯(cuò)誤的文字會(huì)影響讀者閱讀體驗(yàn)。做好文本內(nèi)容的審核是新聞、出版行業(yè)亟待解決的問題,使用文本自動(dòng)糾錯(cuò)技術(shù)可以極大地提高人工審核的效率。目前中文文本糾錯(cuò)技術(shù)能夠處理的錯(cuò)誤按類型主要分為錯(cuò)別字、語序不當(dāng)、成分缺失或冗余等。但是,目前的糾錯(cuò)模型無法覆蓋多種不同錯(cuò)誤類型的修正,如何應(yīng)對(duì)不同場(chǎng)景下的文本差異,仍然是一項(xiàng)很有挑戰(zhàn)性的工作。

        不同于英語,中文需要借助輸入法、語音識(shí)別等方法進(jìn)行輸入,常常會(huì)在文本中出現(xiàn)音錯(cuò)、形錯(cuò)等類型的錯(cuò)誤。中文用法博大精深,相同語義的話語通常有多種表達(dá)方式,同樣地,對(duì)同一句話也有不同的修改方式。研究人員針對(duì)英語文本的語法糾錯(cuò)已經(jīng)進(jìn)行了長期的研究并取得了優(yōu)秀的成果。針對(duì)中文文本糾錯(cuò)問題的解決方案已經(jīng)從傳統(tǒng)的基于規(guī)則、N-gram的方法演變到基于機(jī)器學(xué)習(xí)的方法。

        在業(yè)界主流方案中,中文文本糾錯(cuò)文法根據(jù)研究步驟大體被分為序列到序列的一階段方法和包含檢錯(cuò)糾錯(cuò)的兩階段方法。序列到序列的一階段方法的基本解決思路是將糾錯(cuò)任務(wù)視為從錯(cuò)誤文本到正確文本的“翻譯”問題,跳過錯(cuò)誤檢測(cè)使用生成式方法直接進(jìn)行糾正,不用界定和糾正具體錯(cuò)誤類型,但無法在大型數(shù)據(jù)集上構(gòu)建深度雙向模型或預(yù)訓(xùn)練,限制了淺層網(wǎng)絡(luò)的表達(dá)能力和學(xué)習(xí)能力,性能往往難以滿足實(shí)際需求。

        近幾年,隨著BERT(Bidirectional Encoder Representation from Transformers)[1]、XLNET[2]和ELECTRA(Efciently Learning an Encoder that Classies Token Replacements Accurately)[3]等預(yù)訓(xùn)練模型在許多下游NLP任務(wù)中也取得了巨大成功。在錯(cuò)別字的糾正上,基于預(yù)訓(xùn)練模型BERT改進(jìn)的模型如FASPell(Fast, Adaptable, Simple, Powerful Chinese spell checker)[4]和PLOME(Pre-trained masked Language mOdel with Misspelled knowledgE)[5]等也表現(xiàn)優(yōu)異,但在對(duì)錯(cuò)誤字符進(jìn)行可靠更正的同時(shí),這些模型會(huì)更正句子中的每個(gè)字符,而不管其正確性如何,這可能會(huì)改變正確的字符,產(chǎn)生過糾的問題,從而導(dǎo)致高誤報(bào)率。

        然而在許多真實(shí)應(yīng)用場(chǎng)景下,文本中往往只存在一小部分錯(cuò)誤字符,過糾導(dǎo)致的低性能和高誤報(bào)率使得更多研究人員將注意力轉(zhuǎn)到了第2種方法,即檢錯(cuò)糾錯(cuò)兩階段方法。該類方法先使用錯(cuò)誤檢測(cè)模型檢測(cè)出文本中存在的錯(cuò)誤位置和錯(cuò)誤類型,再通過語言模型對(duì)其進(jìn)行糾正。由于中文文本糾錯(cuò)是一項(xiàng)較復(fù)雜的任務(wù),現(xiàn)在的主流模型只能偏向性地解決好1種或2種錯(cuò)誤類型。有研究人員針對(duì)不同種類的錯(cuò)誤使用不同的獨(dú)立糾錯(cuò)模型再進(jìn)行集成。但是,在中文文本中,人們很多時(shí)候其實(shí)無法定義具體的錯(cuò)誤類型。例如,在錯(cuò)誤句子“冰箱里有無個(gè)冰淇淋”中,“無”字處被標(biāo)記為錯(cuò)誤字符,若判定為成分冗余類型的錯(cuò)誤,將會(huì)進(jìn)行刪除操作;若判定為錯(cuò)別字類型的錯(cuò)誤,根據(jù)使用模型的不同可能會(huì)替換為“一”或者“五”,所以定義不同的錯(cuò)誤類型后糾錯(cuò)或者采用不同的模型糾錯(cuò)可能會(huì)得到不一樣的修正結(jié)果。因?yàn)榧m錯(cuò)結(jié)果的唯一性,當(dāng)有多種修正結(jié)果時(shí),人們常用投票的方式來選取最終結(jié)果,但這極大地依賴于模型的選擇,并且可能會(huì)出現(xiàn)修改結(jié)果各不相同時(shí)無法投票的問題。因此,如何降低從候選集合TOPK中挑選TOP1的出錯(cuò)概率,挑選最優(yōu)的糾正結(jié)果,非常值得研究。

        對(duì)于不同的糾錯(cuò)模型在不同錯(cuò)誤類型上的糾錯(cuò)能力具有偏向性的問題,目前序列到序列的一階段方法和檢錯(cuò)糾錯(cuò)兩階段方法都無法同時(shí)解決過糾導(dǎo)致的高誤報(bào)率和覆蓋多種錯(cuò)誤類型糾正的缺陷。而基于投票的集成方式總是出現(xiàn)挑選錯(cuò)誤的問題且無法處理糾錯(cuò)結(jié)果各不相同時(shí)的情況。針對(duì)以上問題,本文提出了一個(gè)面向中文文本的集成式糾錯(cuò)框架——DCsR(Detector Correctors-Ranker),在糾錯(cuò)前無需界定錯(cuò)誤類型,利用構(gòu)建的候選排序算法從表現(xiàn)各異的糾錯(cuò)模型召回候選集中挑選最優(yōu)修正結(jié)果。本文需要解決以下3個(gè)問題:

        (1) 如何解決過度糾正導(dǎo)致的高誤報(bào)率,即避免將正確的字符改錯(cuò)的情況。由于掩碼語言模型MLM (Masked Language Model)的隨機(jī)掩碼[MASK]機(jī)制,在對(duì)錯(cuò)誤字符更正的同時(shí)也可能更正句子中的正確字符,并且在真實(shí)場(chǎng)景中錯(cuò)誤概率是較小的,過糾會(huì)降低模型性能,因此解決過糾問題是本文的目的之一。

        (2) 如何覆蓋多種錯(cuò)誤類型的糾正,即對(duì)任意輸入的錯(cuò)誤句子都可以進(jìn)行修正。在中文文本中錯(cuò)誤類型多種多樣,糾錯(cuò)的目的是將句子改為更合理的結(jié)果,而不是界定在錯(cuò)誤類型的判斷上。若在已知錯(cuò)誤類型的假設(shè)下選擇具體的糾錯(cuò)模型,則界定了其修改范圍。本文將擯棄這個(gè)假設(shè)覆蓋多種不同類型的糾正。

        (3) 如何評(píng)估最優(yōu)的修正方案,由于糾錯(cuò)結(jié)果的唯一性,即在沒有界定具體錯(cuò)誤類型的假設(shè)下進(jìn)行糾正,通過模型自身輸出的糾正方案需要建立可靠的評(píng)估策略,以挑選一個(gè)相對(duì)最優(yōu)的結(jié)果。

        對(duì)過糾導(dǎo)致的高誤報(bào)率問題,DCsR框架使用兩階段的模式,將錯(cuò)誤檢測(cè)任務(wù)視為序列標(biāo)注問題,具有所需數(shù)據(jù)量較少、訓(xùn)練難度較小等優(yōu)點(diǎn)。在檢測(cè)到錯(cuò)誤位置時(shí)再進(jìn)行糾正。而對(duì)于錯(cuò)誤位置不考慮其錯(cuò)誤類型,無論是針對(duì)錯(cuò)別字糾正還是語法問題糾正,在檢測(cè)到錯(cuò)誤字符的位置上,集成已有多種表現(xiàn)優(yōu)異的糾錯(cuò)模型,構(gòu)建具有公信力的候選排序算法,利用字符級(jí)別的一級(jí)排序和句子級(jí)別的二級(jí)排序控制最終的修正結(jié)果,得到最優(yōu)選的方案。本文提出的DCsR框架適用性強(qiáng),滿足了中文文本錯(cuò)誤自動(dòng)檢測(cè)并糾錯(cuò)的要求。在公開數(shù)據(jù)集SIGHAN15和CGED2020上進(jìn)行測(cè)試,使用該框架得到的集成模型的效果取得了優(yōu)于5個(gè)主流對(duì)比模型的結(jié)果,進(jìn)一步提升了對(duì)中文文本糾錯(cuò)的能力。

        2 相關(guān)工作

        目前,業(yè)界根據(jù)問題的解決步驟將中文文本糾錯(cuò)方法分為序列到序列的一階段方法和檢錯(cuò)糾錯(cuò)二階段方法。序列到序列的一階段方法,基本思路都是構(gòu)建“錯(cuò)誤-正確”文本對(duì),將糾錯(cuò)任務(wù)視為從錯(cuò)誤文本到正確文本的“翻譯”問題。很多研究人員選擇以Seq2Seq(Sequence to Sequence)模型框架為基礎(chǔ)進(jìn)行中文文本糾錯(cuò),處理輸入與輸出不等長的序列情況,主要實(shí)現(xiàn)方法是基于注意力機(jī)制的編碼器-解碼器Encoder-Decoder模型。Fu等人[6]采用的基于注意力機(jī)制的Transformer和Zhou等人[7]采用的基于統(tǒng)計(jì)機(jī)器翻譯和神經(jīng)翻譯結(jié)合的模型都在NLPCC2018的中文語法糾錯(cuò)比賽中取得了很好的成績。王辰成等人[8]提出使用動(dòng)態(tài)殘差結(jié)構(gòu)增強(qiáng)Transformer機(jī)器翻譯模型捕獲語義信息的能力,并通過腐化語料的方法進(jìn)行數(shù)據(jù)增強(qiáng)。Ren等人[9]提出使用卷積神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯解決中文語法錯(cuò)誤,由于卷積神經(jīng)網(wǎng)絡(luò)可以并行計(jì)算,其運(yùn)行速度相比長短時(shí)記憶LSTM(Long Short-Time Memory)網(wǎng)絡(luò)的提高了很多。但是,上述模型都存在所需數(shù)據(jù)量大、難以訓(xùn)練和性能差的問題,因此難以被實(shí)際應(yīng)用。

        檢錯(cuò)糾錯(cuò)二階段方法將任務(wù)劃分為檢測(cè)和糾正2個(gè)階段,使用多個(gè)步驟多個(gè)模型,每個(gè)模型解決具體的特定問題,然后通過流水線的方式串聯(lián)。Zhang等人[10]改進(jìn)了原有BERT直接獲取每個(gè)字的候選集的方法,提出了一個(gè)包含檢測(cè)網(wǎng)絡(luò)和糾錯(cuò)網(wǎng)絡(luò)的中文糾錯(cuò)模型SM-BERT (Soft-Masked BERT)。其中,檢測(cè)網(wǎng)絡(luò)是基于Bi-GRU構(gòu)建的一個(gè)二分類模型,用于預(yù)測(cè)文本出錯(cuò)的概率;糾錯(cuò)網(wǎng)絡(luò)則是利用BERT生成候選集合并打分。Li等人[11]提出了一個(gè)拼寫糾錯(cuò)框架DCSpell(Detector-Correctorframework Chinese Spell checker),其中檢測(cè)器和校正器都是基于Transformer的網(wǎng)絡(luò),充分利用了預(yù)訓(xùn)練模型的能力,在其后的處理過程使用了自制的混淆集來影響召回。但它們都只適用于針對(duì)錯(cuò)別字輸入與輸出等長序列的糾正,無法涵蓋所有錯(cuò)誤類型的糾錯(cuò)。

        另外,在檢測(cè)和糾正方面分別還有許多單獨(dú)的研究。其中,在錯(cuò)誤檢測(cè)研究方面,中文語法錯(cuò)誤診斷CGED (Chinese Grammatical Error Diagnosis)競賽中哈工大訊飛聯(lián)合實(shí)驗(yàn)室HFL(Joint Laboratory of HIT and iFLYTEK Research)的Fu等人[12]對(duì)神經(jīng)網(wǎng)絡(luò)序列標(biāo)注模型BiLSTM-CRF(Bidirectional Long Short-Time Memory-Conditional Random Field)進(jìn)行改進(jìn),將漢語句子內(nèi)部的統(tǒng)計(jì)特征融入底層輸入,采用模型內(nèi)部融合的技術(shù),將多個(gè)Bi-LSTM模型的輸出加權(quán)融合,再經(jīng)過CRF層計(jì)算最終結(jié)果,使用如模板匹配、重復(fù)項(xiàng)處理的外部融合機(jī)制發(fā)揮不同模型的優(yōu)勢(shì),在CGED2018中取得了第1名。2020年,Wang等人[13]將殘差網(wǎng)絡(luò)與ELECTRA結(jié)合訓(xùn)練,再使用80個(gè)模型集成,將位置級(jí)別上的評(píng)價(jià)指標(biāo)F1分?jǐn)?shù)提高到了0.404 1。在錯(cuò)誤糾正研究方面,常見的中文文本自動(dòng)校對(duì)工具通常僅能處理錯(cuò)別字詞問題,即中文拼寫檢查CSC(Chinese Spell Check),目前性能較好的模型大多是基于BERT等掩碼語言的模型。但是,僅依靠BERT直接預(yù)測(cè)概率最大的候選結(jié)果隨機(jī)性較強(qiáng),而真實(shí)錯(cuò)誤往往都是音近或形近錯(cuò)別字。2019年,Hong等人[4]提出FASPell,一種使用BERT作為去噪自編碼器DAE (Denoising AutoEncoder)、置信度相似性解碼器CSD (Confidence-Similarity Decoder)作為解碼器的無監(jiān)督訓(xùn)練方式的模型,其候選字符是根據(jù)周圍語境即時(shí)生成的,避免了困惑集所帶來的不靈活性。2020年,Cheng等人[14]提出了SpellGCN(Chinese Spelling check via Graph Convolutional Network)模型,使用圖卷積對(duì)音近形近字進(jìn)行圖嵌入編碼,將語音和形狀的相似性信息整合到了語義空間中,進(jìn)一步約束了輸出的范圍,使得誤報(bào)率較低。2021年,Liu等人[5]提出了一種具有誤拼知識(shí)的預(yù)訓(xùn)練掩碼語言模型PLOME,提出了基于混淆集的掩碼策略,以每個(gè)字符的筆畫和語音作為輸入,使預(yù)先訓(xùn)練的帶有錯(cuò)誤拼寫知識(shí)的掩碼語言模型能夠模擬任意字符之間的相似性。Wang等人[15]針對(duì)BERT進(jìn)行MLM任務(wù)存在未考慮前后字符依賴關(guān)系的問題,提出了一種動(dòng)態(tài)連接網(wǎng)絡(luò)DCN(Dynamic Connected Network)以構(gòu)建模型輸出部分相鄰字符之間的相關(guān)性。Guo等人[16]在BERT模型的基礎(chǔ)上提出了一種全局注意力解碼器,能夠使模型學(xué)習(xí)到輸入句子中正確字符和錯(cuò)誤字符候選集之間的關(guān)聯(lián)關(guān)系,減輕局部錯(cuò)誤的上下文影響。但是,中文文本糾錯(cuò)是一項(xiàng)較復(fù)雜的任務(wù),原始的BERT模型只能處理錯(cuò)別字這種輸入和輸出等長的情況,而在文本糾錯(cuò)中還存在成分缺失或冗余等輸入和輸出長度不相等的情況,針對(duì)不同種類或者同一種類的錯(cuò)誤使用不同的糾錯(cuò)策略能夠綜合多種方法的優(yōu)點(diǎn),揚(yáng)長避短。在2020年的CGED競賽中,Wang等人[13]就提出了ResBERT(a combining ResNet and BERT model)模型,在BERT模型中融入殘差網(wǎng)絡(luò),增強(qiáng)輸出層中每個(gè)輸入字的信息,使模型可以更好地檢測(cè)語法錯(cuò)誤位置。在修正任務(wù)中,針對(duì)缺失錯(cuò)誤,首先預(yù)測(cè)缺失位置缺失的字?jǐn)?shù),然后再使用BERT語言模型生成修正候選結(jié)果,最后通過比較多個(gè)候選修正句子的困惑度來確定缺失修正結(jié)果。針對(duì)用詞不當(dāng)錯(cuò)誤,使用RoBERTa(Robustly optimized BERT pretraining approach)模型選取候選字,然后再綜合考慮字音、字形相似度以及語言模型打分來選出最終的修正結(jié)果。

        綜上所述,以機(jī)器翻譯為代表的一階段生成式方法,存在著所需數(shù)據(jù)量大、難以訓(xùn)練和性能差的缺點(diǎn),無法滿足實(shí)際應(yīng)用的需求。對(duì)于檢錯(cuò)糾錯(cuò)兩階段流水線的方法,目前無論是檢錯(cuò)階段提出的模型還是針對(duì)各種錯(cuò)誤類型的糾錯(cuò)模型都具有各自的優(yōu)點(diǎn),但現(xiàn)有的端到端模型解決方案都只是在錯(cuò)別字上表現(xiàn)較為優(yōu)異,且對(duì)于不同類型的糾錯(cuò)研究大都通過集成的方式,建立在已知錯(cuò)誤類型的前提假設(shè)上,從而使用對(duì)應(yīng)的模型進(jìn)行糾正。但是,錯(cuò)誤的類型本身就是通過概括自定義的,后續(xù)使用何種糾正模型極大地依賴于檢測(cè)模型輸出的錯(cuò)誤類型。本文則提出不考慮其錯(cuò)誤類型,均按模型的方法進(jìn)行修改,最終統(tǒng)一通過一個(gè)多策略、可拓展的候選排序模塊評(píng)價(jià)修正結(jié)果的合理性。

        3 框架介紹

        本文提出的面向中文文本的集成式糾錯(cuò)框架DCsR如圖1所示。該框架由錯(cuò)誤檢測(cè)器D和糾錯(cuò)集成器C2部分組成。給定一個(gè)包括n個(gè)字符的句子X={x0,x1,…,xn},錯(cuò)誤檢測(cè)器D預(yù)測(cè)出句子中錯(cuò)誤出現(xiàn)的位置,將檢測(cè)到的字符標(biāo)記為1,并且輸出序列Y={y0,y1,…,yn}。糾錯(cuò)集成器C根據(jù)自定義添加糾錯(cuò)器C0,C1,…,Ci,這些糾錯(cuò)器將Y和X作為輸入,分別對(duì)錯(cuò)誤字符進(jìn)行糾正,每個(gè)糾錯(cuò)器輸出預(yù)測(cè)概率最大的修正結(jié)果進(jìn)行召回候選,最后對(duì)召回的候選結(jié)果進(jìn)行排序,得到最終修正序列Z={z0,z1,…,zm},其中可能存在m≠n。

        Figure 1 Schematic diagram of Chinese text integrated error correction framework DCsR圖1 中文文本集成式糾錯(cuò)框架DCsR示意圖

        3.1 錯(cuò)誤檢測(cè)器

        DCsR框架中的錯(cuò)誤檢測(cè)器D用于檢測(cè)輸入句子中是否有錯(cuò)誤字符并標(biāo)記其位置。對(duì)于原始輸入X,錯(cuò)誤檢測(cè)器D將輸出一個(gè)標(biāo)記序列:

        (1)

        正確字符的位置用0標(biāo)記,錯(cuò)誤字符的位置則用1標(biāo)記。

        錯(cuò)誤檢測(cè)器可以基于預(yù)訓(xùn)練語言模型構(gòu)建。近幾年,基于Transformer 結(jié)構(gòu)的BERT類的MLM預(yù)訓(xùn)練方法在下游自然語言處理任務(wù)上獲得了出色的結(jié)果,但它們需要大量的計(jì)算。Clark等人[3]基于對(duì)抗網(wǎng)絡(luò)提出了一種新的預(yù)訓(xùn)練方法RTD(Replaced Token Detection)。與MLM任務(wù)不同,RTD的預(yù)訓(xùn)練任務(wù)是區(qū)分輸入的詞是否被替換的二分類任務(wù)。利用生成器對(duì)句子中的單詞進(jìn)行替換,然后判別器判斷句子中哪些單詞被替換過,如圖2所示。這種訓(xùn)練方式使模型對(duì)錯(cuò)別字、突兀性語義非常敏感,適合用于文本錯(cuò)誤檢測(cè)任務(wù)。中文句子首先經(jīng)過ELECTRA特征提取層,提取文本的語義和基本的文本錯(cuò)誤特征并用全連接層對(duì)其降維。本文實(shí)驗(yàn)擬采用HFL基于官方ELECTRA訓(xùn)練代碼以及大規(guī)模的中文數(shù)據(jù)進(jìn)行訓(xùn)練的中文ELECTRA預(yù)訓(xùn)練模型來標(biāo)記錯(cuò)誤位置,并將錯(cuò)誤字詞替換為對(duì)應(yīng)數(shù)量的[MASK]掩碼標(biāo)記,即序列Y由Y0和X生成,如式(2)和式(3)所示:

        Figure 2 Training process of ELECTRA pre-training language model 圖2 ELECTRA預(yù)訓(xùn)練語言模型訓(xùn)練過程

        Y={y0,y1,…,yn}

        (2)

        (3)

        其中,[MASK]是一種特殊的token標(biāo)簽,xq代表原字符。

        3.2 糾錯(cuò)集成器

        DCsR中的糾錯(cuò)集成器C即由不同的糾錯(cuò)器C0,C1,…,Ci對(duì)錯(cuò)誤檢測(cè)器D檢測(cè)出錯(cuò)誤位置的字符分別進(jìn)行糾正后,再利用一個(gè)候選排序器R來評(píng)價(jià)所有候選集合,最終挑選出最優(yōu)的修正結(jié)果。目前中文文本錯(cuò)誤類型主要分為錯(cuò)別字、語序不當(dāng)、成分缺失或冗余4種類型。大多數(shù)模型將錯(cuò)誤檢測(cè)視作序列標(biāo)注任務(wù),不僅需要標(biāo)注錯(cuò)誤位置,也需要標(biāo)注其錯(cuò)誤類型,但本文認(rèn)為對(duì)應(yīng)不同錯(cuò)誤類型的修改策略可能會(huì)有所不同。

        DCsR框架不需要基于已知錯(cuò)誤字符類型進(jìn)行糾錯(cuò),只需判斷該位置是否有錯(cuò),即只存在2種情況,用戶根據(jù)實(shí)際場(chǎng)景自定義添加不同的糾錯(cuò)器C0,C1,…,Ci,分別對(duì)錯(cuò)誤位置的字符進(jìn)行修改操作。例如在新聞媒體行業(yè),發(fā)布文稿中可能存在更多的由輸入法帶來的錯(cuò)字詞類型的錯(cuò)誤,少量的錯(cuò)誤是成分缺失、冗余或語序紊亂等錯(cuò)誤,則可自定義配備較多的錯(cuò)別字糾錯(cuò)器搭配少量的冗余、刪除或語序錯(cuò)誤的糾錯(cuò)器。如圖1所示,其中糾錯(cuò)器C0,C1,C2是更偏向于錯(cuò)別字糾正的模型,模型判斷是否修改錯(cuò)誤位置的字符,若需修改則執(zhí)行替換(replace)操作并給出替換建議;糾錯(cuò)器C3是專門針對(duì)成分冗余類型的錯(cuò)誤,這種糾錯(cuò)器的操作就很簡單,直接執(zhí)行刪除(delete)操作;糾錯(cuò)器C4是專門偏向于針對(duì)成分缺失或語序錯(cuò)誤類型的糾正模型,則通過判定后對(duì)錯(cuò)誤位置前后執(zhí)行添加(add)字符操作,或者對(duì)錯(cuò)誤位置執(zhí)行改寫、更換順序(order)等操作。最后所有糾錯(cuò)器模型輸出的結(jié)果均放到候選集合中。為了后續(xù)候選排序模塊的決策,將輸出結(jié)果規(guī)范為四元組的形式,如式(4)所示:

        (start,end,opt,correct)

        (4)

        其中,start和end分別表示錯(cuò)誤的開始和結(jié)束位置;opt表示建議的操作,包含以下4種:替換replace,刪除delete,填補(bǔ)add,改寫order;correct則表示具體的修改建議。如圖1中的示例,“冰箱里有無個(gè)冰淇淋”這句話,使用不同的糾錯(cuò)器模型Ci則有不同的修改策略,其中(4,4,replace,一)即表示從0開始,將字符位置的[4,4]閉區(qū)間內(nèi)的字符“無”據(jù)糾錯(cuò)器C0判斷需要進(jìn)行替換操作,建議替換為字符“一”。 因此對(duì)于錯(cuò)誤檢測(cè)器識(shí)別出的錯(cuò)誤位置q,使用i個(gè)糾錯(cuò)器C0,C1,…,Ci分別預(yù)測(cè)第q個(gè)位置上被[MASK]字符的修改結(jié)果,如式(5)所示:

        (5)

        糾錯(cuò)器的選擇可以根據(jù)用戶不同場(chǎng)景自定義添加或者刪除。譬如在新聞?lì)I(lǐng)域,出錯(cuò)概率很小且基本是輸入法帶來的拼音或五筆錯(cuò)誤,則可以使用掩碼語言模型,因其模型和特點(diǎn)非常適合用于錯(cuò)別字詞類錯(cuò)誤的糾正;在CSC任務(wù)上表現(xiàn)優(yōu)異的FASPell[4]、PLOME[5]和SM-BERT[10]等模型,還可添加根據(jù)規(guī)則匹配的模型或者N-gram語言模型等。又譬如在外國人書寫中文的考試審核場(chǎng)景下,出現(xiàn)得更多的是語法類錯(cuò)誤,則考慮添加更多的生成類模型。以Seq2Seq模型框架為基礎(chǔ),比如動(dòng)態(tài)殘差結(jié)構(gòu)增強(qiáng)Transformer機(jī)器翻譯模型[8]、BART序列生成模型[17]等,生成類模型在解決成分缺失方面比掩碼語言模型更有優(yōu)勢(shì),因?yàn)槠湓诩m正成分缺失和語序錯(cuò)誤時(shí),不需要給出缺少的字?jǐn)?shù),如果給與模型提示信息,還可以顯著提高模型的糾錯(cuò)準(zhǔn)確率和召回率。

        由圖1示例,若根據(jù)其中某一個(gè)單一模型的判定,將會(huì)依賴于所選的糾錯(cuò)器得到不同的結(jié)果。若根據(jù)簡單的投票策略判斷,由于糾錯(cuò)器C0和C2的輸出結(jié)果相同,最終會(huì)挑選出票數(shù)最高的(4,4,replace,一),句子將會(huì)修改為“冰箱里有一個(gè)冰淇淋”。當(dāng)然這樣糾正也是合理的,但從原句出發(fā)分析,用戶極大概率是由于輸入同音錯(cuò)誤的字,因此將“無”替換為“五”才是最優(yōu)的選擇,則出現(xiàn)了挑選非最優(yōu)的情況。因此,由于糾錯(cuò)的正確結(jié)果具有唯一性,且各模型可能在不同問題上的表現(xiàn)均有差異,為了獲得更好的性能,而非依賴單一模型的判定或者是只通過集成投票的策略選出最終結(jié)果,如何判定哪個(gè)糾錯(cuò)器的輸出才是最優(yōu)的修正結(jié)果是本文下一步重點(diǎn)討論的問題。

        本文構(gòu)建了一個(gè)多策略、可拓展的候選排序算法進(jìn)行可靠的評(píng)估決策。根據(jù)候選排序的難易程度將候選排序器分為一級(jí)排序和二級(jí)排序,如圖3所示。

        Figure 3 Flowchart of candidate sorting algorithm 圖3 候選排序的算法流程圖

        3.2.1 一級(jí)排序

        一級(jí)排序,即基于簡單且能快速判斷的字符級(jí)別特征對(duì)召回候選集中的修正結(jié)果進(jìn)行評(píng)估并排序,其目的是過濾明顯錯(cuò)誤的候選,選出最有可能的TOPK結(jié)果,其中K(K≤i)為給定值。如圖4所示,一級(jí)排序構(gòu)造多策略的字符級(jí)別特征,通過從歷史經(jīng)驗(yàn)或?qū)嶋H場(chǎng)景自定義特征重要程度進(jìn)行綜合性打分。

        Figure 4 First order sorting strategy圖4 一級(jí)排序策略

        first_score(s) =

        (6)

        TOPK=sort(first_score(s))={s0,s1,…,sK}

        (7)

        3.2.2 二級(jí)排序

        二級(jí)排序即進(jìn)一步使用更精細(xì)化的句子級(jí)別特征對(duì)一級(jí)排序召回的K個(gè)候選結(jié)果進(jìn)行評(píng)估并排序,其目的是挑選出最可靠的候選。因?yàn)檫@個(gè)步驟會(huì)利用除了字符以外的輔助特征,使用復(fù)雜模型計(jì)算其替換概率,將引入較大的時(shí)間損耗,所以候選排序算法的邏輯是在一級(jí)排序后根據(jù)需要判斷是否繼續(xù)進(jìn)行二級(jí)排序。同一級(jí)排序采用多策略的方式進(jìn)行綜合性打分,如圖5所示。

        Figure 5 Secondary sorting strategy圖5 二級(jí)排序方案

        (8)

        排序后將篩選出分?jǐn)?shù)最高的候選作為最終的修正結(jié)果TOP1。

        TOP1=zq=max(sort(score(s)))

        (9)

        最終輸出修正序列Z={z0,z1,…,zm}。

        4 實(shí)驗(yàn)

        4.1 數(shù)據(jù)集

        為驗(yàn)證DCsR框架對(duì)中文文本糾錯(cuò)的解決能力,本節(jié)分別在錯(cuò)別字?jǐn)?shù)據(jù)集上橫向?qū)Ρ?個(gè)典型的單糾錯(cuò)模型和使用DCsR框架的集成模型的性能,在混合多種錯(cuò)誤的數(shù)據(jù)集上縱向測(cè)試集成式糾錯(cuò)框架的有效性。

        (1)錯(cuò)別字?jǐn)?shù)據(jù)集。

        對(duì)應(yīng)錯(cuò)別字詞類錯(cuò)誤有專門的公開任務(wù)和數(shù)據(jù)集SIGHAN,本文合并SIGHAN13~15SIGHAN訓(xùn)練集、SIGHAN13測(cè)試集和SIGHAN 14測(cè)試集來進(jìn)行訓(xùn)練,使用SIGHAN15的測(cè)試集進(jìn)行測(cè)試。測(cè)試集共有1 100個(gè)句子,僅包含錯(cuò)別字詞錯(cuò)誤。

        (2)混合錯(cuò)誤數(shù)據(jù)集。

        本文使用2016年至2020年中文語法錯(cuò)誤檢測(cè)公開任務(wù)提供的CGED數(shù)據(jù)集和2013年至2015年的中文拼寫檢查公開任務(wù)提供的SIGHAN Bakeoff數(shù)據(jù)集進(jìn)行合并訓(xùn)練。即對(duì)于成分缺失、冗余、語序錯(cuò)誤和錯(cuò)別字詞同在的復(fù)雜文本錯(cuò)誤,最終使用CGED2020測(cè)試集檢驗(yàn)?zāi)P吐?lián)合使用的性能。

        4.2 評(píng)價(jià)指標(biāo)

        本文分別采用句子級(jí)的準(zhǔn)確性(Acc)、精確性(Precision)、召回率(Recall)和F1值指標(biāo)來評(píng)估檢測(cè)和糾正任務(wù)的性能,其計(jì)算方法分別如式(10)~式(13)所示:

        (10)

        (11)

        (12)

        (13)

        其中,tp表示將正類樣本預(yù)測(cè)為正類的數(shù)量,tn將負(fù)類樣本預(yù)測(cè)為負(fù)類的數(shù)量,fp表示將負(fù)類樣本預(yù)測(cè)為正類的數(shù)量,fn表示將正類樣本預(yù)測(cè)為負(fù)類的數(shù)量。

        4.3 實(shí)驗(yàn)參數(shù)設(shè)置

        (1)錯(cuò)誤檢測(cè)器D。

        本文實(shí)驗(yàn)基于ELECTRA序列模型進(jìn)行檢測(cè),模型的實(shí)驗(yàn)參數(shù)如表1所示,其中,隱藏層維度為768,ELECTRA預(yù)訓(xùn)練模型的Transformer結(jié)構(gòu)為12層,多頭注意力機(jī)制的頭數(shù)為12,每批次大小為240,優(yōu)化器采用的是Adam,丟棄率為0.15,最大迭代次數(shù)為20,學(xué)習(xí)率為10-5,同時(shí)使用早停法緩解過擬合。

        Table 1 Training parameters of ELECTRA model 表1 ELECTRA模型訓(xùn)練參數(shù)

        (2)糾錯(cuò)器C。

        為了使模型適用于糾錯(cuò)任務(wù),本文實(shí)驗(yàn)基于BERT和BART模型進(jìn)行微調(diào),因此根據(jù)各自任務(wù)的特點(diǎn)使用了不同訓(xùn)練參數(shù),分別如表2和表3所示。

        Table 2 Training parameters of BERT model 表2 BERT模型訓(xùn)練參數(shù)

        Table 3 Training parameters of BART model 表3 BART模型訓(xùn)練參數(shù)

        BART序列生成模型微調(diào)設(shè)置為:基于復(fù)旦大學(xué)提供的BART中文預(yù)訓(xùn)練模型“fnlp/bart-large-chinese”,BART序列生成模型微調(diào),訓(xùn)練時(shí)批次大小均為72,最大輸入長度為100,最大輸出長度為116。BART的學(xué)習(xí)率為0.000 02,權(quán)值衰減值為0.01,共訓(xùn)練100輪。

        BERT掩碼語言模型的設(shè)置為:基于Hugging Face提供的中文BERT預(yù)訓(xùn)練模型“bert-base-chinese”。BERT掩碼語言模型的微調(diào)訓(xùn)練使用批次大小為72,BERT Encoder和全連接分類層的學(xué)習(xí)率都是0.000 01,輸入輸出長度最大值均為128。訓(xùn)練中固定了隨機(jī)種子為8,當(dāng)連續(xù)4輪訓(xùn)練結(jié)束后模型在驗(yàn)證集上的準(zhǔn)確率沒有提升就會(huì)提前停止訓(xùn)練。

        (3)候選排序器R。

        一級(jí)排序使用混淆集字典篩選、頻次值和編輯距離3種特征進(jìn)行排序;二級(jí)排序使用句子通順度和分詞變化2種特征進(jìn)行進(jìn)一步約束排序。這里權(quán)重都設(shè)為1,即:h1=h2=h3=w1=w2=1。其中,混淆集的生成方式為自制,通過收集和設(shè)置相似拼音,利用pypinyin庫生成常用字范圍內(nèi)字對(duì)字的混淆集,再利用Wang等人[19]開源的字音字形混淆集進(jìn)行補(bǔ)充,具體做法如下:針對(duì)形近混淆集的生成,將字轉(zhuǎn)化為圖片,模糊圖片的其中一部分,利用光學(xué)字符識(shí)別進(jìn)行掃描選出識(shí)別錯(cuò)誤的字符作為原字的形近字加入混淆集。針對(duì)音近混淆集的生成,收集普通話演講語料,用自動(dòng)語音識(shí)別技術(shù)進(jìn)行語音識(shí)別,對(duì)比識(shí)別結(jié)果,將不一樣的識(shí)別結(jié)果作為原字的音近字加入混淆集。

        本文使用的混淆集轉(zhuǎn)換為字對(duì)字形式后,共計(jì)約58萬對(duì)。

        4.4 對(duì)比實(shí)驗(yàn)結(jié)果及分析

        為了證明DCsR框架的有效性,本文橫向?qū)Ρ?個(gè)典型的單糾錯(cuò)模型BERT-FT、FASPell、二元語言模型(Bigram)、SM-BERT、DCN和使用框架的集成式模型DCsR(BERT-FT+FASPell+Bigram+SM-BERT+DCN,表4中簡稱DCsR)的性能。

        Table 4 Model comparison experiments on SIGHAN15 dataset表4 錯(cuò)別字?jǐn)?shù)據(jù)集SIGHAN15上的模型對(duì)比實(shí)驗(yàn)

        (1)BERT-FT[1]:使用BERT預(yù)訓(xùn)練模型進(jìn)行微調(diào)。輸入錯(cuò)誤的句子,并添加Softmax層以更正句子中的每個(gè)字符。

        (2)FASPell[4]:使用BERT預(yù)訓(xùn)練模型作為DAE生成候選,并使用CSD過濾候選。

        (3)Bigram[19]:使用Kenlm和Jieba工具包實(shí)現(xiàn),Jieba用于將文本分割成短語,Kenlm用于訓(xùn)練拼寫檢查的Bigram語言模型。

        (4)SM-BERT[10]:將中文糾錯(cuò)分成錯(cuò)誤檢測(cè)和錯(cuò)誤糾正2部分,檢測(cè)器使用Bi-GRU,校正器使用BERT,并通過Soft-Masking技術(shù)將兩者進(jìn)行融合。

        (5)DCN[15]:使用端到端的動(dòng)態(tài)連接網(wǎng)絡(luò),考慮上下文、當(dāng)前位置的候選字符以及下一個(gè)位置。對(duì)每個(gè)字符,生成一系列的候選字符集,對(duì)相鄰的2個(gè)字符的所有候選字符,生成全連接圖。

        表4總結(jié)了在錯(cuò)別字?jǐn)?shù)據(jù)集SIGHAN15上使用DCsR框架集成的模型與基線模型的對(duì)比結(jié)果。可以看出,單糾錯(cuò)模型中DCN模型性能最高,但使用DCsR框架進(jìn)行集成后的模型在錯(cuò)誤糾正方面的評(píng)價(jià)指標(biāo)F1值又進(jìn)一步提升了3.93%,在錯(cuò)誤糾正的能力評(píng)測(cè)上也取得了最高的性能,說明了糾錯(cuò)集成框架的有效性。雖然DCsR框架實(shí)驗(yàn)使用的錯(cuò)誤檢測(cè)器ELECTRA在錯(cuò)誤檢測(cè)方面未超過表現(xiàn)優(yōu)異的DCN模型,但本文主要是提供了一個(gè)有效解決目前糾錯(cuò)能力缺陷的框架,該框架可以靈活使用,通過替換使用更高性能錯(cuò)誤檢測(cè)模型來提高錯(cuò)誤檢測(cè)的召回率,或者添加其它表現(xiàn)更優(yōu)異的糾錯(cuò)模型用于覆蓋更多的糾錯(cuò)結(jié)果,性能將會(huì)進(jìn)一步提高。

        4.5 消融實(shí)驗(yàn)結(jié)果及分析

        為了驗(yàn)證DCsR框架中糾錯(cuò)集成器的結(jié)構(gòu)有效性以及排序算法的合理性,考慮在多種不同類型錯(cuò)誤的場(chǎng)景下,使用5個(gè)基線模型Bigram、FASPell 、BERT 、BART 和Delete分別進(jìn)行糾錯(cuò),再使用DCsR框架進(jìn)行集成得到集成式模型DCsR(Bigram+FASPell+BERT+BART+Delete)來進(jìn)行對(duì)比。其中,Delete表示判斷成分冗余進(jìn)行刪除操作的糾錯(cuò)器,若錯(cuò)誤位置為單字符,直接對(duì)錯(cuò)誤位置進(jìn)行刪除操作;若為連續(xù)錯(cuò)誤,則進(jìn)行分詞,依次對(duì)其中的每個(gè)詞進(jìn)行刪除操作以得到多種結(jié)果候選。為使表達(dá)簡潔,用ensemble表示以上5個(gè)基線模型的融合,對(duì)比直接投票結(jié)果與依次加入一級(jí)排序策略和二級(jí)排序策略的結(jié)果變化。

        實(shí)驗(yàn)中模型的性能以TOP1準(zhǔn)確率和TOP3準(zhǔn)確率來衡量。TOP1準(zhǔn)確率是考量模型只返回1個(gè)結(jié)果時(shí)的準(zhǔn)確率,當(dāng)返回結(jié)果與答案一致時(shí)認(rèn)為模型輸出結(jié)果正確;TOP3準(zhǔn)確率是考量模型返回概率排序前3的結(jié)果中包含答案,就認(rèn)為模型輸出的結(jié)果正確。實(shí)驗(yàn)結(jié)果如表5所示。

        Table 5 Ablation experiments on CGED2020 dataset表5 混合錯(cuò)誤數(shù)據(jù)集上的消融實(shí)驗(yàn)

        由表5可以看出,單模型的表現(xiàn)效果不一,但集成后TOP1準(zhǔn)確率大大提升,并且隨著DCsR排序策略的增加,TOP1準(zhǔn)確率均依次上升,證明了糾錯(cuò)集成器的有效性。還可以看出,在集成投票策略后,TOP3準(zhǔn)確率達(dá)到了74.9%,而TOP1準(zhǔn)確率只達(dá)到了66.3%,即最優(yōu)修正結(jié)果就在概率排序前3的結(jié)果中,但由于糾錯(cuò)結(jié)果具有唯一性,DCsR的候選排序策略又進(jìn)一步降低了從TOPK中挑選TOP1出錯(cuò)的概率。

        表6展示了多種模型對(duì)2個(gè)具體示例的修正結(jié)果,一個(gè)是錯(cuò)別字類型的錯(cuò)誤,一個(gè)是語法類型的錯(cuò)誤,而各模型的表現(xiàn)均不一,證明了模型在解決問題時(shí)的偏向性缺陷,因此利用DCsR框架集成糾錯(cuò)模型的輸出結(jié)果才更合理、更優(yōu)選。

        Table 6 Examples of modified results for various models表6 多種模型的修正結(jié)果示例

        5 結(jié)束語

        針對(duì)現(xiàn)有中文文本糾錯(cuò)主流方案中不同的模型只能解決部分錯(cuò)誤類型的糾正缺陷,且僅僅依賴單一模型進(jìn)行糾正或是通過簡單集成投票的方式得到的最終修正結(jié)果都缺乏可靠性,從而導(dǎo)致總是出現(xiàn)從候選集中挑選非最優(yōu)修正結(jié)果的問題,本文提出了面向中文文本的集成式糾錯(cuò)框架DCsR。該框架由錯(cuò)誤檢測(cè)器和糾錯(cuò)集成器2部分組成,解決了過度糾正導(dǎo)致的高誤報(bào)率,且不需要在已知錯(cuò)誤類型的前提假設(shè)上進(jìn)行對(duì)應(yīng)糾錯(cuò),而是通過領(lǐng)域特性自定義配比多種表現(xiàn)優(yōu)異的糾錯(cuò)模型進(jìn)行集成,可覆蓋多種錯(cuò)誤類型的糾正,也可在突出問題上重點(diǎn)覆蓋。其中集成策略通過構(gòu)建一個(gè)多策略、可拓展的候選排序算法進(jìn)行更可靠的修正。并且根據(jù)排序效率區(qū)分了利用字符級(jí)別的一級(jí)排序和句子級(jí)別的二級(jí)排序策略。在錯(cuò)別字錯(cuò)誤公開數(shù)據(jù)集SIGHAN15上與現(xiàn)在的主流糾錯(cuò)模型進(jìn)行對(duì)比測(cè)試,實(shí)驗(yàn)表明使用DCsR框架進(jìn)行糾錯(cuò)的F1性能指標(biāo)比表現(xiàn)最優(yōu)的單模型糾錯(cuò)提升了3.93%,糾錯(cuò)性能得到了進(jìn)一步提高。在混合錯(cuò)誤公開數(shù)據(jù)集CGED2020上的消融實(shí)驗(yàn)也表明了DCsR框架結(jié)構(gòu)的有效性。

        由于中文語義表達(dá)方式具有多樣性,本文提出的框架仍然存在很多不足,相比于端到端的方法來說,DCsR框架比較依賴錯(cuò)誤檢測(cè)器的召回率。本文提出的框架主要是解決目前糾錯(cuò)模型普遍存在缺陷和限制,在下一步的工作計(jì)劃中,擬嘗試使用表現(xiàn)更優(yōu)異的檢測(cè)模型進(jìn)行實(shí)驗(yàn),考慮再把在未知錯(cuò)誤類型下進(jìn)行修正的結(jié)果反向傳輸?shù)綑z測(cè)模型的訓(xùn)練過程中,共同訓(xùn)練網(wǎng)絡(luò)參數(shù),利用其優(yōu)化檢測(cè)效果。此外,在糾錯(cuò)集成器部分,嘗試進(jìn)一步優(yōu)化多糾錯(cuò)模型集成的效率問題,設(shè)計(jì)更好的解決方案,使其能夠得到廣泛應(yīng)用。

        猜你喜歡
        錯(cuò)別字字符排序
        尋找更強(qiáng)的字符映射管理器
        排序不等式
        詩嘲錯(cuò)別字
        恐怖排序
        錯(cuò)別字的自述
        字符代表幾
        一種USB接口字符液晶控制器設(shè)計(jì)
        電子制作(2019年19期)2019-11-23 08:41:50
        節(jié)日排序
        消失的殖民村莊和神秘字符
        刻舟求劍
        兒童繪本(2018年5期)2018-04-12 16:45:32
        日韩精品午夜视频在线| 国产在线丝袜精品一区免费| 99re6久精品国产首页| 亚洲国产综合一区二区| 狠狠躁日日躁夜夜躁2022麻豆| 日韩人妻无码精品-专区| 日本免费人成视频播放| 亚洲精品一区二区三区av| 亚洲精品有码日本久久久| 久久久久久亚洲av无码蜜芽| 国产nv精品你懂得| 人妻一区二区三区免费看| 人成综合视频在线播放| 亚洲国产成人无码av在线影院| 国产欧美va欧美va香蕉在线观 | 久久久日韩精品一区二区三区| 亚洲AⅤ无码日韩AV中文AV伦| 国内激情一区二区视频| 国产福利一区二区三区在线视频| 精品国产人成亚洲区| 亚洲专区一区二区在线观看| 国产成人综合久久大片| 亚洲av日韩综合一区久热| 人人妻人人澡av天堂香蕉| 亚洲国产一区久久yourpan| 国产视频一区二区在线免费观看| 成人区人妻精品一区二区不卡网站| 久久综合网天天 | 国产一区二区三区免费在线播放| 老妇高潮潮喷到猛进猛出| 久久精品国产亚洲精品| 亚洲欧美v国产蜜芽tv| 日本少妇一区二区三区四区| 精品丰满人妻无套内射| 精品久久久久久无码不卡 | 激情五月开心五月av| 免费观看18禁无遮挡真人网站| 在线免费黄网| 久久五月精品中文字幕| 搡女人真爽免费视频大全| 广东少妇大战黑人34厘米视频|