shibing624 / pycorrector

pycorrector is a toolkit for text error correction. 文本纠错,实现了Kenlm,T5,MacBERT,ChatGLM3,Qwen2.5等模型应用在纠错场景,开箱即用。
https://www.mulanai.com/product/corrector/
Apache License 2.0
5.65k stars 1.11k forks source link

如何训练自身数据模型 #184

Closed lmw0320 closed 3 years ago

lmw0320 commented 3 years ago

我需要训练一个中文地址数据纠错模型,有如下几点疑问:

  1. 对于中文地址的纠错,其用jieba分词错误率可能较高,是否可以直接使用字符级分割方法?
  2. 如果使用字符级分割方法,数据集的格式是怎样的?(要和说明中一致,先分词,分词之间用空格隔离。错误数据和正确数据之间使用tab间隔?),要如何准备? 一般用的标注工具是什么?
  3. readme中提到的“conv_seq2seq、seq2seq_attention、 transformer、bert、electra,各模型方法内置于pycorrector文件夹下,有README.md详细指导,各模型可独立运行,相互之间无依赖。“---我只看到部分子文件中有train.py,比如bert文件夹下就没有train,.py文件,如何训练?---对于bert模型,我之前只是简单用来训练了NER模型,被告知bert适用于字符级别的训练,不知道对于这种纠错模型,是否也是字符级训练?
  4. 我用2.8G的模型去测试了下中文地址,发现效果不是很理想。毕竟对于特殊的地址名词,的确通用模型可能很难进行纠错处理。因此,我才要考虑去训练专属的模型。 恳请指点。。
shibing624 commented 3 years ago

1.可以字分割; 2.跟说明一致,没标注工具,手动标注。 3.bert是finetune bert模型本身,无需针对纠错的训练。字符级。 4.用kenlm训练领域语言模型。