自然語言處理(NLP)- 一個英文拼寫糾錯系統
功能:給出拼寫錯誤的單詞,返回一個正確的單詞,或者返回一個與輸入單詞最接近的單詞;
IDE:pycharm;python3.5;PYQT做介面;
資料:
使用big.txt作為語料庫。
主要演算法原理:
編輯距離(這裡使用的是替換操作算一次開銷的版本,跟插入和刪除等價):
這裡的東西請看我的部落格演算法裡的編輯距離問題,這裡不在詳細說明。
具體處理方法:
把big.txt的全部單詞變成小寫,並且計算他們出現的次數,再除以單詞總數(字典長度)作為該詞的頻率,對輸入的單詞在詞典裡進行匹配,至少0次編輯,最多2次編輯。找出編輯距離最小的,當編輯距離為最小的不只一個時,找出所有單詞裡的概率最大的作為輸出。
總結:
- 一般來說,對於錯誤單詞,大多錯誤字母數在1-2範圍內,所以只需找到編輯距離為1-2的,就會有相應的正確單詞出現。
- 編輯距離演算法時間複雜度比較高且需要對字典進行搜尋匹配,所以總體開銷比較大。
- 概率方面使用的樸素貝葉斯的方法,本系統是小型的英文單詞糾錯系統,若是百度谷歌微軟的糾錯系統則更為複雜。
**********************************************
mark 吭:
(也是我在做這個的時候,不過是java,遇到的坑,與上面的無關,只是記錄)
相關文章
- 自然語言處理(NLP)系列(一)——自然語言理解(NLU)自然語言處理
- 中文和英文NLP自然語言處理異同點分析自然語言處理
- 自然語言處理NLP(四)自然語言處理
- 自然語言處理(NLP)概述自然語言處理
- 自然語言處理(NLP)簡介 | NLP課程自然語言處理
- Pytorch系列:(六)自然語言處理NLPPyTorch自然語言處理
- 自然語言處理NLP快速入門自然語言處理
- 2023nlp影片教程大全 NLP自然語言處理教程 自然語言處理NLP從入門到專案實戰自然語言處理
- 自然語言處理(NLP)路線圖 - kdnuggets自然語言處理
- 自然語言處理NLP(6)——詞法分析自然語言處理詞法分析
- NLP神經語言學的12條假設(不是自然語言處理哪個NLP哈)自然語言處理
- 「NLP」一文彙總自然語言處理主要研究方向自然語言處理
- NLP自然語言處理中英文分詞工具集錦與基本使用介紹自然語言處理分詞
- Python自然語言處理實戰(1):NLP基礎Python自然語言處理
- NLP自然語言處理中的hanlp分詞例項自然語言處理HanLP分詞
- 《NLP漢語自然語言處理原理與實踐》學習四自然語言處理
- 自然語音處理(NLP)系列(五)——詳解智慧問答系統
- 精通Python自然語言處理 2 :統計語言建模Python自然語言處理
- 史丹佛NLP團隊釋出最新自然語言處理Python庫自然語言處理Python
- 自然語言處理NLP(8)——句法分析b:完全句法分析自然語言處理
- Pytext 簡介——Facebook 基於 PyTorch 的自然語言處理 (NLP) 框架PyTorch自然語言處理框架
- HanLP 自然語言處理 for nodejsHanLP自然語言處理NodeJS
- 自然語言處理 NLP 基本概念大全,讓非技術也能看懂 NLP自然語言處理
- 自然語言處理NLP(7)——句法分析a:Chomsky(喬姆斯基)形式文法自然語言處理
- 一文看懂自然語言處理-NLP(4個典型應用+5個難點+6個實現步驟)自然語言處理
- java 英文單詞拼寫糾正框架(Word Checker)Java框架
- NLP漢語自然語言處理入門基礎知識自然語言處理
- [譯] 自然語言處理真是有趣!自然語言處理
- 自然語言處理:分詞方法自然語言處理分詞
- NLP 與 NLU:從語言理解到語言處理
- elasticsearch拼寫糾錯之Term SuggesterElasticsearch
- 如何將Python自然語言處理速度提升100倍:用spaCy/Cython加速NLPPython自然語言處理
- 什麼是NLP,NLP主要有什麼用,為什麼要學自然語言處理?自然語言處理
- 自然語言處理與情緒智慧自然語言處理
- 自然語言處理的最佳實踐自然語言處理
- 自然語言處理之jieba分詞自然語言處理Jieba分詞
- 人工智慧 (06) 自然語言處理人工智慧自然語言處理
- 配置Hanlp自然語言處理進階HanLP自然語言處理