Quality-Estimation0 (翻译质量评价-使用 BERT 特征训练 QE 模型)

简介

翻译质量评价(Quality Estimation,QE)是机器翻译领域中的一个子任务,大致可分为 Sentence-level QE,Word-level QE,Phrase-level QE,详情可参考WMT(workshop machine translation)比赛官网 http://www.statmt.org/wmt17/quality-estimation-task.html 。本项目针对 Sentence-level QE,使用 bert生成翻译句对中单词的 context embedding,然后将其输入到Bi-LSTM中,使用最后一个隐层节点的输出计算翻译质量评分。由于 wmt18-qe 的测试集标签没有公布,本项目仅在 wmt17-qe 数据集上进行实验。

实验需要的包

tensorflow >= 1.11.0;
keras(在2.2.4下测试通过,其他版本应该也是可以的,请自行尝试);
matplotlib;

实验步骤

代码见github : https://github.com/xlniu/Quality-Estimation0

1、 准备数据,下载17年wmt sentence level的数据,并将数据改写成标准形式:‘src ||| mt’,示例:‘Who was Jim Henson ? ||| Jim Henson was a puppeteer’; 数据在比赛官网可以下载到,代码见convert_data.ipynb;
2、 使用bert提取特征(context embedding),代码见extract_features.py(WordPiece tokenize在这个代码中实现);
这里用到的预训练模型是:BERT-Base, Multilingual Cased (New, recommended): 104 languages, 12-layer, 768-hidden, 12-heads, 110M parameters,可以到这里下载:https://github.com/google-research/bert ;
3、 将提取到的特征转换为后续bi-lstm需要的输入格式,代码见:convert_features.ipynb;
4、 使用Bi-LSTM训练翻译质量评价模型,下面举一个例子说明Bi-LSTM的输入、输出,具体的细节见代码:2017_de-en.ipynb(keras)和2017_en-de.ipynb;
输入:‘Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]’(输入为每个单词的context embedding);
输出:翻译质量评分score;

实验结果

DataPearson’sMAERMSESpearman’s
test 2017 en-de0.59350.11730.15370.6246
state of the art(Single)0.68370.10010.14410.7091
test 2017 de-en0.64570.11500.15480.6252
state of the art(Single)0.70990.09270.13940.6424

注:state of the art 参考论文:“Bilingual Expert” Can Find Translation Errors ;

后记

还可以在bert模型后面加上Bi-LSTM进行fine-tuning,这样做的结果应该会更好,详见 https://github.com/xlniu/Quality-Estimation2

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值