91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何對typo 進行檢測和糾正

深度學習自然語言處理 ? 來源:瀾舟科技 ? 作者:瀾舟科技 ? 2022-07-13 14:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

寫在前面

自然語言文本中經(jīng)常會出現(xiàn)一些拼寫錯誤(typo),在中文文本里即所謂的錯別字,中文拼寫糾錯(Chinese Spelling Correction,CSC)可以對中文文本中的 typo 進行檢測和糾正。拼寫糾錯在諸多 NLP 任務和應用中都有重要作用,如 OCR、語音識別和搜索引擎等。在 NLP 任務和日常工作生活場景中,中文文本中的 typo 主要是拼音和字形相似導致的,示例如表 1 所示。

c7507018-01c9-11ed-ba43-dac502259ad0.png

表 1

一般 CSC 系統(tǒng)的輸入和輸出序列長度相同,所以現(xiàn)在 CSC 系統(tǒng)主要采用基于 BERT 的非自回歸生成模型,這些模型依據(jù)輸入序列中的所有字符來平行生成每個位置的字符,而隨著 BERT 等預訓練模型的成功,CSC 模型的性能也有了極大的提升。

雖然 BERT 模型很強大,但其在解決 CSC 任務時也會遇到一些問題。

首先,基于 BERT 的 CSC 模型根據(jù) typo 本身及其上下文對該處 typo 進行檢測和糾正,但當一個句子中有多處拼寫錯誤(multi-typo)時,則句子中每個字符的上下文都至少包含一處 typo,這導致其信息中含有噪聲,從而影響模型的效果。論文統(tǒng)計了中文拼寫糾錯任務 SIGHAN13、14、15 的測試集中的 multi-typo 數(shù)據(jù),如表 2 所示,并且把這些數(shù)據(jù)抽出做成測試集,測試模型對 multi-typo 文本的糾錯能力,結(jié)果如表 3 所示(character-level),結(jié)果證實了上述結(jié)論。

其次,BERT 是掩碼語言模型,其從大規(guī)模語料中學習怎樣根據(jù)上下文恢復被遮掩的 token,但對于一個被遮掩的位置可能有多個有效的字符,這時候 BERT 模型則會傾向于恢復成最常見的那一個,而在 CSC 任務中,則表現(xiàn)為模型可能會把一個有效的表述改成另外一種更常見的表述,比如將“這并非是說……”改成“這并不是說……”。

c76ce52c-01c9-11ed-ba43-dac502259ad0.png

表 2

c79924de-01c9-11ed-ba43-dac502259ad0.png

表 3

針對上述的兩個問題,來自騰訊 AI 平臺部門和北京大學的研究人員提出了一種名為 CRASpell 的解決方法,讓我們一起來看看吧。

論文標題

CRASpell: A Contextual Typo Robust Approach to Improve Chinese Spelling Correction

論文作者

Shulin Liu, Shengkang Song, Tianchi Yue, Tao Yang, Huihui Cai, Tinghao Yu, Shengli Sun

作者單位

Tencent AI Platform Department, China

Peking University, China

論文鏈接

https://aclanthology.org/2022.findings-acl.237/

項目代碼

https://github.com/liushulinle/CRASpell

CRASpell 介紹

該論文將 multi-typo 降低模型性能的問題稱作 Contextual Typo Disturbance,將模型對文本不必要的糾正稱為 Overcorrection,并針對這兩個問題提出了 CRASpell 模型,其結(jié)構(gòu)如圖 1 所示:

c7cf88a8-01c9-11ed-ba43-dac502259ad0.png

圖 1

由圖 1 我們可以看到,CRASpell 主要分為兩部分,左邊為 Correction Module,右邊為 Noise Modeling Module。

1. Correction Module

Correction Module 中,Transformer Encoder 加 Generative Block 就是一個基本的 CSC 模型,Generative Block 計算并輸出一個 generative distribution,其過程可以描述為:

(1)

論文中使用 copy mechanism [1-2] 來解決 Overcorrection 的問題,其對于輸入序列中的每一個 token,都有一個 one-shot 向量的 copy distribution,其形式可以描述為:

(2)

Copy Block 則是用來輸出一個 copy probability,計算過程如下:

(3)

然后以 copy probability 為權(quán)重,將 copy distribution 和 generative distribution 相加作為最后輸出,這樣相當于給輸入的 token 額外加上了一個偏重,讓模型更加傾向于保留原來的 token:

(4)

2. Noise Modeling Module

針對 Contextual Typo Disturbance 問題,CRASpell 提出了 Noise Modeling Module,其思想是訓練模型在原始上下文和有噪聲的上下文中輸出相似的概率分布。

Noise Modeling Module 的結(jié)構(gòu)也是 Transformer Encoder 加 Generative Block,不同的是其前面還有一個 Noisy Block,其通過替換的方式在 typo 的上下文中插入噪聲,而噪聲上下文的質(zhì)量又受到兩個因素的影響:

a. 插入噪聲的位置

作者根據(jù)表 3 的實驗結(jié)果,決定在 typo 周圍 個字符內(nèi)選擇, 時如圖 2 所示,如果句子中沒有錯誤或者選擇的位置正好是一處 typo,則不插入噪聲。

c7ff6dde-01c9-11ed-ba43-dac502259ad0.png

圖 2

b. 應該替換成什么字符

論文中使用公開的混淆集(confusion set)[3],將選擇位置上的字符替換成其相似字符,這也是 CSC 任務中制作偽數(shù)據(jù)的常用方法,不同類型字符的替換比例為:70%近音字、15%近形字以及 15%隨機選擇的字符。

原始輸入經(jīng)過 Noisy Block 插入噪聲后得到新的輸入,經(jīng)過 Noise Modeling Module 后的輸出為 , 最后將其與 Correction Module 中的 generative distribution 共同計算 KL 散度損失:

(5)

在 Correction Module 中,給定訓練樣本 (X, Y),對于式 (4) 中的 ,其每個位置的 token 的 loss 為:

(6)

結(jié)合式 (5) 和式 (6),得到整個模型訓練的損失函數(shù)為:

(7)

(8)

這里我們可以看到,Noise Modeling Module 只在訓練時被用到,而插入噪聲的位置沒有計算在 loss 內(nèi),這樣做是為了不改變訓練過程中數(shù)據(jù)里 typo 的數(shù)量,讓插入的噪聲只起到改變上下文信息的作用。

實驗設(shè)置和結(jié)果

數(shù)據(jù)集方面,論文中的訓練集包括 10K 人工標注的 SIGHAN 數(shù)據(jù) [3-5],加上 271K 的自動生成的數(shù)據(jù) [6],測試集使用的是 SIGHAN15 的測試集,另外作者還抽取了 SIGHAN15 測試集中所有的 multi-typo 數(shù)據(jù)以及相同數(shù)量的 negative(不含 typo)數(shù)據(jù),組成了 multi-typo 測試集,如表 4 所示。指標采用了 character-level 的 precision、recall 和 F1 分數(shù),即預測對一個 typo 標簽算一個正確的預測結(jié)果,這樣更能體現(xiàn)論文提出的方法對 multi-typo 的提升效果。

c81e0848-01c9-11ed-ba43-dac502259ad0.png

表 4

基線模型:

SoftMask:提出 soft-masking 策略提升 BERT 的錯誤檢測性能;

SpellGCN:將 GCN 與 BERT 結(jié)合對字符間的關(guān)系進行建模;

Tail2Tail:基于 BERT 的模型,但把解碼器換成了 CRF;

cBERT:論文作者發(fā)表于 2021 年的工作,用 CSC 數(shù)據(jù)進行預訓練的 BERT,論文提出的 CRASpell 模型也用 cBERT 進行初始化;

PLOME:與 cBERT 相同,但另外融合了從拼音和筆畫獲取的發(fā)音和字形特征;

cBERTCopy:將 copy mechanism 應用在 cBERT 上;

cBERTNoise:將 Noise Modeling Module 應用在 cBERT 上;

cBERTRdrop:基于 cBERT 實現(xiàn)的 Rdrop 方法 [7]。

1. Main Results

c843c0c4-01c9-11ed-ba43-dac502259ad0.png

表 5

我們可以從表 5 中看到,Noise Modeling Module 和 copy mechanism 都能提升模型性能,使用了 Noise Modeling Module 的 cBERTNoise 和 CRASpell 在 multi-typo 測試集上均取得了優(yōu)于其他方法的結(jié)果(Correction-level 的 Precision 高于 Detection-level,是因為其分母是在 ground-truth 范圍內(nèi)的預測標簽的數(shù)量,而不是所有預測標簽的數(shù)量),而另外還使用了 copy mechanism 的 CRASpell 則在兩個測試集都取得了最好結(jié)果。作者也從 SIGHAN14 的測試集中篩選出了一個 multi-typo 測試集,結(jié)果如表 6 所示。

c8829eac-01c9-11ed-ba43-dac502259ad0.png

表6

2. Effects of Different Replaced Positions

論文中對比了 Noisy Block 在輸入句子中選擇插入噪聲位置的兩種方式:

在整個句子中隨機選擇

在 typo 附近選擇結(jié)果如表 7 所示,作者還在測試集的數(shù)據(jù)中插入噪聲,測試噪聲與 typo 的距離對結(jié)果的影響,結(jié)果如圖 3 所示,兩組實驗的結(jié)果都表明距離 typo 較近的噪聲對模型的性能影響較大。

c8ad8f2c-01c9-11ed-ba43-dac502259ad0.png

表 7

c8cc35a8-01c9-11ed-ba43-dac502259ad0.png

圖 3

3. Effects of Different Replaced Characters & the Copy Block

表 8 展示了插入噪聲的兩種方法:隨機從詞典中選取和從 confusion set 中選取的結(jié)果,可以看出 confusion set 的效果更好,因為從 confusion set 中選取的近音、近形字更接近實際場景下的 typo。Copy Block 被用來減少 BERT 模型對有效字符的修改,從表 9 可以看出其對 BERT 模型性能的提升,cBERT 因為在 CSC 數(shù)據(jù)上預訓練過,所以 Copy Block 對其提升幅度較小。

c90c9c92-01c9-11ed-ba43-dac502259ad0.png

表 8

c92efb20-01c9-11ed-ba43-dac502259ad0.png

表 9

4. Comparison of Different Methods for Multi-typo Texts

作者為了展示 Noise Modeling Module 對模型的提升,另外實現(xiàn)了兩種基于 cBERT 的方法:

MultiRound:用 cBERT 對輸入進行多輪預測,直至不再修改;

NoiseTrain:用 Noise Block 生成的數(shù)據(jù)訓練 cBERT,插入噪聲的位置也參與 loss 計算。結(jié)果如表 10 所示,可以看出 NoiseTrain 提升效果最差,作者猜測是因為插入的噪聲使訓練數(shù)據(jù)中 typo 數(shù)量增加,且質(zhì)量偏低,從而導致模型在 single-typo 和 zero-typo 的數(shù)據(jù)上的效果變差,而 Noise Modeling Module 中插入的噪聲只作為上下文,不參與 loss 計算,作者認為這是導致結(jié)果差別巨大的關(guān)鍵所在。

c9534aac-01c9-11ed-ba43-dac502259ad0.png

表 10

總結(jié)

針對之前 CSC 模型的兩個限制:Contextual Typo Disturbance 和 Overcorrection,這篇論文提出了一種新的拼寫糾錯模型。針對第一個問題,論文提出了 Noise Modeling Module,在訓練過程中生成含噪聲的上下文,該方法有效地提升了模型在 multi-typo 文本上的糾錯效果。針對 Overcorrection 問題,論文將 Copy Block 與 CSC 模型結(jié)合,訓練模型在原字符有效的情況下盡量不進行修改。最終,該方法也是在 SIGHAN15 任務上取得了新的 SOTA。

原文標題:文本糾錯 | 怎樣改善模型對 multi-typo 的糾正效果?

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

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

    關(guān)注

    8

    文章

    7335

    瀏覽量

    94808
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3756

    瀏覽量

    52127
  • 自然語言
    +關(guān)注

    關(guān)注

    1

    文章

    292

    瀏覽量

    13992

原文標題:文本糾錯 | 怎樣改善模型對 multi-typo 的糾正效果?

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    海伯森檢測案例-錫膏厚度及爐前檢測

    、預加工、整機測試、包裝全套產(chǎn)線六大流程,各流程根據(jù)手機型號的不同,可涵蓋上百道工序,大部分工序都需要進行檢測檢測的標準也各不相同。而無論是在裝配和檢測過程中,還是在
    的頭像 發(fā)表于 01-29 12:22 ?131次閱讀
    海伯森<b class='flag-5'>檢測</b>案例-錫膏厚度及爐前<b class='flag-5'>檢測</b>

    FEC前向糾錯技術(shù):讓無線傳輸“自我修復”的通信衛(wèi)士

    一、什么是前向糾錯(FEC)?前向糾錯(Forward Error Correction,F(xiàn)EC)是一種通過在數(shù)據(jù)傳輸中增加冗余校驗信息,使接收端能夠自行檢測糾正錯誤的通信技術(shù)。它特別適用于單向
    發(fā)表于 01-09 14:12

    手機氣密性檢測儀器:基于何種原理保障檢測精準-岳信儀器

    在于模擬手機在不同環(huán)境下所面臨的壓力情況,通過檢測手機內(nèi)部壓力的變化來判斷其氣密性。當進行檢測時,先將手機放置在一個密封的測試腔內(nèi)。接著,手機氣密性檢測儀器會向測試
    的頭像 發(fā)表于 01-03 16:06 ?298次閱讀
    手機氣密性<b class='flag-5'>檢測</b>儀器:基于何種原理保障<b class='flag-5'>檢測</b>精準-岳信儀器

    進行檢測溫度的記錄,可使用串口數(shù)據(jù)記錄模塊來實現(xiàn)

    進行檢測溫度的記錄,可使用串口數(shù)據(jù)記錄模塊來實現(xiàn)。 該數(shù)據(jù)記錄模塊是一種串口設(shè)備,在使用時其工作的波特率為9600bps,在接收到開發(fā)板所發(fā)送的數(shù)據(jù)時,就將數(shù)據(jù)完整地記錄到TF卡的文件中。
    發(fā)表于 12-01 08:18

    一種簡單的電源掉電檢測電路設(shè)計

    需求:由于目前產(chǎn)品對于電源上電與掉電時序要求較高,在產(chǎn)品運行過程中,如果突然掉電,沒有及時關(guān)閉運行的產(chǎn)品。會導致?lián)p壞產(chǎn)品內(nèi)部的器件。因此電路上需要對掉電進行檢測,然后再控制器上關(guān)閉產(chǎn)品的運行。這樣就能保證產(chǎn)品能夠穩(wěn)定的運行。
    的頭像 發(fā)表于 11-20 14:40 ?2818次閱讀
    一種簡單的電源掉電<b class='flag-5'>檢測</b>電路設(shè)計

    普蘭店來看看你的產(chǎn)品是否適用單軸測徑儀進行檢測

    是否符合公差要求(平臺型號測量精度在±0.01mm)。 管材制造:無縫鋼管、精密合金管的外徑測量,避免因軋制參數(shù)偏差導致管徑超差,對大口徑管材的檢測更有為其研制的大直徑測徑儀,可對外徑為幾米的直徑進行檢測
    發(fā)表于 08-22 15:25

    K230在同時使用H265編碼與yolo進行檢測時出現(xiàn)錯誤怎么解決?

    1、單獨使用H265編碼時或者yolo檢測沒有問題 2.一旦將二者結(jié)合,因為H265編碼時YUV格式,所以我另外開了一個RGB平面格式來運行yolo推理 3.報錯信息顯示:兩者的空間會沖突然后導致
    發(fā)表于 07-11 08:15

    基于RK3576開發(fā)板的車輛檢測算法

    車輛檢測是一種基于深度學習的對人進行檢測定位的目標檢測,能廣泛的用于園區(qū)管理、交通分析等多種場景,是違停識別、堵車識別、車流統(tǒng)計等多種算法的基石算法。
    的頭像 發(fā)表于 05-08 17:34 ?1489次閱讀
    基于RK3576開發(fā)板的車輛<b class='flag-5'>檢測</b>算法

    基于RK3576開發(fā)板的安全帽檢測算法

    安全帽佩戴檢測是工地、生產(chǎn)安全、安防的重中之重,但人為主觀檢測的方式時效性差且不能全程監(jiān)控。AI技術(shù)的日漸成熟催生了安全帽佩戴檢測方案,成為了監(jiān)督佩戴安全帽的利器。本安全帽檢測算法是一
    的頭像 發(fā)表于 05-08 16:59 ?2026次閱讀
    基于RK3576開發(fā)板的安全帽<b class='flag-5'>檢測</b>算法

    基于RV1126開發(fā)板的車輛檢測算法開發(fā)

    車輛檢測是一種基于深度學習的對人進行檢測定位的目標檢測,能廣泛的用于園區(qū)管理、交通分析等多種場景,是違停識別、堵車識別、車流統(tǒng)計等多種算法的基石算法。
    的頭像 發(fā)表于 04-14 16:00 ?867次閱讀
    基于RV1126開發(fā)板的車輛<b class='flag-5'>檢測</b>算法開發(fā)

    基于RV1126開發(fā)板的吸煙檢測算法開發(fā)

    吸煙檢測是一種基于深度學習的對抽煙人群進行檢測定位的目標檢測,能廣泛的用于安防、生產(chǎn)安全、園區(qū)管理等多種場景。配合攝像頭,實時識別監(jiān)控區(qū)內(nèi)人員行為情況。
    的頭像 發(fā)表于 04-14 15:37 ?733次閱讀
    基于RV1126開發(fā)板的吸煙<b class='flag-5'>檢測</b>算法開發(fā)

    基于RV1126開發(fā)板的安全帽檢測算法開發(fā)

    安全帽佩戴檢測是工地、生產(chǎn)安全、安防的重中之重,但人為主觀檢測的方式時效性差且不能全程監(jiān)控。AI技術(shù)的日漸成熟催生了安全帽佩戴檢測方案,成為了監(jiān)督佩戴安全帽的利器。本安全帽檢測算法是一
    的頭像 發(fā)表于 04-14 15:10 ?855次閱讀
    基于RV1126開發(fā)板的安全帽<b class='flag-5'>檢測</b>算法開發(fā)

    基于RV1126開發(fā)板的火焰檢測算法開發(fā)

    火焰檢測是一種基于深度學習的對火焰進行檢測定位的目標檢測。基于大規(guī)?;鹧鏀?shù)據(jù)識別訓練,配合攝像頭,實時識別監(jiān)控區(qū)內(nèi)明火情況立刻發(fā)出警報,提醒監(jiān)控室查看,及時止損。
    的頭像 發(fā)表于 04-14 14:53 ?779次閱讀
    基于RV1126開發(fā)板的火焰<b class='flag-5'>檢測</b>算法開發(fā)

    高光譜相機+LED光源系統(tǒng)助力材料分類和異物檢測、實現(xiàn)高速在線檢測

    波長的光源和高光譜相機或類似設(shè)備。近年來,各領(lǐng)域利用高光譜成像技術(shù)進行檢測的市場規(guī)模不斷擴大,對高光譜相機和相應光源的需求也隨之增加。以往,高光譜成像檢測時使用鹵
    的頭像 發(fā)表于 03-21 17:02 ?978次閱讀
    高光譜相機+LED光源系統(tǒng)助力材料分類和異物<b class='flag-5'>檢測</b>、實現(xiàn)高速在線<b class='flag-5'>檢測</b>

    如何在NXP MCU Boot Utility中對電路板進行檢測?

    、2-OFF、3-OFF、4-ON(串行下載器編程模式),并且還在 J86 中連接 USB。 并附上(問題的屏幕截圖)文件。 我需要如何在 NXP MCU Boot Utility 中對電路板進行檢測?
    發(fā)表于 03-17 06:33