Python实现长篇英文自动纠错~

wx614070971eedb 2021-09-15 09:26:38
Python 相似度 python实现 编辑距离 词频统计


在这之前微微老师做过一个英文文本自动解析单词并进行词频统计的程序,用Python实现的,详情见: Python实现任意文本单词提取及词频统计

现在借助张同学提供的题目和示例,更深入往前走一步,实现长篇英文的自动纠错~~

首先,我们需考虑一下,如何来实现长篇英文的自动纠错,先分析一下,对于手动输入的长篇英文,一般都会有拼写错误,或多或少,如lbierty其实应该是liberty;authroity其实应该为authority;golbal应该为global;...像这样的错误在所难免,因此我们可以利用程序实现自动纠错的功能,该程序可以自动识别我们的单词错误,并进行修改校正。

那么,我们如何让程序知道单词的对错呢?这就需要我们提供一个词典(就是一个文本里面保存了正确的英文单词,当然单词量越大越丰富越好)。词典的作用就是告诉程序,正确的单词什么样应该怎么拼写,这样程序就可将英文文本中的单词与词典中的单词进行相似度比对,进而找出它在词典中对应一致的单词;如果在词典中没有找到完全一致的单词,考虑可能是单词输错了,因此程序会将该单词替换为词典中相似度最高的单词...

英文示例如下:

Python实现长篇英文自动纠错~_编辑距离 

自动纠错替换示例如下:

Python实现长篇英文自动纠错~_python_02

Python实现长篇英文自动纠错~_python实现_03

算法分析:

这里使用了Python的levenshtein库,由于不是Python自带库,可使用pip install 安装。Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 

编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。

 

版权声明
本文为[wx614070971eedb]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_15367641/3888617

  1. 面对小白的pandas命令手册+练习题【三万字详解】
  2. 面對小白的pandas命令手册+練習題【三萬字詳解】
  3. Face au Manuel de commande pandas de Xiaobai + question d'exercice [30 000 mots pour plus de détails]
  4. Interprétation des questions d'entrevue de base Python | 100 couches d'entrevue Python | couche 1
  5. Python data structure and algorithm (17) -- merge sort
  6. Les fonctions intégrées Python exécutent des blocs de code de fonction à travers des chaînes, et les mécanismes de réflexion comme Java sont assez puissants!
  7. Python笔记-uiautomator2截图点击,OpenCV找图
  8. Python文档阅读笔记-OpenCV中Template Matching
  9. Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击
  10. Python筆記-利用OpenCV的matchTemplate屏幕找圖並使用pyautogui點擊
  11. Notes python - utilisez l'écran matchtemplate d'OpenCV pour trouver des images et cliquez sur
  12. Notes de lecture de documents python - Matching de modèles dans OpenCV
  13. Notes python - capture d'écran de l'automate 2 Cliquez pour ouvrir la vue
  14. python链接云服务器的mysql8
  15. python鏈接雲服務器的mysql8
  16. Mysql8 pour les serveurs Cloud liés Python
  17. Python资源大集合,要的话可以拿走!
  18. ️万字【Python基础】保姆式教学️,小白快速入门Python!
  19. ️萬字【Python基礎】保姆式教學️,小白快速入門Python!
  20. Wanzi [base Python] Baby - sitting Teaching, Little White Quick Start Python!
  21. Realizing the function of sending e-mail automatically with Python
  22. Smtpauthenticationerror in Python: solution
  23. 8 steps to teach you how to solve Sudoku in Python! (including source code)
  24. Python change la vie | identifier facilement des centaines de numéros de livraison
  25. Python change life | utilisation de modèles reconnus par ocr
  26. Bibliothèques Python utiles et intéressantes - - psutil
  27. 3. Traitement des données pandas
  28. 【Python编程基础】控制流之链式比较运算符
  29. MFC uses Python scripting language
  30. 【Python編程基礎】控制流之鏈式比較運算符
  31. 【 base de programmation python】 opérateur de comparaison de chaîne pour le flux de contrôle
  32. Python game development, pyGame module, python implementation of Xiaole games
  33. Mise en œuvre du Code de vérification unique (OTP) avec le cadre de repos Django
  34. Python - eval ()
  35. Python - Programmation orientée objet - _Rapport()
  36. Différence entre python - rep (), Str ()
  37. Python - Programmation orientée objet - _Appel()
  38. Python calling matlab script
  39. Python - Programmation orientée objet - _Nouveau() et mode Singleton
  40. Python - Programmation orientée objet - méthode magique (méthode de double soulignement)
  41. Python - Programmation orientée objet - pratique (6)
  42. Python - Programmation orientée objet - réflexion hasattr, GetAttr, GetAttr, delattr
  43. Python - Programmation orientée objet - _Dict
  44. Python - pydantic (2) Modèle imbriqué
  45. Non-ASCII character ‘\xe5‘ in file kf1.py on line 4, but no encoding declared; see http://python.or
  46. python笔记(一)
  47. Non - ASCII character 'xe5' in file kf1.py on Line 4, but no Encoding declared;Voirhttp://python.or
  48. Notes Python (1)
  49. Talk about how JMeter executes Python scripts concurrently
  50. In Beijing, you can't see the moon in the Mid Autumn Festival. Draw a blood red moon in Python
  51. Un des pandas crée un objet
  52. Machine learning | unitary regression model Python practical case
  53. Draw a "Lollipop chart" with Excel and python
  54. Python uses scikit learn to calculate TF-IDF
  55. Getting started with Python Basics_ 3 conditional statements and iterative loops
  56. Python dynamic properties and features
  57. 云计算开发:Python内置函数-min()函数详解
  58. [Python skill] how to speed up loop operation and numpy array operation
  59. 雲計算開發:Python內置函數-min()函數詳解
  60. Développement de l'informatique en nuage: explication détaillée de la fonction intégrée python - min ()