初步认识pycorrector:
下载安装工具包:
pycorrector初步演示:
总结回顾:
- 中文文本纠错工具。音似、形似错字(或变体字)纠正,可用于中文拼音、笔画输入法的错误纠正。python3.6开发。
- 谐音字词,如 配副眼睛-配副眼镜
- 混淆音字词,如 流浪织女-牛郎织女
- 字词顺序颠倒,如 伍迪艾伦-艾伦伍迪
- 字词补全,如 爱有天意-假如爱有天意
- 形似字错误,如 高梁-高粱
- 中文拼音全拼,如 xingfu-幸福
- 中文拼音缩写,如 sz-深圳
- 语法错误,如 想象难以-难以想象
pip install https://github.com/kpu/kenlm/archive/master.zip
注意此处是要在自己想要使用该工具包的项目下的Lib中下载哦,否则下载后会出现使用不太成功的样子。
下面是下载成功的截图:
可以看到对应的Lib列表中生成对应文件:kenlm.cp310-win_amd64.pyd
缺失该文件会使得接下来的pycorrector工具包不能使用,因此需要先安装下载,并且不要出现中文路径哦。
pip install pycorrector
(此处省略下载成功图)忘记截图
提示:事不宜迟,下载完立马进行演示!
下载kenlm和pycorrector工具包之后就可以开始进行测试啦!
例如下面的简短代码段:
import pycorrector
corrected_sent, detail = pycorrector.correct('少先队员因该为老人让坐')
print(corrected_sent, detail)
运行之后需要加载模型,可以看到这个时间并不是一眨眼
准确来说足足加载了701s,加载完之后给了个开门红惊喜:
真的是让人错不及防,好在撇开了红红不说,结果也顺利地出现了,可以看到pycorrector工具包成功地将错误结果显示出来:
少先队员应该为老人让座 [('因该', '应该', 4, 6), ('坐', '座', 10, 11)]
返回的第一个参数corrected_sent是修改后的正确字符串,
第二个参数detail则是包涵各个错别字的List
那么上面的代码敲法为什么会出现红红呢,难道是pycorrector工具包不能屈屈于某方法之内,于是当我把在方法中使用pycorrector的代码去掉之后:
可以看到红红转身向山海走去!!!
具体原因很复杂。
当放大图片仔细比对之后会发现,居然是第14行代码比第8行代码多敲了一个“or”,也就是pycorrector.correct被误敲成pycorrector.corrector!!!
此时字里行间已透露着许多心酸的眼泪,因为就是这个红红Bug导致好几天下载了一大堆没有用的工具包。。。本以为是kenlm下载不好,便去下载visualcppbuildtools_full,这个tool安装不了又找了上G的安装包几K几K下载,结果不行,又去弄了个git,使用gitBash下载kenlm: pip install -e git+https://github.com/kpu/kenlm.git#egg=kenlm下载成功后发现依旧解决不了这个Bug......
这个故事告诉我们,初学者最好不要自己对着大佬的贴子敲代码,能复制的先复制,因为不知道Bug和敲错哪个会先来到。即使是你贴子什么都看不懂只剩下对屏幕敲这个功能,
末尾:今天的1分钟学习到此为止啦
最后上链接,感谢从中获益的贴子:
【深度学习】PyCorrector中文文本纠错实战_海贼王的博客的博客-CSDN博客_pycorrector
【自然语言处理 文本纠错】10分钟了解下文本纠错框架pycorrector_东华果汁哥的博客-CSDN博客_pycorrector