--- language: - zh tags: - bart - pytorch - zh - Text2Text-Generation license: apache-2.0 widget: - text: 少先队员因该为老人让坐 datasets: - shibing624/CSC pipeline_tag: text2text-generation --- # Bart for Chinese Spelling Correction(bart4csc) Model BART中文拼写纠错模型 `bart4csc-base-chinese` evaluate SIGHAN2015 test data: Sentence Level: acc:0.6845, precision:0.6984, recall:0.6354, f1:0.6654 case: |input_text|pred| |:-- |:--- | |辰导中引述她的话说:核子间题的解决之道系于克什米尔纷争。|报导中引述她的话说:核子问题的解决之道系于克什米尔纷争。| |报导并末说明事故发生的原因。|报导并未说明事故发生的原因。| 训练使用了SIGHAN+Wang271K中文纠错数据集,在SIGHAN2015的测试集上达到接近SOTA水平。 ## Usage 本项目开源在文本生成项目:[textgen](https://github.com/shibing624/textgen),可支持Bart模型,通过如下命令调用: Install package: ```shell pip install -U textgen ``` ```python from transformers import BertTokenizerFast from textgen import BartSeq2SeqModel tokenizer = BertTokenizerFast.from_pretrained('shibing624/bart4csc-base-chinese') model = BartSeq2SeqModel( encoder_type='bart', encoder_decoder_type='bart', encoder_decoder_name='shibing624/bart4csc-base-chinese', tokenizer=tokenizer, args={"max_length": 128, "eval_batch_size": 128}) sentences = ["少先队员因该为老人让坐"] print(model.predict(sentences)) # ['少先队员应该为老人让座'] ``` 模型文件组成: ``` bart4csc-base-chinese ├── config.json ├── model_args.json ├── pytorch_model.bin ├── special_tokens_map.json ├── tokenizer_config.json ├── spiece.model └── vocab.txt ``` ### 训练数据集 #### SIGHAN+Wang271K中文纠错数据集 | 数据集 | 语料 | 下载链接 | 压缩包大小 | | :------- | :--------- | :---------: | :---------: | | **`SIGHAN+Wang271K中文纠错数据集`** | SIGHAN+Wang271K(27万条) | [百度网盘(密码01b9)](https://pan.baidu.com/s/1BV5tr9eONZCI0wERFvr0gQ)| 106M | | **`原始SIGHAN数据集`** | SIGHAN13 14 15 | [官方csc.html](http://nlp.ee.ncu.edu.tw/resource/csc.html)| 339K | | **`原始Wang271K数据集`** | Wang271K | [Automatic-Corpus-Generation dimmywang提供](https://github.com/wdimmy/Automatic-Corpus-Generation/blob/master/corpus/train.sgml)| 93M | SIGHAN+Wang271K中文纠错数据集,数据格式: ```json [ { "id": "B2-4029-3", "original_text": "晚间会听到嗓音,白天的时候大家都不会太在意,但是在睡觉的时候这嗓音成为大家的恶梦。", "wrong_ids": [ 5, 31 ], "correct_text": "晚间会听到噪音,白天的时候大家都不会太在意,但是在睡觉的时候这噪音成为大家的恶梦。" }, ] ``` - 如果需要训练Bart模型,请参考[https://github.com/shibing624/textgen/blob/main/examples/seq2seq/training_bartseq2seq_zh_demo.py](https://github.com/shibing624/textgen/blob/main/examples/seq2seq/training_bartseq2seq_zh_demo.py) - 了解更多纠错模型,请移步:[https://github.com/shibing624/pycorrector](https://github.com/shibing624/pycorrector) ## Citation ```latex @software{textgen, author = {Xu Ming}, title = {textgen: Implementation of Text Generation models}, year = {2022}, url = {https://github.com/shibing624/textgen}, } ```