【NLP_Stanford課堂】拼寫校正


在多種應用比如word中都有拼寫檢查和校正功能,具體步驟分為:

  1. 拼寫錯誤檢測
  2. 拼寫錯誤校正:
    • 自動校正:hte -> the
    • 建議一個校正
    • 建議多個校正

拼寫錯誤類型:

  1. Non-word Errors非詞錯誤:即寫了一個不是單詞的詞,比如graffe並不存在,應校正為giraffe
    • 檢測方法:認為任一不在字典中的詞都是一個非詞錯誤,因此字典本身越大越好
    • 校正方法:為錯誤詞產生一個候選,其是跟錯誤詞相似的真詞,然后選擇加權編輯距離最短或者信道噪聲概率最高的那個詞。
  2. Real-word Errors真詞錯誤
    • 印刷錯誤:three->there
    • 認知錯誤(同音異形字):piece -> peace; too -> two
    • 檢測方法:由於每個真詞可能都是一個錯誤詞,因此我們為每個詞都產生一個候選集,包括該詞本身、跟該詞發音或拼寫相似的詞(編輯距離為1的英文單詞)、同音異形詞。
    • 校正方法:按照信道噪聲或者分類器選擇最好的候選詞。

一、非詞錯誤校正

基本方法:使用The Noisy Channel Model of Spelling信道噪聲模型

假設初始詞經過一個噪聲信道輸出一個噪聲詞,即為可能的錯誤詞,我們旨在對該噪聲信道建模,從而使得在解碼階段能夠根據噪聲詞得到一個猜測詞,其跟初始詞一致,即找到錯誤詞正確的拼寫。

而信道噪聲我們視之為一個概率模型,如下:

輸入:一個錯誤詞x

旨在:找到一正確的詞w

要求:

P(w)稱為語言模型表示單詞w為一個單詞的概率,P(x|w)稱為信道概率(或錯誤概率)表示如果是w,x是w拼錯的詞的概率。

例子:

設:有一個錯誤詞“acress”

1. 產生候選詞:

  • 相似拼寫詞:跟錯誤詞之間小的編輯距離
    • 采用Damerau-Levenshtein edit distance,計算的操作包括:插入、刪除、置換和兩個相鄰字母之間的換位transposition,
    • 以下是與“acress”編輯距離=1的列表:
    • 80%錯誤詞與正確詞之間的編輯距離為1,大部分的編輯距離都小於等於2
    • 允許插入空格或者連字符-:thisidea -> this idea; inlaw -> in-law
  • 相似發音詞:跟錯誤詞的發音之間小的編輯距離

2. 選擇最優候選詞:套用公式

a) 計算語言模型P(w):可以采用之前說過的任一語言模型,比如unigram、bigram、trigram,大規模拼寫校正也可以采用stupid backoff。

b) 計算信道概率P(x|w):首先獲得多個單詞拼錯的列表,然后計算混淆矩陣,然后按照混淆矩陣計算信道概率。

設:

有:

x和y為任一字母a-z,計數count表示后面那張情況發生的次數,其中插入和刪除的情況都依賴於前一個字符,sub[x,y]的混淆矩陣結果如下:

然后按照上述混淆矩陣計算信道概率:

c) 整體概率計算實例如下:

也可以選用語言模型計算整體概率,比如:使用bigram或trigram語言模型

3. 結果評估方法:

使用拼寫錯誤測試集:

 二、真詞校正

25-40%的拼寫錯誤都是真詞錯誤。

具體步驟:

實例:

為了方便起見,我們假定每個句子中只有一個拼寫錯誤,所以有:

要求從中找到一個組合序列使得序列的概率最高。

計算P(W):

方法1:語言模型,比如unigram、bigram等

方法2:信道模型:跟“一”中的方法一樣,但還需要額外計算沒有錯誤的概率P(w|w),因為候選集中還包括自身詞。

計算P(w|w):其完全依賴於應用本身,表示一個詞可能被拼錯的概率,不同的應用概率不同:

三、經典系統state of art

1. HCI issues in spelling

  • 如果對校正結果非常自信:自動校正
  • 一般自信:給定一個最好的校正方案
  • 一點點自信:給定一個校正方案的列表
  • 沒有自信:給錯誤詞做出標記,不校正

2. 經典噪聲信道

實際應用中,信道概率和語言模型概率的權重並非一致,而是采用如下的計算公式:

然后在開發測試數據集中訓練學習lambdas的值。

3. 語音錯誤模型

針對有相似發音的錯誤拼寫的糾正

a) Metaphone, used in GNU aspell

  • 將錯誤拼寫轉換為變音發音,規則如下:
  •  

  • 然后找到跟錯誤拼寫的發音的編輯距離為1-2的詞
  • 給結果列表打分,按照:
    • 候選詞跟錯誤詞之間的加權編輯距離
    • 候選詞的發音與錯誤詞發音的編輯距離

4. 信道模型的升級版

a) 允許更多的操作(Brill and Moore 200)

b) 在信道中結合發音(Toutanova and Moore 2003)

c)在計算信道概率P(x|w)時考慮更多的影響因素

5. 基於分類器的真詞拼寫校正方法

  • 考慮更多的特征
  • 針對特定詞對建立分類器


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM