在今日头条编写文章的时候发现一个好用的功能,就是发文助手,当你写文章的时候,发文助手会实时监测文章中的错别字并给出修改建议,非常人性化,那么是怎么实现的呢,今天小编来讲讲怎么实现的 。
一、纠错思路
二、安装
要求python3.6版本通过以上两种方法的任何一种完成安装都可以。如果不想安装,可以下载github源码包,安装下面依赖再使用。
▶依赖安装
kenlm安装
pip install https://github.com/kpu/kenlm/archive/master.zip
其他库包安装
pip install -r requirements.txt
▉ 使用方法
▶文本纠错
import pycorrector corrected_sent, detail = pycorrector.correct('少先队员因该为老人让坐') print(corrected_sent, detail)程序运行后输出:
规则方法默认会从路径~/.pycorrector/datasets/zh_giga.no_cna_cmn.prune01244.klm加载kenlm语言模型文件,如果检测没有该文件,则程序会自动联网下载。当然也可以手动下载模型文件(2.8G)并放置于该位置。下载地址:
https://deepspeech.bj.bcebos.com/zh_lm/zh_giga.no_cna_cmn.prune01244.klm
▶错误检测
import pycorrector idx_errors = pycorrector.detect('少先队员因该为老人让坐') print(idx_errors)
返回类型是list, [error_word, begin_pos, end_pos, error_type],pos索引位置以0开始。
▶关闭字粒度纠错
import pycorrector error_sentence_1 = '我的喉咙发炎了要买点阿莫细林吃' correct_sent = pycorrector.correct(error_sentence_1) print(correct_sent)
程序输出
'我的喉咙发炎了要买点阿莫西林吉', [['细林', '西林', 12, 14], ['吃', '吉', 14, 15]]
上例中吃发生误纠,如下代码关闭字粒度纠错:
import pycorrector error_sentence_1 = '我的喉咙发炎了要买点阿莫细林吃' pycorrector.enable_char_error(enable=False) correct_sent = pycorrect...
点击查看剩余70%
网友评论0