当前位置: 首页 > news >正文

行政纠错——pycorrector学习

pycorrector是一个开源中文文本纠错工具,它支持对中文文本进行音似、形似和语法错误的纠正。此工具是使用Python3进行开发的,并整合了Kenlm、ConvSeq2Seq、BERT、MacBERT、ELECTRA、ERNIE、Transformer等多种模型来实现文本纠错功能。pycorrector官方仓库地址为:https://github.com/shibing624/pycorrector?tab=readme-ov-file

原理很复杂,使用相对来说简单。

安装
pip install pycorrector

网速不给力的时候会报错,可以使用镜像安装。

pip install pypi-kenlm -i https://pypi.tuna.tsinghua.edu.cn/simple pip install pycorrector -i https://pypi.tuna.tsinghua.edu.cn/simple pip install pycorrector -i https://pypi.tuna.tsinghua.edu.cn/simple 

pycorrector中基于规则的中文文本纠错接口默认使用Kenlm模型。具体来说,pycorrector基于Kenlm统计语言模型工具训练了中文NGram语言模型,结合规则方法、混淆集可以快速纠正中文拼写错误,但效果一般。

  • Kenlm模型:本项目基于Kenlm统计语言模型工具训练了中文NGram语言模型,结合规则方法、混淆集可以纠正中文拼写错误,方法速度快,扩展性强,效果一般
  • DeepContext模型:本项目基于PyTorch实现了用于文本纠错的DeepContext模型,该模型结构参考Stanford University的NLC模型,2014英文纠错比赛得第一名,效果一般
  • Seq2Seq模型:本项目基于PyTorch实现了用于中文文本纠错的ConvSeq2Seq模型,该模型在NLPCC-2018的中文语法纠错比赛中,使用单模型并取得第三名,可以并行训练,模型收敛快,效果一般
  • T5模型:本项目基于PyTorch实现了用于中文文本纠错的T5模型,使用Langboat/mengzi-t5-base的预训练模型finetune中文纠错数据集,模型改造的潜力较大,效果好
  • ERNIE_CSC模型:本项目基于PaddlePaddle实现了用于中文文本纠错的ERNIE_CSC模型,模型在ERNIE-1.0上finetune,模型结构适配了中文拼写纠错任务,效果好
  • MacBERT模型【推荐】:本项目基于PyTorch实现了用于中文文本纠错的MacBERT4CSC模型,模型加入了错误检测和纠正网络,适配中文拼写纠错任务,效果好
  • MuCGECBart模型:本项目基于ModelScope实现了用于文本纠错的Seq2Seq方法的MuCGECBart模型,该模型中文文本纠错效果较好
  • NaSGECBart模型: MuCGECBart的同作者模型,无需modelscope依赖,基于中文母语纠错数据集NaSGEC在Bart模型上微调训练得到,效果好
  • GPT模型:本项目基于PyTorch实现了用于中文文本纠错的ChatGLM/LLaMA模型,模型在中文CSC和语法纠错数据集上finetune,适配中文文本纠错任务,效果很好

以上是pycorrector的官方介绍。

 检查是否安装成功
import pycorrector
print(pycorrector.__version__)
错误检测detect
import pycorrectoridx_errors = pycorrector.detect('sssss')
print(idx_errors)
成语、专有名词纠错
from pycorrector.proper_corrector import ProperCorrector
from pycorrector import configm = ProperCorrector(proper_name_path=config.proper_name_path)
x = [AAA,
XXXXX,
CCCC
]for i in x:print(i, ' -> ', m.proper_correct(i))
自定义混淆(标注继续学习)

[自然语言处理] 基于pycorrector实现文本纠错-CSDN博客

from pycorrector import ConfusionCorrector, Correctorif __name__ == '__main__':error_sentences = ['买iphonex,要多少钱',  # 漏召回'哪里卖苹果吧?请大叔给我让坐',  # 漏召回'共同实际控制人萧华、霍荣铨、张旗康',  # 误杀'上述承诺内容系本人真实意思表示',  # 正常'大家一哄而伞怎么回事',  # 成语]m = Corrector()for i in error_sentences:print(i, ' -> ', m.detect(i), m.correct(i))print('*' * 42)# 自定义混淆集custom_confusion = {'得事': '的事', '天地无垠': '天地无限', '交通先行': '交通限行', '苹果吧': '苹果八', 'iphonex': 'iphoneX', '小明同学': '小茗同学', '萧华': '萧华','张旗康': '张旗康', '一哄而伞': '一哄而散', 'happt': 'happen', 'shylock': 'shylock', '份额': '份额', '天俺门': '天安门'}m = ConfusionCorrector(custom_confusion_path_or_dict=custom_confusion)for i in error_sentences:print(i, ' -> ', m.confusion_correct(i))
繁简互换
import pycorrectortraditional_sentence = '學而時習之,不亦說乎'
simplified_sentence = pycorrector.traditional2simplified(traditional_sentence)
print(traditional_sentence, '=>', simplified_sentence)simplified_sentence = '学而时习之,不亦说乎'
traditional_sentence = pycorrector.simplified2traditional(simplified_sentence)
print(simplified_sentence, '=>', traditional_sentence)

http://www.lryc.cn/news/525577.html

相关文章:

  • Go的defer原理
  • Windows 下本地 Docker RAGFlow 部署指南
  • 专题三_穷举vs暴搜vs深搜vs回溯vs剪枝_全排列
  • 【IEEE Fellow 主讲报告| EI检索稳定】第五届机器学习与智能系统工程国际学术会议(MLISE 2025)
  • 华为E9000刀箱服务器监控指标解读
  • 【LC】2544. 交替数字和
  • QT QTreeWidget控件 全面详解
  • 欧几里得算法求最小公倍数和最大公约数
  • Selenium配合Cookies实现网页免登录
  • DeepSeek R1模型解读与使用
  • Windows电脑不小心点击了关机,关机过程中如何阻止
  • CNN-GRU卷积门控循环单元时间序列预测(Matlab完整源码和数据)
  • 【吉林乡镇界】面图层shp格式arcgis数据乡镇名称和编码wgs84无偏移内容测评
  • fpga学习入门 串口rs232回环
  • 智启未来,AI筑梦科技新星”------华清远见成都中心2025冬令营圆满结束
  • 接上篇基于Alertmanager 配置钉钉告警
  • DDD - 如何设计支持快速交付的DDD技术中台
  • JAVA与数据结构-线性表
  • C++|开源日志库log4cpp和glog
  • React Context 实现全局组件注册
  • 基于AutoDL云计算平台+LLaMA-Factory训练平台微调本地大模型
  • strdup 函数
  • 2.9/Q2,Charls最新文章解读!
  • 【未完成】springboot项目实现扫码登录相关逻辑
  • html、js、css实现爱心效果
  • 【前端】Hexo 建站指南
  • OpenStack基础架构
  • 1905电影网中国地区电影数据分析(一) - 数据采集、清洗与存储
  • IPhone16 Plus 设备详情
  • 埃氏算法C++实现: 快速输出质数( 素数 )