天天看點

斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進

一、拼寫糾正任務

1、拼寫任務

  • 發現拼寫錯誤
  • 糾正拼寫錯誤
    • 自動糾正
    • 給出糾正建議(一個詞)
    • 給出糾正建議(一些詞)

2、拼寫錯誤的類型

  • 拼寫出來的不是單詞(non-word spelling error):graffe→giraffe
  • 拼寫出來的是另一個單詞
    • 排字(Typographical )錯誤:three→there
    • 認知錯誤(同音異形):too→two

3、拼寫出來的不是單詞的錯誤(non-word spelling error)

  • 錯誤發現:預先有一個字典,任何不在字典中的單詞就是錯誤,字典越大越好
  • 錯誤糾正:
    • 生成修正可選項:和錯誤相似的實際單詞
    • 選擇最好的那個
      • 最短權重編輯距離
      • 最高噪音通道(noisy channel)機率

4、拼寫出來是另一個單詞(real word spelling error)

  • 對每一個單詞,w,生成一個候選集(candidate set)
    • 找到發音相似的候選詞
    • 找到拼寫相似的候選詞
    • 把w也放在候選集中
  • 選擇最好的候選詞
    • 噪音通道
    • 分類

二、拼寫的噪音通道(noisy channel)模型

1、噪音通道模型

  • 初始想法:一開始初始單詞(original word)經過噪音通道(noisy channel)會生成噪音單詞(noisy word)。我們通過對噪音單詞的解碼得到猜測的單詞(guessed word)。
    斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
  • 噪音通道模型:當我們拿到一個拼錯的單詞x的時候,我們可以利用下面的公式得到正确的w。
    斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
  • P(w)表示語言模型
  • P(x|w)表示通道模型(channel model)或者是錯誤模型(error model)

2、從拼寫出來的不是單詞的錯誤(non-word spelling error)開始

  • 錯誤是:acress
  • 候選詞生成(candidate generation)
    • 相似拼寫的單詞:找到最小的編輯距離
    • 相似發音的單詞:找到發音的最小的編輯距離
    • 這裡選取相似拼寫來舉例子
  • 編輯距離:我們采取Damerau-Levenshtein編輯距離
    • 對兩個字元串而言,之間的基本編輯操作是:插入、删除、替換和兩個相鄰的字母的交換
    • 以acress來舉例子來看編輯操作
      斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
    • 80%的錯誤都是編輯距離為1的錯誤
    • 所有的錯誤都是編輯距離為1或者2的錯誤
    • 同時也包含連字元-和空格的插入
      • thisday→ this day
      • inlaw→in-law
  • 語言模型
    • 包含任何我們之前學習的語言模型算法,包括一進制、二進制、三元以及stupid backoff(針對web規模的拼寫糾正)
    • 以acress的候選集舉例,來看他們的語言模型
      斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
  • 通道模型機率
    • 又稱錯誤(error model)模型機率,編輯(edit)機率
    • 定義:
      • 拼錯的單詞X=X1,X2,X3…Xm
      • 糾正的單詞w=w1,w2,w3…wm
      • P(X|w)表示編輯機率
    • 計算:混淆矩陣
      • 計算公式
        斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
        其中,
        斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
        對這四種編輯公式,我們分别構造混淆矩陣,一共是四個混淆矩陣,形如下圖
        斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
    • 以acress舉例,通道模型計算如下
      斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
  • 以acress舉例,噪音通道機率計算如下:
    斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
  • 改進:使用二進制語言模型
    • 在大部分的情境下,二進制模型會更準确
    • 例子如下:
      斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進

3、評估

我們可以利用一些拼寫錯誤測試集進行評估

斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進

三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)

1、解決方案

  • 對句子中的每一個單詞
    • 生成候選集,包含(單詞本身、同音異形詞,和原來的單詞之差一個字母編輯的單詞)
  • 選擇最好的候選(用噪音通道,或者分類)

2、公式描述

  • 給定一個句子包含一系列單詞w1,w2,w3,…,wn
  • 對每個單詞都生成一系列的候選詞(candidate)
    斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
  • 選擇一系列的單詞W使得P(W)最大
  • 圖解如下:
    斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進

3、化簡版:每個句子一個錯誤

  • 假設句子裡面隻有一個單詞出現了錯誤,隻對一個單詞進行糾正
    斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
  • 分别計算糾正過的機率,選擇機率最大的那個

4、如何确定機率

  • 語言模型:一進制、二進制、等等
  • 通道模型:和非單詞拼寫錯誤(non-word spelling correction)一樣,除此之外加上沒有發生錯誤的機率P(w|w)
    • P(w|w)的計算
      斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
  • 一個計算的例子
    斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進

四、一些改進

1、人機互動的拼寫問題

  • 如果對糾正很有自信:自動糾正
  • 次之,給出最好的糾正
  • 次之,給出糾正清單
  • 次之,示意出現了錯誤

2、噪音通道的改進

  • 不應該直接将先驗和錯誤的模型相乘,這樣的理論基礎是獨立假設。但是實際上先驗機率放在這裡是不合适的。
  • 是以,取而代之的公式應該是這樣:
    斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
  • 我們可以從一個發展測試集(development test set)來學習lamdba

3、語音(phonetic)錯誤模型

斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進

4、對通道模型的提升

斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進
斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進

5、基于分類方法的拼寫出來是另一個單詞(real word spelling error)的錯誤糾正

斯坦福大學-自然語言處理入門 筆記 第五課 拼寫糾正與噪音通道(Noisy Channel)一、拼寫糾正任務二、拼寫的噪音通道(noisy channel)模型三、拼寫出來是另一個單詞的錯誤糾正(real-word spelling correction)四、一些改進

繼續閱讀