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

        ?

        基于Transformer網(wǎng)絡(luò)的中文單字詞檢錯方法研究

        2021-03-18 07:18:10曹存根
        中文信息學(xué)報 2021年1期
        關(guān)鍵詞:單字錯別字語料

        曹 陽,曹存根,王 石

        (1. 中國科學(xué)院 計算技術(shù)研究所 智能信息處理重點(diǎn)實(shí)驗室,北京100190;2. 中國科學(xué)院大學(xué),北京 10049)

        0 引言

        在日常使用計算機(jī)或手機(jī)等終端設(shè)備輸入漢字時,人們在輸入時的心理狀態(tài)、輸入習(xí)慣、誤觸按鍵或者文化水平等因素時常會造成文本中出現(xiàn)錯別字。例如,在語句“黃金首飾帶久了會發(fā)白”以及語句“我再這里等你好長時間了”中,“帶”和“再”都是比較容易用錯的單字詞(稱為中文單字詞錯誤)。在此背景下,研究文本錯誤自動識別對于規(guī)范中文漢字的使用和提升用戶感知體驗具有重要意義。

        針對多字詞錯別字情形,張仰森等[1]將多字詞錯別字分類為“非多字詞錯誤”和“真多字詞錯誤”。前者“非多字詞錯誤”指由兩個或兩個以上的漢字構(gòu)成的詞中至少出現(xiàn)一個別字替換錯誤、缺字錯誤或者多字錯誤;該詞也不是詞典中的詞。例如,“端莊”錯寫成“端壯”,而“端壯”在詞典中無法找到。“真多字詞錯誤”指一個多字詞錯成詞典中的另一個多字詞。根據(jù)錯別字產(chǎn)生的替換、缺字以及多字這三種原因,劉亮亮等[2]將非多字詞錯誤分類為“別字型非多字詞錯誤”“缺字型非多字詞錯誤”以及“多字型非多字詞錯誤”。

        雖然學(xué)術(shù)界對多字詞檢錯方法研究較多,但據(jù)我們所知,對單字詞檢錯方法的研究較少,本文重點(diǎn)研究中文單字詞檢錯方法。

        相比于中文多字詞錯誤自動識別,中文單字詞錯誤識別尤為困難,其原因主要體現(xiàn)在以下幾個方面:

        (1)單字詞往往是多義詞這些多義的單字詞可以和不同的詞組合,無疑增加了單字詞錯誤識別難度。

        (2)單字詞使用頻率高單字詞大都是一些常用高頻詞,例如,“的”“在”“這”等,它們的頻繁使用也給單字詞錯誤識別帶來困難。

        (3)上下文語境復(fù)雜單字詞的多義性和高頻性使得它在句中的位置具有隨機(jī)性,出現(xiàn)的上下文語境十分復(fù)雜,這又增加了單字詞錯誤的識別難度。

        (4)單字詞錯誤訓(xùn)練樣本收集困難通過對訓(xùn)練語料進(jìn)行抽樣統(tǒng)計,我們發(fā)現(xiàn),單字詞錯誤在抽樣語料中普遍存在,但因為沒有明顯的文本特征和上下文特征,所以很難自動搜集。本文所使用的方法需要大量單字詞錯誤訓(xùn)練樣本作為訓(xùn)練集,由于人工收集耗時耗力,因此需要一種能夠自動產(chǎn)生單字詞錯誤訓(xùn)練樣本的方法。

        針對上述問題,本文提出了一種利用漢字混淆集構(gòu)造單字詞錯誤訓(xùn)練語料、基于Transformer網(wǎng)絡(luò)的中文單字詞錯誤識別方法。Transformer網(wǎng)絡(luò)方法解決上述四個問題具有以下優(yōu)勢:

        (1) Transformer網(wǎng)絡(luò)在對字(或詞)進(jìn)行編碼的過程中能夠考慮字(或詞)的位置信息。

        (2) Transformer網(wǎng)絡(luò)避免了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)中存在的長期依賴的問題。

        (3) Transformer網(wǎng)絡(luò)可以通過Self-attention捕獲到句子中的每個字(或詞)與句子上下文內(nèi)部之間的關(guān)系。

        (4) Transformer網(wǎng)絡(luò)可以并行計算,提高訓(xùn)練速度[3]。

        1 相關(guān)研究

        國外對文本自動校對研究可以追溯到20世紀(jì)60年代,當(dāng)時研究文本自動校對的動機(jī)是為了解決數(shù)據(jù)錄入過程中出現(xiàn)的數(shù)據(jù)名稱拼寫錯誤[4]。斯坦福大學(xué)的Ralph Gorin[4]開發(fā)出第一款英語拼寫檢查程序SPELL。Damerau等[5]發(fā)現(xiàn)句子中的英文拼寫錯誤出現(xiàn)的原因主要是由于 “真詞”中的字母被替換、缺失、增加或?qū)Q所造成的。關(guān)于英文拼寫錯誤識別方法主要分成以下兩類: n-gram分析方法[6],這類方法是統(tǒng)計連續(xù)n個元素在語料中出現(xiàn)頻率來識別拼寫錯誤;字典查詢方法[6],這類方法假設(shè)字典中所包含的詞都是正確的,通過判斷當(dāng)前詞是否在字典中來識別英文拼寫錯誤。

        國內(nèi)對中文錯別字校對方法的研究可以分成以下四類: ①基于規(guī)則的方法。易蓉湘等[7]通過對文本中大量錯誤現(xiàn)象的觀察總結(jié)出規(guī)則進(jìn)行文本錯誤校對。②基于統(tǒng)計的方法。 Chang[8]提出根據(jù)漢字中的形似、音似、意似以及按鍵編碼相似來構(gòu)造混淆集,然后使用混淆集對句子中的字做相應(yīng)替換操作,并利用語言模型對替換前后句子打分來實(shí)現(xiàn)中文自動校對。Xie等[9]采用二元文法和三元文法相結(jié)合進(jìn)行文本錯別字識別,并且利用平滑技術(shù)來解決數(shù)據(jù)稀疏的問題。Han等[10]利用最大熵方法進(jìn)行錯別字的識別。③基于上下文局部語言特征方法。Zhang等[11]提出基于語言特征并利用Window方法進(jìn)行特征學(xué)習(xí)以實(shí)現(xiàn)文本的自動校對。④混合方法。于勐等[12]以模式匹配的方法和三元文法分析的方法為基礎(chǔ),結(jié)合語法屬性標(biāo)注和分析進(jìn)行中文校對。Ren等[13]提出基于統(tǒng)計和規(guī)則相結(jié)合的方法進(jìn)行錯別字校對。Liu等[14]提出利用統(tǒng)計機(jī)器翻譯和語言模型相結(jié)合的框架來產(chǎn)生錯別字更正的候選項集合,同時利用支持向量機(jī)對產(chǎn)生的錯別字更正候選項進(jìn)行排序來實(shí)現(xiàn)中文的自動校對。劉亮亮等[2]針對傳統(tǒng)“非多字詞錯誤”自動校對方法的不足,提出利用模糊分詞的“非多字詞錯誤”自動查錯和自動校對方法。

        2 本文的模型和方法

        2.1 基于漢字混淆集的訓(xùn)練語料生成方法

        本文利用施恒利等[15]和Liu等[16]研制的漢字混淆集來構(gòu)造Transformer網(wǎng)絡(luò)的訓(xùn)練語料。開始時,漢字混淆集是根據(jù)漢字之間的音似和形似等特點(diǎn)以手動方式構(gòu)建,隨后Liu等[16]使用大量語料進(jìn)行了自動擴(kuò)展。

        為了描述單字詞錯誤訓(xùn)練語料的生成算法,下面先引入兩個定義。

        定義1(漢字混淆集)漢字混淆集記為集合Cset={cs1,cs2,…,csi,…,csm},其中混淆集中csi={cpairi1,cpairi2,…,cpairij,…,cpairik}。csi中元素cpairij=(errChari,corrCharij),cpairij中第一個元素errChari稱為疑似錯別字,第二個元素corrCharij為errChari對應(yīng)的可能正確字。

        例如,csi={(帶,戴),(帶,代),(帶,待),…}就是“帶”的混淆集。它的含義是: 當(dāng)“帶”出現(xiàn)在語句S中,并且有證據(jù)懷疑“帶”是錯別字時,“帶”對應(yīng)的正確字可能是“戴”“代”“待”等。因此,當(dāng)計算機(jī)發(fā)現(xiàn)“黃金首飾帶久了會發(fā)白”中的“帶”可能是錯別字時,它會嘗試對“帶”在混淆集中對應(yīng)的可能正確字進(jìn)行必要的驗證。這不僅提高了錯別字識別精度,而且還提高了計算的效率。

        定義2(單字詞錯誤)S是由n個單字詞和多字詞組成的句子,假設(shè)句子S中沒有錯別字,記為S=c1…ci…cn,其中,n稱為S的長度,記為|S|,S中第i項ci的長度記為|ci|。如果|ci|=1,并且ci在漢字混淆集Cset中的疑似錯別字記為集合Error={errChar1,…,errCharj,…,errChark},其中,將errCharj替換句子S中的ci形成新的句子S′,記為S′=c1…errCharj…cn。 那么稱errCharj是S′中的單字詞錯誤。

        例如,S=“黃金 首飾戴久了 為什么 會 發(fā)白”,單字詞“戴”在漢字混淆集Cset中疑似錯別字集合為Error={帶,黛},將“帶”替換S中的“戴”形成新的句子S′=“黃金 首飾帶久了 為什么 會 發(fā)白”,其中,稱“帶”為句子S′的單字詞錯誤。

        下文我們將在漢字混淆集的基礎(chǔ)上構(gòu)建Transformer網(wǎng)絡(luò)的單字詞錯誤訓(xùn)練語料。

        Transformer網(wǎng)絡(luò)的訓(xùn)練需要大量的含有單字詞錯誤的數(shù)據(jù)。在日常生活中,相對于網(wǎng)絡(luò)上出現(xiàn)的海量數(shù)據(jù),單字詞錯誤出現(xiàn)的數(shù)量有限,不足以達(dá)到網(wǎng)絡(luò)訓(xùn)練的目的。如果以人工方式標(biāo)記單字詞錯誤將十分耗時耗力,并且訓(xùn)練語料中單字詞錯誤分布是否合理將直接影響到單字詞錯誤識別效果。針對這個問題,本文設(shè)計出一種利用原始語料和漢字混淆集來自動構(gòu)建單字詞錯誤訓(xùn)練語料的方法。

        在生成單字詞錯誤訓(xùn)練語料前,我們從表1中的網(wǎng)址下載了大量的網(wǎng)頁。每個網(wǎng)頁去除標(biāo)簽形成純文本。采用ICTCLAS分詞器(1)http://ictclas.nlpir.org/對文本進(jìn)行分詞。為了便于后續(xù)處理,將分詞后的文本按照句號、分號、逗號、感嘆號以及問號分割成一個一個的句子。最后形成語料庫,記為segCorpus={doc1,…,doci,…,docn}。

        算法1給出了單字詞錯誤訓(xùn)練語料生成過程。在第8行,定義了一個標(biāo)簽數(shù)組Tag,并且初始化為“C”,表示S′中的每個字都是正確的。在第12行中,當(dāng)確定segj為單字詞,且CSet存在segj對應(yīng)的混淆字errChari,那么在第14行用errChari替換S′中的segIndex位置的字,并且在第17行用“E”標(biāo)記出在S′中segIndex位置上的errChari是單字詞錯誤。

        算法1 單字詞錯誤訓(xùn)練語料生成算法輸入: (1) 分詞后文本語料庫: segCorpus={doc1,…,doci,…,docn}(2) 中文漢字混淆集:Cset={cs1,…,csk,…,csm}輸出: (1)單字詞錯誤訓(xùn)練語料Corpus1. Corpus={}2. 對segCorpus中的每篇doci:3. {4. 對doci中每句S'=seg1…segj…segh:5. {6. segLen=seg1+…segj…+segh;7. segIndex=0;8. 定義長度為senLen的標(biāo)簽數(shù)組Tag[0… senLen],初始化數(shù)組中每個值為“C”;9. 對S'中每項segj: 10. {11. segIndex=segIndex+|segj|;12. 如果segj=1,且Cset中存在混淆對 (errChari,segj),則:13. {14. S'segIndex =errChari;15. typoSent=S';16. Sent=convertToChar(typoSent);17. Tag[segIndex]=“E”;18. Corpus=Corpus∪Sent,Tag ;19. S'segIndex =segj;20. Tag[segIndex]=“C”;21. }22. }23. }24. }25. Return Corpus;

        以S′=“黃金/首飾/戴/久/了/會/發(fā)白”為例,S對應(yīng)標(biāo)簽數(shù)組初始化為Tag[0]=“C”,…,Tag[9]=“C”。由于(帶,戴)是Cset的一個漢字混淆對,因此,第15行產(chǎn)生了一個含錯別字的句子typoSent=“黃金/首飾/帶/久/了/會/發(fā)白”。此時,第16行產(chǎn)生單字詞錯誤的訓(xùn)練語句Sent=“黃 金 首 飾帶久 了 會 發(fā) 白”。對應(yīng)的標(biāo)簽數(shù)組修改為Tag[0]=“C” ,…,Tag[4]=“E” ,…,Tag[9]=“C”,其中,Tag[4]=“E”表示Sent中的“帶”是單字詞錯誤。

        需要注意的是,Corpus中的每條語句僅含一個單字詞錯誤。

        2.2 基于Transformer的單字詞檢錯模型

        近幾年來,具有注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)在自然語言應(yīng)用領(lǐng)域取得了突破性進(jìn)展[17]。本質(zhì)原因是注意力機(jī)制對自然語言文本中的重要信息賦予更高的權(quán)重,因此具有注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)更能學(xué)習(xí)到文本的重要信息。

        與主流的端到端神經(jīng)網(wǎng)絡(luò)架構(gòu)中利用RNN作為自然語言文本的編碼器和解碼器不同,Vaswani等[3]利用Transformer網(wǎng)絡(luò)解決RNN處理數(shù)據(jù)不具備并行運(yùn)行的缺陷。其中,編碼器和解碼器分別由多個塊(block)串聯(lián)組成,編碼器中的每個block由多頭注意力機(jī)制層(multi-head attention)和前向反饋神經(jīng)網(wǎng)絡(luò)層兩部分組成,這兩部分都使用了殘差連接和歸一化(normalization)操作。解碼器比編碼器多了編碼—解碼注意機(jī)制(encoder-decoder attention),其中多頭注意力機(jī)制是通過多個自注意力機(jī)制(self-attention)堆疊而成。

        為了得到句子中的每個字和句子中所有字之間的語義關(guān)系,Transformer網(wǎng)絡(luò)使用了自注意力機(jī)制來描述(圖1)。通過自注意力機(jī)制可以訓(xùn)練出句子中每個字與句子中所有字上下文之間的關(guān)系。自注意力機(jī)制主要原理如下: 假設(shè)自注意力機(jī)制中輸入單字詞錯誤例句S的字嵌入矩陣為S=[c1,c2,…,ci,…cn],(S∈n×dim,n表示句子S中所含有字的個數(shù),dim表示字向量ci的維度),通過對字嵌入矩陣S與權(quán)重矩陣WQ,WK,WV(WQ∈dim×dQ,WK∈dim×dQ,WV∈dim×dV)相乘得到對應(yīng)Q(Query),K(Key),V(Value)(Q∈n×dQ,K∈n×dQ,V∈n×dV)。接著Transformer采用注意力機(jī)制中常用的縮放點(diǎn)積(scaled dot-product)函數(shù),首先對Q和KT內(nèi)積得到相應(yīng)的注意力權(quán)重矩陣,該矩陣中的值表示句子中字與字之間的相關(guān)性,再除以等于K的維度),然后對得到的結(jié)果進(jìn)行mask和SoftMax操作,最后通過和V加權(quán)求和得到自注意力特征編碼如式(1)所示。

        圖1 Scaled Dot-Product Attention機(jī)制[3]

        如圖2所示,多頭注意力機(jī)制能夠在不同的表示子空間中獲取信息,對Q(query),K(key),V(value)分別做線性變換后再進(jìn)行scaled dot-product attention操作,接著對上述操作重復(fù)做h次后,再將scaled dot-product attention的結(jié)果進(jìn)行拼接和線性變換,最終得到多頭注意力機(jī)制的輸出,多頭注意力機(jī)制如式(2)、式(3)所示。

        圖2 Multi-Head Attention機(jī)制[3]

        (2)

        MH(Q,K,V)=Concat(head1,…,headh)Wo

        (3)

        為了便于描述單字詞錯誤檢錯網(wǎng)絡(luò)訓(xùn)練過程,我們假設(shè)單字詞錯誤訓(xùn)練網(wǎng)絡(luò)的批大小(batch size)為b,編碼器和解碼器的層數(shù)為1。整個單字詞錯誤檢錯網(wǎng)絡(luò)的訓(xùn)練流程如下:

        第一步首先,將b條單字詞錯誤句子對應(yīng)的索引編碼I通過字向量嵌入層得到字嵌入張量S。 其次,通過位置編碼層得到位置編碼張量P,將位置編碼張量P和字嵌入張量S相加,得到字嵌入張量S′;

        第二步將字嵌入張量S′輸入到編碼器部分的multi-head attention層后使用Add&Norm操作。其中,Add操作是將字嵌入張量S′和multi-head attention層輸出張量相加,Norm操作是對Add的結(jié)果進(jìn)行歸一化(layer normalization),歸一化操作有助于模型訓(xùn)練穩(wěn)定,最后輸出結(jié)果為M;

        第三步將M通過前向反饋神經(jīng)網(wǎng)絡(luò)后使用Add&Norm操作,最后得到編碼器的編碼結(jié)果;

        第四步將單字詞錯誤標(biāo)簽索引序列通過字嵌入層和位置編碼層得到字嵌入張量T′;

        第五步將T′輸入到masked multi-head attention 層后使用Add&Norm操作,最后輸出結(jié)果為Query;

        第六步將解碼器中的Query與Encoder編碼結(jié)果的Key和Value作為 multi-head attention層的輸入后使用 Add&Norm操作,最后輸出結(jié)果為O;

        第七步將O輸入到解碼器中的前向反饋神經(jīng)網(wǎng)絡(luò)后使用Add&Norm操作,對解碼器的輸出結(jié)果使用Linear和Softmax操作得到句子中單字詞是否是錯別字的概率分布,計算損失函數(shù)并利用反向傳播更新網(wǎng)絡(luò)中的參數(shù)。

        2.3 基于滑動窗口的單字詞錯誤測試方法

        本文實(shí)驗的目的是為了識別出文本中的單字詞錯誤。一方面,Transformer網(wǎng)絡(luò)在做單字詞錯誤測試中泛化能力較弱,測試結(jié)果往往誤糾率較高。另一方面,Transformer網(wǎng)絡(luò)模型中的參數(shù)較多,神經(jīng)網(wǎng)絡(luò)測試時的結(jié)果往往具有不可解釋性。我們只能依賴個人經(jīng)驗對網(wǎng)絡(luò)參數(shù)進(jìn)行調(diào)參,但是如果只是不斷調(diào)節(jié)網(wǎng)絡(luò)參數(shù)來適應(yīng)測試句子中的單字詞錯誤的結(jié)果,又會極大地浪費(fèi)時間。例如,在原始的句子中“加字”或“減字”都會影響單字詞錯誤的識別。因此,本文提出采用多窗口的方法進(jìn)行測試,即輸入時對待測語句加入固定大小的移動窗口,通過對待測語句移動窗口生成多條測試語句進(jìn)行測試,最后綜合考慮得到單字詞錯誤識別的預(yù)測結(jié)果。算法2給出了具體的單字詞錯誤測試算法。

        算法2: 單字詞錯誤測試算法輸入: (1) 待測句子sent(2) 移動窗口大小為winsize(3) 每次移動步長為stride輸出: (1)識別出的單字詞錯誤Error1. testSet={};//testSet為sent的測試集合2. predArr=[];//predArr為sent中所有可能的單字詞錯誤;3. len=sent.length;//計算待測句子的長度4. 如果len小于或等于winsize,則將sent加入到測試集合testSet中;5. 如果len大于winsize,則使用winsize大小的窗口對sent自左往右以步長大小為stride進(jìn)行移動,并將每次窗口移動中的字符串加入到testSet中;6. For testi in testSet do:7. Errori=predict(testi)//利用訓(xùn)練出的單字詞檢錯網(wǎng)絡(luò)模型預(yù)測testi中單字詞錯誤Errori;8. predArr=predArr.add(Errori)//將單字詞錯誤Errori加入到predArr;9. Error=majority(predArr) //將predArr中出現(xiàn)次數(shù)最多的單字詞作為sent中的單字詞錯誤;10. Return Error;

        例如,待測句子S=“由于印度越南等過限制大米出口”,移動窗口winsize=10。在第5行,由移動窗口在S中移動生成testSet,testSet={“由于印度越南等過限制”,“于印度越南等過限制大”,“印度越南等過限制大米”, “度越南等過限制大米出”,“越南等過限制大米出口”}。在第8行,sent中所有可能的單字詞錯誤predArr=[“過”,“過”,“過”,“出”,“過”]。在第9行,將predArr中出現(xiàn)次數(shù)最多單字詞“過”作為sent中的單字詞錯誤。

        3 實(shí)驗與分析

        3.1 訓(xùn)練數(shù)據(jù)與測試指標(biāo)

        在訓(xùn)練語料生成中,本文還考慮了以下兩個方面。

        (1)漢字混淆集的出現(xiàn)率漢字混淆集中的漢字errChari盡可能多地出現(xiàn)在訓(xùn)練語料中,并且分詞后以單字詞的形式出現(xiàn)在訓(xùn)練語料中。

        (2)領(lǐng)域豐富性、題材多樣性單字詞錯誤訓(xùn)練語料來自多個不同的領(lǐng)域,使得訓(xùn)練出來的Transformer網(wǎng)絡(luò)模型能適用較多領(lǐng)域。

        為此,本文選擇了“新聞類”“科技類”“財經(jīng)類”“娛樂類”網(wǎng)站的網(wǎng)頁作為訓(xùn)練語料來源,如表1 所示。

        我們從表1的網(wǎng)址上爬取了大量的語料,經(jīng)過去除HTML標(biāo)簽、分句和分詞等預(yù)處理后,產(chǎn)生語料庫segCorpus,大約有405MB,如表2所示。

        表1 訓(xùn)練語料類別與來源

        表2 segCorpus含有的語料類別和大小

        通過算法1自動生成單字詞錯誤語料,我們獲得了單字詞錯誤語料庫,大小為7.8GB。

        對Corpus隨機(jī)抽取出7.2MB作為測試集,剩余語料作為訓(xùn)練集。我們課題組在真實(shí)語料中收集了單字詞錯誤例句共有220條,也作為本實(shí)驗的測試語料。如表3所示,需要注意的是,這兩個測試集中,每條語句僅含一個單字詞錯誤。

        表3 單字詞錯誤測試集

        本文采用召回率、精確率以及F1評價Transformer網(wǎng)絡(luò)的識別單字詞錯誤性能,如式(4)~式(6)所示。

        3.2 實(shí)驗過程與結(jié)果分析

        為了驗證第2節(jié)所述的單字詞錯誤識別方法的可行性,我們進(jìn)行了實(shí)驗。實(shí)驗過程中所使用服務(wù)器的型號為Dell PowerEdge R730,操作系統(tǒng)為Ubuntu, RAM的內(nèi)存大小為64GB,顯卡類型為NVIDIA GTX1080ti,運(yùn)行代碼主要基于Tensorflow軟件,分詞器采用ICTCLAS。

        本文訓(xùn)練神經(jīng)網(wǎng)絡(luò)隱藏單元設(shè)置成320,dropout設(shè)置成0.05,學(xué)習(xí)率設(shè)置成0.001,優(yōu)化算法使用Adam,字向量的維度設(shè)置成320。分別對自動生成的測試集句和220條人工收集的真實(shí)例句進(jìn)行測試,不同窗口的實(shí)驗結(jié)果見表4~表6。

        表4 自動生成的測試集的效果

        表5 人工收集的測試集的效果

        通過對表4和表5實(shí)驗結(jié)果分析發(fā)現(xiàn),并不是移動窗口越大,單字詞檢錯效果越好,當(dāng)窗口數(shù)是15時,在兩個測試集上識別精確率、召回率以及F1都分別達(dá)到最優(yōu)。

        表6顯示,基于Transformer網(wǎng)絡(luò)的單字詞錯誤識別方法在準(zhǔn)確率和召回率上要比傳統(tǒng)的BiLSTM和3-GRAM的單字詞檢錯方法高。Transformer帶窗口測試相比不帶窗口測試準(zhǔn)確率和召回率都有增加,說明窗口測試對提高單字詞錯誤識別的準(zhǔn)確率起到了一定作用。

        表6 不同模型和窗口測試結(jié)果

        表7和表8分別是測出錯別字和未測出錯別字的部分案例。對人工收集的測試集中未測出單字詞錯誤的語句進(jìn)行分析,發(fā)現(xiàn)有以下特點(diǎn):

        (1) 句中含有字?jǐn)?shù)較多的人名、地名、日期。 這類約占35%;

        (2) 單字詞錯誤位于測試句的句首或者句尾。這類約占30%;

        (3) 測試句子中包含阿拉伯?dāng)?shù)字、字母、特殊符號。這類約占22%;

        (4) 分詞結(jié)果不正確導(dǎo)致單字詞錯誤無法判斷。例如,有時分詞工具會把多字詞切碎,這樣會給我們構(gòu)造的單字詞錯誤訓(xùn)練語料造成干擾。這類約占7%;

        (5) 待測句子過長,識別往往出錯。這類約占6%。

        表7 測出錯別字部分案例

        表8 未測出錯別字部分案例

        4 總結(jié)

        針對單字詞檢錯困難的問題,本文基于Transformer網(wǎng)絡(luò),提出一種利用原始語料和漢字混淆集[15-16]來自動構(gòu)建單字詞檢錯訓(xùn)練語料,并使用移動窗口以提高單字詞檢錯準(zhǔn)確性的方法。從實(shí)驗效果來看,基于Transformer網(wǎng)絡(luò)方法的F1值要比傳統(tǒng)的3-GRAM和BiLSTM方法高出12至16個百分點(diǎn)。在同樣的Transformer網(wǎng)絡(luò)模型測試時,加窗口又比不加窗口的方法在精確率和召回率方面都得到較大提升。通過對實(shí)驗結(jié)果中的錯誤分析,發(fā)現(xiàn)在待測句中單字詞錯誤能否被正確識別與很多因素有關(guān)。例如,待測句中含有字?jǐn)?shù)較多的人名、地名、日期,單字詞錯誤在句中的位置,標(biāo)點(diǎn)符號、句子長短、分詞是否準(zhǔn)確等。這反映出Transformer 網(wǎng)絡(luò)進(jìn)行單字詞檢錯還有一定的局限性。對一些句首或句尾的錯別字,應(yīng)用移動窗口的方法測試,測試準(zhǔn)確性較差,主要原因是一方面位于首尾的單字詞錯誤在語句中缺少上下文語境,另一方面是移動窗口產(chǎn)生位于句首或句尾單字詞錯誤的測試語句較少。下一步工作,我們將探索提高位于句首或者句尾的單字詞錯誤識別準(zhǔn)確性的方法。

        猜你喜歡
        單字錯別字語料
        河北大名話單元音韻母、單字調(diào)及雙音節(jié)非輕聲詞連調(diào)的實(shí)驗語音學(xué)初探
        詩嘲錯別字
        錯別字的自述
        基于語料調(diào)查的“連……都(也)……”出現(xiàn)的語義背景分析
        高考作文常見錯別字大全
        “對仗不宜分解到單字”毋庸置疑——答顧紳先生“四點(diǎn)質(zhì)疑”
        中華詩詞(2016年11期)2016-07-21 14:56:16
        鹽城方言單字調(diào)聲學(xué)實(shí)驗研究
        我與錯別字
        華語電影作為真實(shí)語料在翻譯教學(xué)中的應(yīng)用
        《苗防備覽》中的湘西語料
        av一区二区三区观看| 亚洲美女啪啪| 欧美日韩国产乱了伦| 亚洲一本二区偷拍精品| 免费看美女被靠到爽的视频| 国产国拍精品av在线观看按摩 | 97一期涩涩97片久久久久久久| 精品无码人妻一区二区三区品| 中文字幕人妻中文| 高清成人在线视频播放| 亚洲 小说区 图片区 都市| 国内精品自在自线视频| 久久99国产亚洲高清| 人妻丰满熟妇一二三区| 国产欧美日韩va另类在线播放| 成人综合网亚洲伊人| 乱色视频中文字幕在线看| 国产护士一区二区三区| 日韩人妻ol丝袜av一二区| 两个人看的www中文在线观看| 不打码在线观看一区二区三区视频| 久久亚洲中文字幕精品熟| 九色九九九老阿姨| 精品国产91天堂嫩模在线观看| 中文字幕人妻乱码在线| 色又黄又爽18禁免费网站现观看| 1000部夫妻午夜免费| 亚洲xx视频| 亚洲最新精品一区二区| 最近免费mv在线观看动漫| 精品久久久久久蜜臂a∨| 日韩一区二区中文天堂| 亚洲人成欧美中文字幕| 麻豆精品久久久久久久99蜜桃| 粉嫩av一区二区在线观看| 国产一级二级三级在线观看av| 精品久久欧美熟妇www| 日韩一区二区不卡av| 日韩精品极品系列在线免费视频| 风流老熟女一区二区三区| 国产精品亚洲一区二区杨幂|