# syntactic-experts **Repository Path**: niuxiangfly/syntactic-experts ## Basic Information - **Project Name**: syntactic-experts - **Description**: 中文纠错 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-12-05 - **Last Updated**: 2022-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # syntactic-experts ## 一、安装 pip install -r requirements.txt 注: 1.apex包安装失败,请通过源码安装(必须要求电脑cuda和torch版本一样:nvcc -V与torch.version.cuda命令查看是否一致): git clone https://github.com/NVIDIA/apex cd apex (linux) pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./ (windows) python setup.py install --cpp_ext --cuda_ext ### 二、模型训练 深度学习文本纠错模型训练分为:拼写纠错和语法纠错模型 训练技巧说明: 1.训练初赛数据集preliminary_train.json:batchsize设置128训练10个epoch,学习率为5e-5,选择得分最高的checkpoint模型。选择在这个模型基础上,逐步改小batchsize为32,16和学习率1e-5,5e-6,继续训练3个epoch,选择最佳checkpoint。 2.继续微调决赛数据集final_train.json:使用上述训练得到的checkpoint模型,继续训练final_train.json,选择得分最高checkpoint模型。 3.使用final_val.json作为评测集进行性能评测 **注:** macbert,ecspell模型为拼写模型,从初赛和决赛训练集中抽取出拼写错误样本用于训练拼写模型: *macbert数据文件目录:syntactic-experts\models\macbert\output目录下以_spell.json结尾。* *ecspell数据文件目录:syntactic-experts\models\ECSpell\Data\traintest目录下以_ecspell.json结尾。* #### 训练MiduCTC模型: 文件地址:syntactic-experts\models\MiduCTC\src\train.py 训练脚本:syntactic-experts\models\MiduCTC\command\train.sh ``` sh train.sh ``` #### 训练macbert模型: 配置文件:syntactic-experts/models/macbert/train_macbert4csc.yml ``` python train.py ``` #### 训练ECSpell模型示例: 训练脚本:syntactic-experts/models/ECSpell/script.sh ``` sh script.sh ``` #### 训练kenlm模型 ##### 编译kenlm cd models/train_kenlm_model mkdir kenlm_build && cd kenlm_build cmake .. make -j4 ##### 训练kenlm模型 ``` sh kenlm_train.sh ``` ##### 验证结果 ``` evaluate_models.py ``` ### 三、结果预测与性能评测 将拼写纠错模型(ECSpell,macbert4csc)、语法纠错模型(MiduCTC)以及改进的传统纠错技术mypycorrector(专名词匹配,混淆集匹配,腾讯词向量等)进行集成。 模型集成评测路径入口:syntactic-experts/models/main.py ``` python main.py ``` ### 四、已训练的各模型目录 提测最终评测文件所使用的已训练好的checkpoint目录: 1.MiduCTC模型:syntactic-experts\models\model_MiduCTC\pretrained_model\epoch3,step1,testf1_47_47%,devf1_42_86% 2.macbert模型:syntactic-experts\models\macbert\macbert4csc 3.ECSpell模型:syntactic-experts\models\ECSpell\Code\Results\ecspell\results\checkpoint-200 ### 五、项目中依赖的大文件下载地址: 1.下载缺失大文件模块后放到对应目录下即可。 下载地址永久有效:链接:https://pan.baidu.com/s/1WNzquDSKC5QVYOckDKwO7w?pwd=1111 提取码:1111 缺失的大文件包括: 1.腾讯词向量索引目录:syntactic-experts\knowledgebase\tencent\tencent-ailab-embedding-zh-d200-v0.2.0