2

我必須寫一個正確的名稱拼寫檢查器。我寫了第一部分,語言模型檢查器,但現在有最難的部分,即 錯誤模型P(W | C),即當作者意爲C時,W將在文本中鍵入的概率。錯誤模型語言

爲了解決這個問題,我提出了最簡單的解決方案,算法選擇Damerau-Levenshtein距離最小的單詞,如果算法中必須選擇最常用的名稱。

該應用程序正常工作,但我想改進它。我想介紹一種從最常見的錯誤中學習的電子學習機算法。 我必須實現一個機器學習算法。

所以我開始考慮如何做到這一點。

入誤差模型語言,纔有可能找到一些模式:

  • 這是最常見的字的中間拼錯字母,
  • 它更容易拼錯一個元音與其他元音,
  • ...等等...

我想實現這一切的事實。

此外,該算法可以用於文本識別和語音識別,因此我不得不考慮:

  • 同音詞的錯誤,例如,對於f拼寫錯誤v大於拼寫錯誤v對於Q
  • 更常見
  • 印刷錯誤,比如拼寫錯誤,我甚至找不到!在詞裏面。

爲了更好地解釋問題:我們可以想象這2種情況。當算法被用於從掃描的原稿

  • 當算法被用於語音識別的另一個是讀取

    • 第一個是。

    在第一種情況下,類似聲音的字母等錯誤更可能發生,而第二種情況下印刷錯誤更可能發生。 由於我不知道我的算法將要工作的場景,因此我應該實現一個動態自適應該場景的算法,我的意思是,如果出現錯誤,如 g!useppe可能性是giuseppe(o.4 )geuseppe(o.6) 該算法必須先挑選因爲形狀!是類似於我和我發現了很多類似的錯誤。

    我認爲解決方案是一種從錯誤中學習的機器學習算法。

    第一個問題,我是否清楚地解釋了我的問題?
    如果是這樣,哪種算法符合我的要求?

    我對AI和機器學習的經驗有限。

  • +0

    你那裏會得到訓練數據? – Qnan

    +0

    我有一些小錯誤,但我認爲他們不足以教導機器如何檢測錯誤。 但是,當應用程序啓動時,它會在內存中加載一個包含所有名稱及其分配百分比的字典。 沒有訓練數據,我應該把我之前說過的所有事情都作爲規則來實施? –

    +1

    那麼,沒有訓練數據的統計數據是非常棘手的,但我認爲應該有一些數據集可以免費提供常見的拼寫錯誤。 – Qnan

    回答

    0

    這是相當難挑一個最有可能正確的拼寫,這就是爲什麼大多數拼寫檢查程序提供了多種可供選擇的方案。如果可能,我建議你也這麼做。人們甚至可能會離開沒有任何統計學習在所有 - 只是向用戶呈現每一個可能有效名稱,使得它和輸入之間的編輯距離小於某個給定值N.