色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

如何對typo 進行檢測和糾正

深度學習自然語言處理 ? 來源:瀾舟科技 ? 作者:瀾舟科技 ? 2022-07-13 14:38 ? 次閱讀

寫在前面

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

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

表 1

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

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

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

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

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 模型,其結構如圖 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 為權重,將 copy distribution 和 generative distribution 相加作為最后輸出,這樣相當于給輸入的 token 額外加上了一個偏重,讓模型更加傾向于保留原來的 token:

(4)

2. Noise Modeling Module

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

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

a. 插入噪聲的位置

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

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

圖 2

b. 應該替換成什么字符

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

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

(5)

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

(6)

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

(7)

(8)

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

實驗設置和結果

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

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

表 4

基線模型:

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

SpellGCN:將 GCN 與 BERT 結合對字符間的關系進行建模;

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

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

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

cBERTCopy:將 copy mechanism 應用在 cBERT 上;

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

cBERTRdrop:基于 cBERT 實現的 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 測試集上均取得了優于其他方法的結果(Correction-level 的 Precision 高于 Detection-level,是因為其分母是在 ground-truth 范圍內的預測標簽的數量,而不是所有預測標簽的數量),而另外還使用了 copy mechanism 的 CRASpell 則在兩個測試集都取得了最好結果。作者也從 SIGHAN14 的測試集中篩選出了一個 multi-typo 測試集,結果如表 6 所示。

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

表6

2. Effects of Different Replaced Positions

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

在整個句子中隨機選擇

在 typo 附近選擇結果如表 7 所示,作者還在測試集的數據中插入噪聲,測試噪聲與 typo 的距離對結果的影響,結果如圖 3 所示,兩組實驗的結果都表明距離 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 中選取的結果,可以看出 confusion set 的效果更好,因為從 confusion set 中選取的近音、近形字更接近實際場景下的 typo。Copy Block 被用來減少 BERT 模型對有效字符的修改,從表 9 可以看出其對 BERT 模型性能的提升,cBERT 因為在 CSC 數據上預訓練過,所以 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 對模型的提升,另外實現了兩種基于 cBERT 的方法:

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

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

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

表 10

總結

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

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

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

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

    關注

    8

    文章

    7048

    瀏覽量

    89073
  • 模型
    +關注

    關注

    1

    文章

    3248

    瀏覽量

    48860
  • 自然語言
    +關注

    關注

    1

    文章

    288

    瀏覽量

    13351

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

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

收藏 人收藏

    評論

    相關推薦

    漏電開關使用誤區及糾正

    :漏電開關可以代替過載保護 誤區解釋: 許多人認為漏電開關可以同時提供過載保護,但實際上漏電開關的主要功能是檢測漏電并切斷電源,而不是保護電路不受過載損害。 糾正方法: 應使用專門的過載保護裝置,如熔斷器或過載繼
    的頭像 發表于 12-30 17:18 ?255次閱讀

    電子電器氣密性檢測儀使用方法:操作中的常見錯誤與糾正

    一:未進行儀器校準錯誤描述:操作人員忽略了定期對氣密性檢測進行校準,導致儀器測量精度下降。糾正方法:按照儀器說明書,使用標準校準件對儀器進行
    的頭像 發表于 11-29 11:20 ?160次閱讀
    電子電器氣密性<b class='flag-5'>檢測</b>儀使用方法:操作中的常見錯誤與<b class='flag-5'>糾正</b>

    無損檢測與傳統檢測的區別

    。 1. 定義與原理 1.1 無損檢測(NDT) 無損檢測是一種在不損害或不改變被檢測對象的前提下,對材料或產品的內部和表面缺陷進行檢測的技術。無損
    的頭像 發表于 11-25 11:38 ?477次閱讀

    無損檢測方法的種類與優勢

    無損檢測(Non-Destructive Testing,簡稱NDT)是指在不破壞被檢測對象的前提下,對材料或工件進行內部和表面缺陷、尺寸、形狀、物理性能等進行檢查和測試的方法。 1.
    的頭像 發表于 11-25 11:36 ?600次閱讀

    針對雷擊浪涌可采用哪些元器件進行檢測

    針對雷擊浪涌,可采用的檢測元器件多種多樣,這些元器件在電子設備防雷保護中扮演著關鍵角色。以下是對幾種主要元器件的介紹: 1. 氣體放電管(GDT) 定義與特性 : 氣體放電管是一種用于防雷擊的高性能
    的頭像 發表于 10-06 16:31 ?356次閱讀

    使用OPA2846運放進行檢波遇到的疑問求解

    使用OPA2846進行檢波的時候,仿真輸出檢波信號噪聲峰峰值約為不到1mV,實際電路信號噪聲峰峰值在200mV內;把該電路的運放換為LF412進行檢波,仿真輸出信號噪聲峰峰值約為250mV,實際電路信號噪聲
    發表于 08-30 07:53

    如何進行IP檢測

    如何避免網絡出現故障,增強網絡安全性?又如何更加合理的規劃分配網絡資源?這就不得的提到我們需要定期給自家或企業中的IP進行檢測了。IP 地址就像是網絡世界中設備的“身份證號碼”,定時進行檢測,能夠
    的頭像 發表于 07-26 14:09 ?556次閱讀
    如何<b class='flag-5'>進行</b>IP<b class='flag-5'>檢測</b>

    沖壓模具如何實現視覺在線檢測?

    視覺檢測系統是一種利用機器視覺技術對沖壓模具和沖壓件進行檢測的方法。通過使用高精度的相機和光源,對沖壓件進行拍攝,然后通過圖像處理和算法分析,對沖壓件的質量進行檢測和評估。對沖壓件
    的頭像 發表于 06-03 17:43 ?801次閱讀

    微波檢測的原理是什么 微波檢測的特點

    微波檢測是一種利用微波技術對物體進行檢測的方法。它在許多領域,如通信、遙感、工業過程控制等具有廣泛的應用。本文將詳細介紹微波檢測的原理、特點以及應用。 微波檢測的原理 微波
    的頭像 發表于 05-28 14:42 ?1882次閱讀

    為什么說“AOI檢測”是SMT焊接質量的把關者?

    是在SMT生產線上的板子經過AOI設備時,對板子進行實時檢測,以便及時發現和糾正問題;而離線AOI檢測則是對已經下線的板子進行檢測,發現問題
    發表于 04-25 11:56

    基于糾正措施系統(FRACAS)的關鍵技術

    故障報告,分析和糾正措施系統是一種系統的方法,用于從一個或多個來源收集失效數據,針對根本原因對數據進行匯編和分析以及識別糾正措施。
    的頭像 發表于 02-20 10:34 ?1623次閱讀

    如何檢測變頻器中電容好壞

    檢測變頻器中電容好壞時,常用的檢測方法有三種:一種是采用電容表進行檢測;二是采用指針萬用表進行檢測;三是采用電橋進行檢測
    發表于 02-06 11:22 ?1253次閱讀

    安泰ATA-2082高壓放大器如何驅動超聲探頭進行無損檢測

    無損檢測技術是一種在不破壞或影響被檢測物體性能的前提下,通過物理或化學方法對其內部或表面的缺陷進行檢測的技術。在無損檢測領域,超聲檢測是一種
    的頭像 發表于 01-24 17:29 ?467次閱讀
    安泰ATA-2082高壓放大器如何驅動超聲探頭<b class='flag-5'>進行</b>無損<b class='flag-5'>檢測</b>

    高壓氣密性檢測儀的檢測步驟

    高壓氣密性檢測儀是一種用于檢測容器、管道等設備氣密性和壓力的設備。它可以在不破壞設備的情況下進行檢測,具有高效、準確的特點。下面介紹高壓氣密性檢測儀的
    的頭像 發表于 01-10 10:50 ?762次閱讀
    高壓氣密性<b class='flag-5'>檢測</b>儀的<b class='flag-5'>檢測</b>步驟

    如何糾正三相電源相序

    。下面將通過詳細討論相序錯誤的原因、檢測糾正方法,以及在實際應用中的注意事項,來幫助讀者深入了解如何糾正相序錯誤。 首先,我們需要明確相序錯誤的原因。相序錯誤通常發生在電氣系統中的三相電源供電電纜的接線錯誤或者設
    的頭像 發表于 01-04 14:30 ?6289次閱讀
    主站蜘蛛池模板: 国产精品麻豆高潮刺激A片| 插我一区二区在线观看| 99久久婷婷国产麻豆精品电影 | 色老板美国在线观看| 国产做国产爱免费视频| 日韩AV爽爽爽久久久久久| av天堂电影网| 男女边吃奶边做边爱视频| 中文字幕乱码亚洲无线三区| 久久艹综合| 岳扒开让我添| 捆绑调教网站| 新金梅瓶玉蒲团性奴3| 最近日本MV字幕免费观看视频| 一本到2v不卡区| 99国产精品偷窥熟女精品视频| 成人无码国产AV免费看| 男人的天堂色偷偷| a国产成人免费视频| 琪琪电影午夜理论片YY6080| yellow日本动漫观看免费| 久久AV无码AV高潮AV不卡| 一本到道免费线观看| 快播av种子大全| qvod理论电影| 色欲人妻无码AV精品一区二区| 嘴巴舔着她的私处插| 老色69久久九九精品高潮| 99久久99久久久精品久久| 日本护士在线观看| 国产成人a视频在线观看| 热热久久超碰精品中文字幕| 超碰免费碰免费视频| 婷婷亚洲AV色香蕉蜜桃| 国产三级在线免费观看| 一进一出抽搐gif免费60秒| 国产精品视频yy9099| 亚洲精品视频免费| 伦理片在线线看手机版| 草莓国产视频免费观看| 亚洲AV综合色一区二区三区|