0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

中文文本糾錯任務

深度學習自然語言處理 ? 來源:ChallengeHub ? 作者:ChallengeHub ? 2022-07-26 14:25 ? 次閱讀

最近在理中文文本糾錯任務,文本根據(jù)搜集到的文章整理成的任務簡介,在此先感謝大佬們分享的高質(zhì)量資料

1

任務簡介

中文文本糾錯是針對中文文本拼寫錯誤進行檢測與糾正的一項工作,中文的文本糾錯,應用場景很多,諸如輸入法糾錯、輸入預測、ASR 后糾錯等等,例如:

  • 寫作輔助:在內(nèi)容寫作平臺上內(nèi)嵌糾錯模塊,可在作者寫作時自動檢查并提示錯別字情況。從而降低因疏忽導致的錯誤表述,有效提升作者的文章寫作質(zhì)量,同時給用戶更好的閱讀體驗。

  • 公文糾錯:針對公文寫作場景,提供字詞、標點、專名、數(shù)值內(nèi)容糾錯,包含領(lǐng)導人姓名、領(lǐng)導人職位、數(shù)值一致性等內(nèi)容的檢查與糾錯,輔助進行公文審閱校對。

  • 搜索糾錯:用戶在搜索時經(jīng)常輸入錯誤,通過分析搜索query的形式和特征,可自動糾正搜索query并提示用戶,進而給出更符合用戶需求的搜索結(jié)果,有效屏蔽錯別字對用戶真實需求的影響。

  • 語音識別對話糾錯將文本糾錯嵌入對話系統(tǒng)中,可自動修正語音識別轉(zhuǎn)文本過程中的錯別字,向?qū)υ捓斫庀到y(tǒng)傳遞糾錯后的正確query,能明顯提高語音識別準確率,使產(chǎn)品整體體驗更佳

圖片來源---百度大腦AI開放平臺-文本糾錯:https://ai.baidu.com/tech/nlp_apply/text_corrector

2

中文拼寫常見錯誤類型

錯誤類型 示例
同音字相似錯誤 強烈推薦-墻裂推薦、配副眼睛-配副眼鏡
近音字相似錯誤 牛郎織女-流浪織女
字形相似錯誤 頑強拼搏-頑強拼博
詞序混亂 兩戶人家-兩家人戶
缺字少字 浩瀚星海-浩瀚星
中文全拼拼寫 天下-tianxia
中文首字母縮寫 北京-bj
中文簡拼 明星大偵探-明偵
語法錯誤 無法言說-言說無法

我們把中文常見錯誤總結(jié)分為三類:1、用詞錯誤,由于輸入法等原因?qū)е碌倪x詞錯誤,其主要表現(xiàn)為音近,形近等;2、文法/句法錯誤,該類錯誤主要是由于對語言不熟悉導致的如多字、少字、亂序等錯誤,其錯誤片段相對較大;3、知識類錯誤,該類錯誤可能由于對某些知識不熟悉導致的錯誤,要解決該類問題,通常得引入外部知識、常識等。

當然,針對確定場景,這些問題并不一定全部存在,比如輸入法中需要處理1234,搜索引擎需要處理1234567,ASR 后文本糾錯只需要處理12,其中5主要針對五筆或者筆畫手寫輸入等。

3

主流技術(shù)

中文本糾錯的 paper 很多,整體來看,可以統(tǒng)一在一個框架下,即三大步:1e35cd98-0ca5-11ed-ba43-dac502259ad0.png

  • 錯誤識別

該階段主要目的在于,判斷文本是否存在錯誤需要糾正,如果存在則傳遞到后面兩層。這一階段可以提高整體流程的效率。

錯誤識別/檢測的目標是識別輸入句子可能存在的問題,采用序列表示(Transformer/LSTM)+CRF的序列預測模型,這個模型的創(chuàng)新點主要包括:1、詞法/句法分析等語言先驗知識的充分應用;2、特征設(shè)計方面,除了DNN相關(guān)這種泛化能力比較強的特征,還結(jié)合了大量hard統(tǒng)計特征,既充分利用DNN模型的泛化能力,又對低頻與OOV(Out of Vocabulary)有一定的區(qū)分;3、最后,根據(jù)字粒度和詞粒度各自的特點,在模型中對其進行融合,解決詞對齊的問題

  • 候選召回

候選召回指的是,識別出具體的錯誤點之后,需要進行錯誤糾正,為了達到更好的效果以及性能,需要結(jié)合歷史錯誤行為,以及音形等特征召回糾錯候選。主要可分為兩部分工作:離線的候選挖掘,在線的候選預排序。離線候選挖掘利用大規(guī)模多來源的錯誤對齊語料,通過對其模型,得到不同粒度的錯誤混淆矩陣。在線候選預排序主要是針對當前的錯誤點,對離線召回的大量糾錯候選,結(jié)合語言模型以及錯誤混淆矩陣的特征,控制進入糾錯排序階段的候選集數(shù)量與質(zhì)量。

該階段主要目的在于,利用一種或多種策略(規(guī)則或模型),生成針對原句的糾正候選。這一階段是整體流程召回率的保證,同時也是一個模型的上限。

  • 糾錯排序

該階段主要目的在于,在上一階段基礎(chǔ)上,利用某種評分函數(shù)或分類器,結(jié)合局部乃至全局的特征,針對糾正候選進行排序,最終排序最高(如沒有錯誤識別階段,則仍需比原句評分更高或評分比值高過閾值,否則認為不需糾錯)的糾正候選作為最終糾錯結(jié)果。

1e4a55f6-0ca5-11ed-ba43-dac502259ad0.png

4

中文文本糾錯評測

數(shù)據(jù)集

SIGHANBake-off2013:[http://ir.itc.ntnu.edu.tw/lre/sighan7csc.html](http://ir.itc.ntnu.edu.tw/lre/sighan7csc.html)

SIGHANBake-off2014:[http://ir.itc.ntnu.edu.tw/lre/clp14csc.html](http://ir.itc.ntnu.edu.tw/lre/clp14csc.html)

SIGHANBake-off2015:[http://ir.itc.ntnu.edu.tw/lre/sighan8csc.html](http://ir.itc.ntnu.edu.tw/lre/sighan8csc.html)

中文輸入糾錯的評測數(shù)據(jù)主要包括SIGHAN Bake-off 2013/2014/2015這三個數(shù)據(jù)集,均是針對繁體字進行的糾錯。其中,只有SIGHAN Bake-off 2013是針對母語使用者的,而另外兩個是針對非母語使用者。

評價指標

這里主要羅列一下常用的評測指標。在錯誤識別子任務中,常用的評測指標有:

  • FAR(錯誤識別率):沒有筆誤卻被識別為有筆誤的句子數(shù)/沒有筆誤的句子總數(shù)

  • DA(識別精準率):正確識別是否有筆誤的句子數(shù)(不管有沒有筆誤)/句子總數(shù)

  • DP(識別準確率):識別有筆誤的句子中正確的個數(shù)/識別有筆誤的句子總數(shù)

  • DR(識別找回率):識別有筆誤的句子中正確的個數(shù)/有筆誤的句子總數(shù)

  • DF1(識別F1值):2 * DP * DR/ (DP + DR)

  • ELA(錯誤位置精準率):位置識別正確的句子(不管有沒有筆誤)/句子總數(shù)

  • ELP(錯誤位置準確率):正確識別出筆誤所在位置的句子/識別有筆誤的句子總數(shù)

  • ELR(錯誤位置召回率):正確識別出筆誤所在位置的句子/有筆誤的句子總數(shù)

  • ELF1(錯誤位置準確率):2ELPELR / (ELP+ELR)在錯誤糾正任務中,常用的評測指標為:

  • LA位置精確率:識別出筆誤位置的句子/總的句子

  • CA修改精確率:修改正確的句子/句子總數(shù)

  • CP修改準確率:修改正確的句子/修改過的句子

雖然文本糾錯具體會分為錯誤識別和錯誤修正兩部分,并分別構(gòu)造評價指標。但考慮到端到端任務,我們評價完整的糾錯過程:

  • 應該糾錯的,即有錯文本記為 P,不該糾錯的,即無錯文本記為 N
  • 對于該糾錯的,糾錯對了,記為 TP,糾錯了或未糾,記為 FP
  • 對于不該糾錯的,未糾錯,記為 TN,糾錯了,記為 FN。通常場景下,差準比查全更重要,F(xiàn)N 更難接受,本來對了改成錯的這個更離譜,可構(gòu)造下述評價指標:,其中

5

相關(guān)方法

相關(guān)論文

整理來自:https://blog.csdn.net/qq_36426650/article/details/122807019

  • 【1】DCSpell:A Detector-Corrector Framework for Chinese Spelling Error Correction(SIGIR2021)
  • 【2】Tail-to-Tail Non-Autoregressive Sequence Prediction for Chinese Grammatical Error Correction- (ACL2021)
  • 【3】Correcting Chinese Spelling Errors with Phonetic Pre-training(ACL2021)
  • 【4】PLOME:Pre-trained with Misspelled Knowledge for Chinese Spelling Correction(ACL2021)
  • 【5】PHMOSpell:Phonological and Morphological Knowledge Guided Chinese Spelling Check(ACL2021)
  • 【6】Exploration and Exploitation: Two Ways to Improve Chinese Spelling Correction Models(ACL2021)
  • 【7】Dynamic Connected Networks for Chinese Spelling Check(2021ACL)
  • 【8】Global Attention Decoder for Chinese Spelling Error Correction(ACL2021)
  • 【9】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking(ACL2021)
  • 【10】SpellBERT: A Lightweight Pretrained Model for Chinese Spelling Check(EMNLP2021)
  • 【11】A Hybrid Approach to Automatic Corpus Generation for Chinese Spelling Check(EMNLP2018)
  • 【12】Adversarial Semantic Decoupling for Recognizing Open-Vocabulary Slots(EMNLP2020)
  • 【13】Chunk-based Chinese Spelling Check with Global Optimization(EMNLP2020)
  • 【14】Confusionset-guided Pointer Networks for Chinese Spelling Check(ACL2019)
  • 【15】Context-Sensitive Malicious Spelling Error Correction(WWW2019)
  • 【16】FASPell:A Fast, Adaptable, Simple, Powerful Chinese Spell Checker Based On DAE-Decoder Paradigm (2019ACL)
  • 【17】SpellGCN:Incorporating Phonological and Visual Similarities into Language Models for Chinese Spelling Check (2020ACL)
  • 【18】Spelling Error Correction with Soft-Masked BERT(ACL2020)

在OpenReview上提交至ARR2022的相關(guān)稿件有:

  • 【1】Exploring and Adapting Chinese GPT to Pinyin Input Method 【PDF】
  • 【2】The Past Mistake is the Future Wisdom: Error-driven Contrastive Probability Optimization for Chinese Spell Checking 【PDF】【Code】【Data】
  • 【3】Sparsity Regularization for Chinese Spelling Check【PDF】
  • 【4】Pre-Training with Syntactic Structure Prediction for Chinese Semantic Error Recognition【PDF】
  • 【5】ECSpellUD: Zero-shot Domain Adaptive Chinese Spelling Check with User Dictionary【PDF】
  • 【6】SpelLM: Augmenting Chinese Spell Check Using Input Salience【PDF】【Code】【Data】
  • 【7】Pinyin-bert: A new solution to Chinese pinyin to character conversion task【PDF】

簡單總結(jié)一下目前CSC的方法:

  • 基于BERT:以為CSC時是基于token(字符)級別的預測任務,輸入輸出序列長度一致,因此非常類似預訓練語言模型的Masked Language Modeling(MLM),因此現(xiàn)如今絕大多數(shù)的方法是基于MLM實現(xiàn)的。而在BERT問世前,CSC則以RNN+Decoder、CRF為主;

  • 多模態(tài)融合:上文提到CSC涉及到字音字形,因此有一些方法則是考慮如何將Word Embedding、Glyphic Embedding和Phonetic Embedding進行結(jié)合,因此涌現(xiàn)出一些多模態(tài)方法;

6

最新技術(shù)

  • FASPell(愛奇藝)

技術(shù)方案 FASPell: A Fast, Adaptable, Simple, Powerful Chinese Spell Checker Based On DAE-Decoder Paradigm

code: https://github.com/iqiyi/FASPell

  • SpellGCN (阿里)

技術(shù)方案 SpellGCN: Incorporating Phonological and Visual Similarities into Language Models for Chinese Spelling Check

code: https://github.com/ACL2020SpellGCN/SpellGCN

  • Soft-Mask BERT (字節(jié))

技術(shù)方案:Spelling Error Correction with Soft-Masked BERT

code: https://github.com/hiyoung123/SoftMaskedBert

  • Spelling Correction as a Foreign Language (ebay)

技術(shù)方案 Spelling Correction as a Foreign Language

7

中文糾錯的開源項目

pycorrector

https://github.com/shibing624/pycorrector

中文文本糾錯工具。支持中文音似、形似、語法錯誤糾正,python3開發(fā)。pycorrector實現(xiàn)了Kenlm、ConvSeq2Seq、BERT、MacBERT、ELECTRA、ERNIE、Transformer等多種模型的文本糾錯,并在SigHAN數(shù)據(jù)集評估各模型的效果。

correction

https://github.com/ccheng16/correction

大致思路:

  • 使用語言模型計算句子或序列的合理性
  • bigram, trigram, 4-gram 結(jié)合,并對每個字的分數(shù)求平均以平滑每個字的得分
  • 根據(jù)Median Absolute Deviation算出outlier分數(shù),并結(jié)合jieba分詞結(jié)果確定需要修改的范圍
  • 根據(jù)形近字、音近字構(gòu)成的混淆集合列出候選字,并對需要修改的范圍逐字改正
  • 句子中的錯誤會使分詞結(jié)果更加細碎,結(jié)合替換字之后的分詞結(jié)果確定需要改正的字
  • 探測句末語氣詞,如有錯誤直接改正

Cn_Speck_Checker

https://github.com/PengheLiu/Cn_Speck_Checker

  • 使用了貝葉斯定理
  • 初始化所有潛在中文詞的先驗概率,將文本集(50篇醫(yī)學文章)分詞后,統(tǒng)計各個中文詞的出現(xiàn)頻率即為其先驗概率
  • 當給定一待糾錯單詞時,需要找出可能的正確單詞列表,這里根據(jù)字符距離來找出可能的正確單詞列表
  • 對構(gòu)造出來的單詞做了一次驗證后再將其加入候選集合中,即判斷了下該詞是否為有效單詞,根據(jù)其是否在單詞模型中
  • 程序原理:

chinese_correct_wsd

https://github.com/taozhijiang/chinese_correct_wsd

  • 用于用戶輸入語句的同音自動糾錯
  • 使用到了同義詞詞林
  • 方法:

Autochecker4Chinese

https://github.com/beyondacm/Autochecker4Chinese

  • 構(gòu)造一個詞典來檢測中文短語的拼寫錯誤,key是中文短語,值是在語料庫中的頻率
  • 對于該字典中未出現(xiàn)的任何短語,檢測器會將其檢測為拼寫錯誤的短語
  • 使用編輯距離為錯誤拼寫的短語制作正確的候選列表
  • 對于給定的句子,使用jieba做分割
  • 在分段完成后獲取分段列表,檢查其中是否存在保留短語,如果不存在,那么它是拼寫錯誤的短語
  • 方法:

8

參考資料

  • 中文糾錯(Chinese Spelling Correct)最新技術(shù)方案總結(jié)
  • 中文文本糾錯算法--錯別字糾正的二三事
  • 中文文本糾錯算法走到多遠了?
  • 中文輸入糾錯任務整理
  • nlp 中文文本糾錯_百度中文糾錯技術(shù)
  • 中文拼寫檢測(Chinese Spelling Checking)相關(guān)方法、評測任務、榜單
  • 中文(語音結(jié)果)的文本糾錯綜述 Chinese Spelling Check
  • https://github.com/shibing624/pycorrector


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 語音識別
    +關(guān)注

    關(guān)注

    38

    文章

    1696

    瀏覽量

    112250
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4237

    瀏覽量

    61971
  • 文本
    +關(guān)注

    關(guān)注

    0

    文章

    118

    瀏覽量

    17031

原文標題:中文文本糾錯任務簡介

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    NVIDIA文本嵌入模型NV-Embed的精度基準

    NVIDIA 的最新嵌入模型 NV-Embed —— 以 69.32 的分數(shù)創(chuàng)下了嵌入準確率的新紀錄海量文本嵌入基準測試(MTEB)涵蓋 56 項嵌入任務。
    的頭像 發(fā)表于 08-23 16:54 ?1799次閱讀
    NVIDIA<b class='flag-5'>文本</b>嵌入模型NV-Embed的精度基準

    ARES不能顯示中文絲印

    WIN10系統(tǒng),PROTEUS7.4版本,啟用ARES繪制PCB,打開2D文本輸入模式,選“微軟雅黑”輸入中文,打開3D預覽,不能顯示中文, 而顯示“?????”,不知道什么原因?之前還能顯示,現(xiàn)在無論如何設(shè)置,都不行。請賜教,
    發(fā)表于 07-04 17:39

    卷積神經(jīng)網(wǎng)絡在文本分類領(lǐng)域的應用

    顯著成就后,也逐漸被引入到文本分類任務中。卷積神經(jīng)網(wǎng)絡通過模擬人類視覺系統(tǒng)的信息處理方式,能夠有效地提取文本中的局部特征,進而實現(xiàn)高精度的文本分類。本文將對卷積神經(jīng)網(wǎng)絡在
    的頭像 發(fā)表于 07-01 16:25 ?382次閱讀

    鴻蒙ArkTS聲明式開發(fā):跨平臺支持列表【文本通用】

    文本通用屬性目前只針對包含文本元素的組件,設(shè)置文本樣式。
    的頭像 發(fā)表于 06-13 15:09 ?304次閱讀
    鴻蒙ArkTS聲明式開發(fā):跨平臺支持列表【<b class='flag-5'>文本</b>通用】

    請問stm32f429如何顯示u盤中的中文文件名?

    大家有沒有用f429實現(xiàn)顯示u盤中中文文件名的功能?如何實現(xiàn)能說一下嗎?
    發(fā)表于 04-17 08:23

    請問TouchGFX能不能實現(xiàn)中文文本編輯及顯示?

    目前來看,TouchGFX顯示的中文好像都是固定的。但是如果我串口收到一個中文unicode的編碼,要將其顯示出來,或者用戶通過鍵盤,編輯任意中文文本的話,要怎么實現(xiàn)呢?
    發(fā)表于 04-09 08:23

    什么是邏輯量子比特?怎樣用其實現(xiàn)量子糾錯呢?

    邏輯量子比特(Logical Qubit)由多個物理量子比特組成,可作為量子計算系統(tǒng)的基本計算單元,因其具有較強的糾錯性能而備受關(guān)注。
    的頭像 發(fā)表于 12-21 18:24 ?748次閱讀
    什么是邏輯量子比特?怎樣用其實現(xiàn)量子<b class='flag-5'>糾錯</b>呢?

    人工智能中文本分類的基本原理和關(guān)鍵技術(shù)

    在本文中,我們?nèi)嫣接懥?b class='flag-5'>文本分類技術(shù)的發(fā)展歷程、基本原理、關(guān)鍵技術(shù)、深度學習的應用,以及從RNN到Transformer的技術(shù)演進。文章詳細介紹了各種模型的原理和實戰(zhàn)應用,旨在提供對文本分類技術(shù)深入理解的全面視角。
    的頭像 發(fā)表于 12-16 11:37 ?992次閱讀
    人工智能<b class='flag-5'>中文本</b>分類的基本原理和關(guān)鍵技術(shù)

    python窗口文本框怎么限制行數(shù)

    在 Python 中,你可以使用 Tkinter 模塊來創(chuàng)建窗口和文本框。要限制文本框的行數(shù),可以使用 Text 組件的相關(guān)方法和屬性。下面是一個示例代碼,詳細說明如何限制文本框的行數(shù)
    的頭像 發(fā)表于 11-22 10:32 ?557次閱讀

    科普語音芯片和語音合成芯片的不同之處

     可發(fā)聲芯片分為語音芯片和語音合成芯片,二者在技術(shù)和用途上不同。語音合成芯片能將任意文字實時轉(zhuǎn)換并朗讀出來,支持所有中文文本合成,無需燒錄語音,適用于處理大量不固定文本信息。語音芯片可儲存和控制播放語音,需先錄音再燒錄,長度受限,多用于大型公共場合。
    的頭像 發(fā)表于 10-31 15:42 ?471次閱讀

    如何利用CLIP 的2D 圖像-文本預習知識進行3D場景理解

    自我監(jiān)督學習的目的是獲得有利于下游任務的良好表現(xiàn)。主流的方法是使用對比學習來與訓練網(wǎng)絡。受CLIP成功的啟發(fā),利用CLIP的預訓練模型來完成下游任務引起了廣泛的關(guān)注。本文利用圖像文本預先訓練的CLIP知識來幫助理解3D場景。
    的頭像 發(fā)表于 10-29 16:54 ?1174次閱讀
    如何利用CLIP 的2D 圖像-<b class='flag-5'>文本</b>預習知識進行3D場景理解

    在英特爾開發(fā)套件上用OpenVIN實現(xiàn)中文圖文檢索

    本文演示了使用 OpenVINO 與 Chinese-Clip 進行中文圖文相似性匹配任務:CLIP 模型以自監(jiān)督的方式在數(shù)億或數(shù)十億(圖像,文本)對上進行訓練,它從輸入圖像和文本中提
    的頭像 發(fā)表于 10-27 11:06 ?660次閱讀
    在英特爾開發(fā)套件上用OpenVIN實現(xiàn)<b class='flag-5'>中文</b>圖文檢索

    中文賈佳亞團隊聯(lián)手MIT發(fā)布超長文本擴展技術(shù),打破LLM遺忘魔咒

    它代表著業(yè)界對長文本大語言模型的重新思考和關(guān)注,有效擴展了大語言模型的上下文窗口,允許模型考慮和處理較長的文本序列,是大語言模型的革新性發(fā)明。
    的頭像 發(fā)表于 10-18 15:54 ?513次閱讀
    港<b class='flag-5'>中文</b>賈佳亞團隊聯(lián)手MIT發(fā)布超長<b class='flag-5'>文本</b>擴展技術(shù),打破LLM遺忘魔咒

    IAR中UTF-8中文字符串不顯示怎么解決?

    字符串后,中文根本就沒讀取顯示。想全部使用UTF-8的編碼做界面文本顯示。 各位大佬有沒有遇到這種情況,有什么好的解決方法呢?
    發(fā)表于 10-07 07:11

    【KV260視覺入門套件試用體驗】七、VITis AI字符和文本檢測(OCR&amp;Textmountain)

    技術(shù),包括傳統(tǒng)文檔圖像識別與場景文字識別技術(shù)。 在計算機視覺領(lǐng)域,文本檢測是其重要的一個子任務。文本檢測分為兩個主要步驟:文本定位和文本
    發(fā)表于 09-26 16:31