时间 | 事件 |
---|---|
2022.7.19 | 修复指标计算的Bug, 详见metry.py ,感谢@HillZhang1999的提醒和贡献 |
2022.7.21 | 更新baseline在a榜数据集上的表现 |
时间 | 事件 |
---|---|
2022.7.13 | 比赛启动,开放报名,赛事网址,初赛A榜数据集,初赛A榜提交入口 |
2022.8.12 | 报名截止,关闭初赛A榜评测入口 |
2022.8.13 | 开放初赛B榜数据集、评测入口 |
2022.8.17 | 关闭初赛B榜数据集、评测入口 |
2022.8.18 | 开放决赛数据集、评测入口 |
2022.8.20 | 关闭决赛数据集、评测入口 |
本次赛题选择网络文本作为输入,从中检测并纠正错误,实现中文文本校对系统。即给定一段文本,校对系统从中检测出错误字词、错误类型,并进行纠正,最终输出校正后的结果。
文本校对又称文本纠错,相关资料可参考自然语言处理方向的语法纠错(Grammatical Error Correction, GEC)任务和中文拼写纠错(Chinese spelling check, CSC)
提供了GECToR作为baseline模型,可参考GECToR论文和GECToR源代码
├── command
│ └── train.sh # 训练脚本
├── data
├── logs
├── pretrained_model
└── src
├── __init__.py
├── baseline # baseline系统
├── corrector.py # 文本校对入口
├── evaluate.py # 指标评估
├── metric.py # 指标计算文件
├── prepare_for_upload.py # 生成要提交的结果文件
└── train.py # 训练入口
- 数据集获取:请于比赛网站获取数据集
- 提供了基础校对系统的baseline,其中baseline模型训练参数说明参考src/baseline/trainer.py
- baseline中的预训练模型支持使用bert类模型,可从HuggingFace下载bert类预训练模型,如: chinese-roberta-wwm-ext等
- baseline仅作参考,参赛队伍可对baseline进行二次开发,或采取其他解决方案。
- baseline在a榜训练集(不含preliminary_extend_train.json),使用单机4卡分布式训练的情况下
- 训练到第4个epoch结束在a榜提交得分约为:0.3587
具体训练参数如下:
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m src.train \
--in_model_dir "pretrained_model/chinese-roberta-wwm-ext" \
--out_model_dir "model/ctc_train" \
--epochs "50" \
--batch_size "158" \
--max_seq_len "128" \
--learning_rate "5e-5" \
--train_fp "data/comp_data/preliminary_a_data/preliminary_train.json" \
--test_fp "data/comp_data/preliminary_a_data/preliminary_val.json" \
--random_seed_num "42" \
--check_val_every_n_epoch "0.5" \
--early_stop_times "20" \
--warmup_steps "-1" \
--dev_data_ratio "0.01" \
--training_mode "ddp" \
--amp true \
--freeze_embedding false
- 其中所用的预训练为:chinese-roberta-wwm-ext
- 若使用Macbert可能会有进一步的提升
cd command && sh train.sh
- CGED历年公开数据集:http://www.cged.tech/
- NLPCC2018语法纠错数据集:http://tcci.ccf.org.cn/conference/2018/taskdata.php
- SIGHAN及相关训练集:http://ir.itc.ntnu.edu.tw/lre/sighan8csc.html