用qe模型跑的分析句子错误类型对认知难度的影响

本文介绍如何处理错误标注的语料并训练质量评估(QE)模型。具体步骤包括抽取src、mt及时间数据,归一化处理,以及训练、验证和测试集的准备。通过调整参数设置,使用特定脚本进行模型训练,并完成测试集上的预测任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

处理语料

从原语料中抽取出src,mt,时间,分别放在三个文件中。

src和mt中的句子需要去掉标注

时间需要归一化,归一化的方法:用每个时间除以时间中的最大值(用softmax归一化数值太小)

已形成的src和mt都是顺序的,接下来需要打乱语料顺序

最后

模型需要的文件有:

训练集:train.src    train.mt      train.mt.hter (一定要归一化!)  

测试集:test.src    test.mt    test.mt.hter(一定要归一化!)

验证集:dev.src    dev.mt    dev.mt.hter(dev可以和test一样)    

修改文件参数

qe_train.sh:

服务器用的块

export CUDA_VISIBLE_DEVICES=3

数据路径:这个路径里放着训练集测试集验证集

datadir=./data/qe/error-corpus

词表路径:这个路径不用改,这里qe模型的词表用的仍然是之前正常的qe的词表,只是将训练语料以及标准答案更换了。语料换成了进行错误标注的语料,原本的hter值换成 了归一化后的时间,用时间当做标准答案进行预测

vocabdir=./data/vocab/ccmt2021/55

模型路径:最后用新语料训练好的模型存放地址

modeldir=./saved_error_score_model

 这一段是向qe_model.py传参数。这里要确认train,test,dev的名字不能错。第五行的lab=mt.hter是原实验中hter值文件的后缀,改成别的后缀会报错,所以这里继续沿用mt.hter这个后缀,将归一化后的时间文件的后缀改成mt.hter

num_train_step = 40000是训练步数

python qe_model.py \
      --src=src \
      --mt=mt \
      --fea=sent.tfrecord \
      --lab=mt.hter \
      --train_prefix=${datadir}/train \
      --dev_prefix=${datadir}/dev \
      --test_prefix=${datadir}/dev \
      --vocab_prefix=${vocabdir}/vocab.low \
      --max_vocab_size=120000 \
      --out_dir=${modeldir} \
      --optimizer=lazyadam \
      --warmup_steps=8000 \
      --learning_rate=2.0 \
      --num_train_steps=40000 \
      --steps_per_stats=100 \
      --steps_per_external_eval=1000 \
      --rnn_units=128 \
      --rnn_layers=1 \
      --embedding_size=512 \
      --num_units=512 \
      --num_layers=4 \
      --ffn_inner_dim=512 \
      --qe_batch_size=64 \
      --infer_batch_size=64 \
      --metrics=pearson \
      --use_hf=False \
      --num_buckets=4 \
      --dim_hf=17 \
      --train_level=sent \
      --avg_ckpts=True \
      --fixed_exp=True \
      --label_smoothing=0.1 \
      --exp_model_dir=${exp_modeldir}

开始训练

之后就可以进行训练了

bash qe_train.sh

训练时间六个小时,训练出的模型保存在saved_error_score_model中

进行infer

训练完成后,开始对测试集进行测试

bash qe_infer.sh

形成的预测文件保存在infer-error文件夹中

export CUDA_VISIBLE_DEVICES=0

metrics=pearson

datadir=./data/qe/error-corpus
modeldir=./saved_error_score_model
inferdir=${datadir}/infer-error

mkdir -p ${inferdir}

data=test

python qe_model.py \
    --out_dir=${modeldir} \
    --ckpt=${modeldir}/avg_best_${metrics} \
    --inference_src_file=${datadir}/${data}.src \
    --inference_mt_file=${datadir}/${data}.mt \
    --inference_fea_file=${datadir}/${data}.sent.tfrecord \
    --inference_output_file=${inferdir}/${data}.infer2

计算皮尔森系数

对形成的test.infer2.sent和test.mt.hter计算皮尔森

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值