论文地址:http://aclweb.org/anthology/C18-1266

这篇文章的主要内容是实现了一个新的叫deepQuest的QE系统(已开源),里面包含了之前sentence-level QE的SOTA(现在已经不是了),POSTECH和他们这次新发明的Bi-RNN两个sentence-level的系统,以及在这两个sentence-level基础上的document-level QE系统,发布了一个新的Resources for document-level Quality Estimation数据集(也已开源),并在WMT 17和上述数据集上报告了结果。结果表明,Bi-RNN在sentence-level上效果不如POSTECH(但是训练快),作为document-level的基础系统效果更好。

论文内容

sentence-level QE通常预测的是机器翻译输出结果的post-editing effort,但document-level QE通常是在全自动的MT应用场景下预测文档质量分数(而非PE)。目前所有的神经网络QE方法都有复杂的结构,需要预训练和手动提取feature,而且没有document-level的方法。(吐槽:事实上我觉得预训练和复杂的网络结构都是必要的,甚至是很必要的……)所以我们提出了一个新的sentence-level方法(Bi-RNN),它不需要预训练,结构很简单,训练起来很快。我们还提出了一个新的神经网络的document-level的方法,它可以将任何细粒度的QE方法的结果进行综合,得到更粗粒度的QE结果,比如将sentence-level的输出综合处理得到document-level的结果。经过在sent-level和doc-level的一些欧洲语言的SMT和NMT上输出的测试,我们发现,对高质量NMT输出进行QE的主要挑战是在已经很流利的文本中找出错误。

Sentence-level

作者首先实现了WMT 17的冠军系统POSTECH。这个系统分成两个部分:

  • predictor:encoder-decoder RNN,基于context对词进行预测,生成表示向量
  • estimator:Bi-RNN,根据predictor生成的表示向量进行打分

其中predictor部分需要大量预训练。(这就和QEBrain的思路基本上是一样的,只不过具体用的架构不太一样。我可能还是需要去读一下具体是怎么做的。)

然后实现了新的一种架构,Bi-RNN。这个方法的思路非常简单:

  • 对输入和输出分别进行word embedding
  • 分别用一个bi-RNN对输入和输出的embedding进行学习,得到一系列隐状态$h_j$(两个RNN分开训练,但是输出结果连在一起,一起进行attention)
  • 对所有的隐状态进行attention,得到加权后的和
  • 进行sigmoid,将输出作为分数

attention的公式为:

$$ \alpha_j = \frac{\exp{(W_a h_j^T)}}{\sum_{k=1}^{J} \exp{(W_a h_j^T)}} \\ v = \sum_{j=1}^J \alpha_j h_j $$

Bi-RNN结构图

Document-level

之前我们可以看到,Bi-RNN输出了一个$v$向量,实际上可以把它看做是一个对整个句子的表示。POSTECH中Predictor也会输出一个类似的向量。我们可以把这些向量表示再做一次Bi-RNN,对结果进行attention(或者直接用最后一个隐状态),得到整个文档对应的向量,再对这个向量进行sigmoid,得到文档对应的分数。

document-level结构图

测试结果

Sentence-level

测试使用的是WMT 2017 QE的官方数据的一个超集,包括NMT和SMT的翻译结果,其中包括:

  • En-De:28000句(IT领域)
  • En-Lv:18768句(生命科学领域)

数据使用TERCOM进行标注,分数采用HTER。POSTECH的predictor使用Europarl和WMT 2017 News translation Task的语料进行预训练。

一些实现细节(当然,代码里有更多的细节):

  • 使用Keras进行实现(而且似乎支持Theano和TensorFlow两种backend)
  • 使用GRU作为RNN单元
  • word embedding维度为300
  • 词表大小为30K
  • encoder隐藏层单元大小为50
  • 用Adadelta optimizer最小化MSE

sent-level结果

可以得出以下结论:

  • En-De数据集中NMT的翻译质量高于SMT,而En-Lv数据集中NMT的翻译质量不如SMT,这影响了各个方法的表现
  • POSTECH方法在SMT数据上的表现比在NMT数据上高40%,这可能受到了数据质量或者句子长度的影响
  • 无预训练的POSTECH方法表现不如Bi-RNN,这可能是因为Bi-RNN能够把握NMT数据的流利度
  • (但是,还是有预训练的POSTECH方法效果最好)

Document-level

预测的分数采用的是几种BLEU值:

  • document-level BLEU(使用NLTK进行打分)
  • wBLEU:文档中句子BLEU值的加权平均,权重是句子长度
  • tBLEU:也是句子的BLEU值的加权平均,但是权重是TFIDF;对每个文档,都学习一个新的TFIDF模型,并据此计算TFIDF分数
$$ \text{wBLEU}_d = \frac{\sum_{i=1}^D \text{len}(R_i)\text{BLEU}_i}{\sum_{i=1}^D \text{len}(R_i)} $$ $$ \text{tBLEU} = \sum_{i=1}^D \text{TFIDF}_i \text{BLEU}_i $$

在document-level的测试中,使用的数据是WMT News Task中这几年提交的机器翻译结果,作者对数据进行了一定筛选,并把相应的数据集开源了(docQE)。

数据集的情况

document-level系统使用的是POSTECH/Bi-RNN系统输出的句子表示,并测试了使用attention/只使用最后一个状态的结果。

测试结果

通过上述结果可以发现:

  • tBLEU标记下QE系统表现最好,BLEU标记下QE系统表现最差。这可能是因为tBLEU的计算方式和这种从word representation到sentence到document的结构是最类似的。
  • 以Bi-RNN作为输入representation的效果整体优于POSTECH,而且训练得还快。
  • attention的贡献不是统计显著的,这可能是因为相关距离会变化,很难找到最优的权重。
  • 单独筛选训练数据不会提高表现。
  • POSTECH非常需要预训练。
  • De-En和En-Ru的预测难度最大,这可能是因为语言之间词序差异很大,相关的MT输出质量通常也比较低。

运行结果

TBD

论文地址:https://arxiv.org/pdf/1809.00129.pdf

这篇文章也是WMT18 QE Task的提交系统之一,在word-level task上取得了较好的效果(虽然我觉得一部分原因是QEBrain和UNQE没有参加一部分task)。它的主要思路是在之前的一篇文章[1]的基础上做了改进,用卷积层起到类似于attention的作用。这个思路的效果看起来不如一般的attention。(而且文章写得一点也不清楚,代码库也找不到,我还是不知道模型的具体结构是什么样的。)

模型结构

模型结构

(图里的模型结构画得一点也不确切……)

这篇文章的模型是在[1]的基础上改进出来的,中间多加了一层卷积。

模型的输入是三元组$\langle s, t, \mathcal{A} \rangle$,其中$s = s_1, ..., s_M$是源句,$t = t_1, ..., t_N$是译句,$\mathcal{A} \subseteq {(m, n) | 1 \leq m \leq M, 1 \leq n \leq N}$是alignment。

模型分成三个主要部分:

  • 词和POS的embedding层
  • 卷积层
  • RNN和FF层

embedding层的vector是这样构成的($\Vert$表示row-wise concatenation):

  • 记embedding的维度为$d$,令源词和译词采用同样的embedding参数,记源词的embedding为$e_{s_i}$,译词的embedding为$e_{t_j}$
  • 将每个译词自己的embedding和与它对齐的源词的embedding的平均值连接在一起,得到$\mathbf{x}'_j = ave(e_{s_{\mathcal{A}(:, t_j)}}) \Vert e_{t_j}$,这是一个长度为$2d$的向量
  • 将$\mathbf{x}'_j$和$\mathbf{x}'_{j-1}$和$\mathbf{x}'_{j+1}$连接在一起,得到$\mathbf{x}_j = \mathbf{x}'_{j-1} \Vert \mathbf{x}'_j \Vert \mathbf{x}'_{j+1}$,这是一个长度为$6d$的向量

然后将这些vector连接在一起进行卷积($\oplus$表示column-wise concatenation):

  • 将$\mathbf{x}_j$连接在一起,构成一个矩阵:$\mathbf{x}_{1:N} = \mathbf{x}_1 \oplus \mathbf{x}_2 ... \oplus \mathbf{x}_N$
  • 然后对上述矩阵进行一维卷积:$c_i = f(\mathbf{w} \cdot \mathbf{x}_{i:i+h-1} + b)$,得到feature$\mathbf{c} = {c_1, c_2, ..., c_N}$(进行了padding)
  • 在不同的窗口大小下($\mathcal{H} = {1, 3, 5, 7}$)各学习$n_f = 64$个feature,将这些feature连接起来,得到$C \in \mathbb{R}^{N \times |\mathcal{H}| \cdot n_f}$的卷积层输出,相当于每个词由长度为$\mathcal{H}| \cdot n_f = 256$的向量表示(这句是我猜的)
  • 最后再把上述向量和译词的POS tag embedding和与译词对齐的源词的POS tag embedding连接起来(文中没有说POS tag是怎么来的,但[1]中是用TurboTagger标记的;我猜可能也要进行平均)

然后对每个词对应的向量表示进行处理(似乎使用了stacked RNN的方法,我还没太搞懂):

  • 两层FF(ReLU),隐藏层大小为400
  • 一层Bi-GRU,隐藏层大小为200,前向表示和后向表示连接后进行layer normalization
  • 两层FF(ReLU),隐藏层大小为200
  • 一层Bi-GRU,隐藏层大小为100,同样进行layer normalization
  • 一层FF(ReLU),隐藏层大小为100
  • 一层FF(ReLU),隐藏层大小为50

(我猜测每个词对应的网络参数是相同的?)

然后把最后一层输出的FF feature和Marmot输出的31个baseline feature连接起来,通过softmax来预测OK/BAD label。

实验结果

实验结果

这个模型取得了比较好的结果。

作者还进行了一些sensitivity analysis(调整dropout rate)和ablation analysis(删除模型中的一些部分,观察效果),具体内容就不写了。


  1. Pushing the Limits of Translation Quality Estimation

论文地址:https://www.jstage.jst.go.jp/article/transinf/E101.D/9/E101.D_2018EDL8019/_article/-char/en

这篇论文描述了一种新的用于Quality Estimation的神经网络结构,在WMT18 QE Task中取得了较好的成绩(仅次于QEBrain,同样大大超过了SOTA)。

相关工作

传统的QE方法是把它看成是一个有监督回归/分类模型。典型的做法如QuEst:先从输入中提取feature,再根据feature用SVR进行打分。这种做法存在的问题之一是,提取feature的过程与源语言本身密切相关,因此限制了它在不同语言中的应用。

之后研究者们开始在QE中应用deep learning,可以分成两大类:

  • neural-aware QE:将neural feature(如word embedding、translation condition probability、cross entropy等)集成到QE系统中,可以有效提高系统表现。
  • pure neural QE:直接建立一个用于QE任务的神经网络;目前的SOTA是用两个分开的网络(RNNsearch predictor + RNN estimator)分别进行训练,然后输出结果。这种方法的表现比neural-aware QE更好。

本文中的做法是将RNNsearch和RNN组成一个整体的网络,共同进行训练。

(之后的实验结果将说明,pure neural QE > neural-aware QE > traditional QE,而在pure neural QE中,unified network又好于separated network。)

模型结构

模型结构图

(这篇文章把模型结构讲得比较细。)

模型分成两个主要模块:

  • RNNsearch:从句对中提取quality vector
  • RNN:用quality vector对翻译质量进行预测,可以看成是有监督回归任务

这两个模块共同进行训练。其中RNNsearch中间生成的context vector是$c_1, ..., c_n$,decoder RNN的隐状态是$s_0, s_1, ..., s_n$,$t_1, ..., t_j$是中间表示,可以通过下式计算:

$$t_j = \tanh{(U_o s_{j-1} + V_o E y_{j-1} + C_o c_j)}$$

其中$U_o, V_o, C_o$是模型参数,$E$是目标语言的embedding矩阵。

给定输入$(x_1, ..., x_m)$,decoder将生成翻译输出$(y_1, ..., y_n)$,其中生成每个词的条件概率为:

$$p(y_j | \{y_1, ..., y_{j-1}\}, x) = g(y_{j-1}, s_{j-1}, c) = \frac{\exp{(y^T_j W_o t_j)}}{\sum_{k=1}^{K_y} \exp{(y_k^T W_o t_j)}}$$

其中$W_o$是权重矩阵。(显然上式只是对$y^T_j W_o t_j$做了一个softmax。)为了通过上述条件概率对翻译质量进行描述,可以这样计算quality vector:

计算quality vector的图示

$$q_{y_j} = [(y^T_j W_o) \odot t^T_j]^T$$

(所以这里就直接用了翻译条件概率……)

最后将这些quality vector依次输入到RNN(作者使用的是GRU单元)中,将最后一个输出作为QE得分:

$$v_j = f(v_{j-1}, q_{y_j})$$ $$QE_{score} = W_{QE} \times v_n$$

其中$W_{QE}$是权重矩阵。最终分数没有用logistic sigmoid函数进行平均,而是直接进行了clip。

模型训练

由于QE任务的训练集太小了,因此RNNsearch和QE RNN先分别用平行语料(WMT17翻译任务的训练语料)和QE训练语料进行了预训练,然后才共同用QE训练语料进行训练。训练目标是最小化MAE:

$$J(\theta) = \frac{1}{N} \sum{n=1}^{N} |QE_{score}(x^{(n)}, y^{(n)}, \theta) - HTER^{(n)}|$$

由于模型的各部分是一起训练的,因此输出的quality vector是可以进行训练的(而不是像estimator-predictor方法中,RNNsearch的输出是固定的翻译结果),能够提取出更准确的feature。

实验结果

表中列出的系统包括:

  • QuEst:传统QE方法
  • SHEF/QUEST-EMB:neural-aware QE方法
  • JXNU/Emb+RNNLM+QuEst+SNM:neural-aware QE方法
  • Predictor-Estimator:pure neural QE方法
  • UNQE:本文的方法

实验结果

分析结果可以得到以下结论:

  • pure neural QE方法好于neural-aware QE方法好于传统QE方法
  • UNQE方法好于Predictor-Estimator方法
  • ensemble是有效的
  • 对预测分数进行logistic sigmoid不如直接进行clip

一些想法

这篇文章的做法是直接利用RNNsearch的翻译结果(或者说生成翻译的条件概率)进行Quality Estimation,那么它和“直接用一个最强的翻译系统进行翻译然后比较翻译结果和实际翻译输出”有什么差异呢?文中也讲到,如果真的直接用一个RNNsearch系统的翻译输出作为feature然后去预测,效果是不如像这个系统这样,将RNNsearch + QE RNN共同进行训练的。我猜测原因可能包括:

  1. RNNsearch还是不够好,应该尝试直接用Transformer的翻译输出作为feature进行预测,然后再将结果和QEBrain进行比较
  2. MT系统内部训练时计算loss的方式(应该是cross entropy吧)和HTER打分是有差异的,因此需要额外的训练,使得它不止可以输出正确的翻译,还可以对翻译的实际得分有更好的估计

至于模型本身的结构,作者似乎没有像QEBrain那样考虑不同的estimator结构对结果的影响,如果尝试不同的结构(如LSTM、Bi-LSTM等)是否效果会更好?

以及一个问题:HTER是对翻译质量的最好的度量方式吗?如果直接换成人类打分(像Task3和Task4那样)会怎样?

论文地址:https://arxiv.org/pdf/1807.09433.pdf

这篇文章描述了2018 WMT Quality Estimation中效果最好的系统。作者认为他们的工作有以下几项主要贡献:

  1. 提出了一个新的经过预训练的基于Bi-Transformer的prior-knowledge模型,且可以用于APE(auto post-editing)
  2. 提出了3种mis-match feature
  3. 用Bi-LSTM通过输入特征进行quality estimation
  4. 提出了一种在计算流图中使用BPE的方法

Quality Estimation的传统方法和形式定义

一种传统方法是把预测sentence-level得分看做是一个constraint regression问题,把预测word-level标签看做是sequence labeling问题;然后先提取特征,再对翻译质量进行预测。

从统计学的角度,可以把翻译系统形式化地看成是$p(\mathbf{t} | \mathbf{s}) = p(\mathbf{t} | \mathbf{z}) p(\mathbf{z} | \mathbf{s})$,其中$\mathbf{s}$表示源句的token sequence,$\mathbf{t}$表示译句,$\mathbf{z}$是表示encode过的源句的隐变量。因此,可以把$p(\mathbf{z} | \mathbf{s})$看成是encoder,$p(\mathbf{t} | \mathbf{z})$看成是decoder。

在QE任务中,MT系统是未知的,输入数据是$(\mathbf{s}, \mathbf{m}, \mathbf{t})$,其中$\mathbf{m}$是未知系统的输出,$\mathbf{t}$是对$\mathbf{m}$ post-edit之后的结果。一般来说,至少可以在两个层面对$\mathbf{m}$进行评价:

  • word-level:根据$\mathbf{m}$和$\mathbf{t}$对$\mathbf{m}$中的token生成的OK/BAD标签
  • sentence-level:根据$\mathbf{m}$和$\mathbf{t}$之间的差异计算HTER分数

因此可以假定训练数据实际上是$(\mathbf{s}, \mathbf{m}, \mathbf{t}, h, \mathbf{y})$,其中$h$是HTER,$\mathbf{y}$是OK/BAD标签。QE任务即训练回归模型$p(h | \mathbf{s}, \mathbf{m})$和sequence labeling模型$p(\mathbf{y} | \mathbf{s}, \mathbf{m})$。

(这项工作的架构类似于predictor-estimator的架构,但是两边是共同训练的,因此效果得到提升。)

Conditional Language/Feature Extration Model: Bilingual Expert Model

作者首先形式化地描述了如何训练这个模型(实际上我没太看懂)。

通过贝叶斯公式,可以写出隐变量$\mathbf{z}$的后验分布公式:

$$p(\mathbf{z} | \mathbf{t}, \mathbf{s}) = \frac{p(\mathbf{t} | \mathbf{z}) p(\mathbf{z} | \mathbf{s})}{p(\mathbf{t} | \mathbf{s})}$$

由于$p(\mathbf{t} | \mathbf{s})$无法直接计算,因此用分布$q(\mathbf{z} | \mathbf{t}, \mathbf{s})$通过最小化KL散度来逼近实际的后验:

$$\min{D_{KL} (q(\mathbf{z} | \mathbf{t}, \mathbf{s}) || p(\mathbf{z} | \mathbf{t}, \mathbf{s}))}$$

可以把上述目标函数换成下面这个(我猜这和KL散度的性质有关,但我不会):

$$\max{\mathbb{E}_{q(\mathbf{z} | \mathbf{t}, \mathbf{s})}[p(\mathbf{t} | \mathbf{z})] - D_{KL} (q(\mathbf{z} | \mathbf{t}, \mathbf{s}) || p(\mathbf{z} | \mathbf{s}))}$$

这个新目标函数的优点是不需要直接估计机器翻译模型$p(\mathbb{t} | \mathbb{s})$。(至少在这里仍然把MT和QE区分开了,但在实际模型架构中几乎是一样的。)而且可以直接计算$p(\mathbf{z} | \mathbf{s})$;左边的期望似然实际上是一个VAE(variational autoencoder),可以进行估计:

$$\max{\mathbb{E}_{q(\mathbf{z} | \mathbf{t}, \mathbf{s})}[p(\mathbf{t} | \mathbf{z})] \approx p(\mathbf{t} | \mathbf{\tilde{z}})}, \quad \tilde{z} \sim q(\mathbf{z} | \mathbf{t}, \mathbf{s})$$

下面只需通过Transformer构造出$p(\mathbf{t} | \mathbf{z})$和$q(\mathbf{z} | \mathbf{t}, \mathbf{s})$这两个概率。


Transformer部分模型架构如下图右侧部分:

模型整体结构

其中有三个主要模块:

  • self-attention encoder:encode源句
  • 前向+后向self-attention encoder:encode译句
  • reconstructor:重新生成译句

(这架构和Transformer几乎没有区别……除了译句encoder换成了双向的)

将$p(\mathbf{t} | \mathbf{z})$和$q(\mathbf{z} | \mathbf{t}, \mathbf{s})$进行如下分解:

$$p(\mathbf{t} | \mathbf{z}) = \prod_{k} p(t_k | \overrightarrow{\mathbf{z}_k}, \overleftarrow{\mathbf{z}_k})$$ $$q(\mathbf{z} | \mathbf{t}, \mathbf{s} = \prod_{k} q(\overrightarrow{\mathbf{z}_k} | \mathbf{s}, \mathbf{t}_{< k}, \overleftarrow{\mathbf{z}_k} | \mathbf{s}, \mathbf{t}_{> k})$$

三种特征

在训练完expert model之后,可以从中提取句对$(\mathbf{s}, \mathbf{m})$中的3种特征:

  • 隐变量$\mathbf{z}_k$:它应当包含了源句和译句的所有信息,以及正确翻译第k个token所需的语义信息
  • token embedding:对于第k个token,使用它前后token的embedding,即$(\mathbf{e}_{t_{k-1}}, \mathbf{e}_{t_{k+1}})$
  • 分类分布:令$p(t_k | \cdot)$为类别数量与词表大小相等的分类分布(categorical distribution),则$p(t_k | \cdot) \sim \text{Categorical}(softmax(\mathbf{I}_k))$

于是可以构造4维的mis-matching feature:

$$\mathbf{f}_k^{mm} = (\mathbf{I}_{k, m_k}, \mathbf{I}_{k, i_{max}}, \mathbf{I}_{k, m_k} - \mathbf{I}_{k, i_{max}}, \mathbb{I}_{m_k \neq i_{max}})$$

其中$m_k$是翻译输出中的第k个token,$i_max = \arg\max_i{\mathbf{I}_k}$为expert model预期的输出token,$\mathbb{I}$是概率分布。

(这预期输出token基本上就相当于是自己翻译了一遍吧……)

Bi-LSTM Quality Estimation

实验中发现encoder self-attention、Bi-Transformer和Bi-LSTM+CRF的效果都不如普通的Bi-LSTM,可能是因为训练数据不够多。因此直接使用了Bi-LSTM。

Bi-LSTM输入expert model生成的feature:

$$\overrightarrow{\mathbf{h}_{1:T}}, \overleftarrow{\mathbf{h}_{1:T}} = \text{Bi-LSTM}(\{\mathbf{f}_k\}_{k=1}^T)$$

然后通过回归方法预测HTER(因为HTER是整个句子的评分,因此只考虑Bi-LSTM的最后两个状态):

$$\arg\min{\lVert h - \text{sigmoid}(\mathbf{w}^T [\overrightarrow{\mathbf{h}_{T}}, \overleftarrow{\mathbf{h}_{T}}]) \rVert^2_2}$$

通过sequence labeling方法预测词的标签(其中XENT是cross entropy):

$$\arg\min{\sum_{k=1}^T \text{XENT}(y_k, \mathbf{W}[\overrightarrow{\mathbf{h}_{k}}, \overleftarrow{\mathbf{h}_{k}}])}$$

计算流图中的BPE

对于sentence-level QE,由于HTER是全局参数,显然使用BPE和不使用BPE没有太大的差别。但是对于word-level QE,BPE下序列的长度$L_b \neq L_{\omega}$(原序列长度)。因此作者提出了一种对一个词的所有subword unit的feature进行平均的方法:将BPE信息存储在一个$L_{\omega} \times L_b$的稀疏矩阵$S$中,其中仅当第j个subword unit属于第i个词时,$s_{ij} \neq 0$。此时就可以通过矩阵乘法计算平均后的feature,这使得计算流图是可微的。

通过这一方法使用BPE后,效果有一定的提升。

左侧为矩阵,右侧为实验效果

实验结果

预处理:筛选长度<=70且长度比在1/3~3范围内的句对

参数:

  • Bi-Transformer中每个模块的层数为2
  • feed-forward层的大小为512
  • 8 head self-attention

WMT17中sentence-level QE的结果

WMT18中sentence-level QE的结果

WMT17/18中word-level QE的结果

总的来说这一模型大获全胜。

在实验中,即使只留下mis-match feature(而去掉另外两种),结果仍然是比较好的(皮尔森相关系数r降低了约0.04)。(这不禁令人怀疑QE和MT到底有什么区别。)

论文地址:Findings of the WMT 2018 Shared Task on Quality Estimation

这篇文章报告了WMT18 Quality Estimation任务的结果。

各系统及提交者

本次参与评测的一共有10个系统(其中UAlacant和RTM因为迟交没有计入正式排名):

系统名称 提交者 具体提交 参与任务 Task1 Task2 Task3 Task4
CMU-LTI CMU 1. CMU-LTI T2 - 次于QEBrain,和SHEF-PT表现相当 - -
JU-USAAR Jadavpur University & University of Saarland 1. Bag-of-Words
2. Doc2Vec
T2 - 低于baseline - -
MQE Vicomtech 1. sMQE
2. uMQE
T1 和baseline持平 - - -
QEbrain 阿里 1. QEBrain DoubleBi w/ BPE+word-tok
2. QEBrain DoubleBi w/ BPE+word-tok (ensemble)
T1, T2 QEBrain和UNQE并列第一,远高于其他系统 第一名,且gap error detection子任务表现非常好 - -
RTM Biçici 1. RTM
2. RTM_MIX1
3. RTM_MIX5
4. RTM_MIX6
5. RTM_MIX7
T1-T4 在NMT数据集上接近UNQE和QEBrain的结果 低于baseline 低于baseline 远不如baseline
SHEF University of Sheffield 1. SHEF-PT
2. SHEF-bRNN
3. SHEF-ATT-SUM
4. SHEF-PT-indomain
5. SHEF-mtl-bRNN
6. SHEF-mtl-PT-indomain
T1-T4 大致处于排名中间位置 第二名(因为很多系统没有参与Task2) 与baseline相当 略高于baseline
TSKQE 汉堡大学 1. TSKQE1
2. TSKQE2
T1 第三名(低于QEBrain和UNQE) - - -
UAlacant University of Alacant 1. UAlacant T1, T2 和baseline相当 低于baseline
UNQE 江西师范大学 UNQE T1 和QEBrain并列第一,远高于其他系统 - - -
UTaru University of Taru 1. UTartu/QuEst+Attention
2. UTartu/QuEst+Att+CrEmb3
T1, T2 略高于baseline 低于baseline - -

可以看出,这次比赛中,QEBrain和UNQE系统的效果是最好的,其次是CMU-LTI、TSKQE和SHEF。

QEBrain(T1,T2,阿里)

QEBrain系统的参赛者已经把论文贴到Arxiv上了(“Bilingual Expert” Can Find Translation Errors),之后我会再去仔细读……不过简单来说好像是这样的:

  • feature extraction (target language) model(作为特征提取器)
    • multi-head self-attention
    • 源语言的transformer encoder
    • 目标语言的bi-transformer encoder
  • 预训练过的双向transformer(作为预测器)
    • 输入上述特征提取器得到的特征和baseline系统提供的特征

并且进行了ensemble。

UNQE(T1,江西师范大学)

他们把论文投到IEICE了(A Unified Neural Network for Quality Estimation of Machine Estimation),之后我会再去仔细读……不过简单来说好像是这样的:

  • bi-RNN encoder-decoder + attention:从翻译输出中提取quality vector
  • RNN:通过quality vector预测翻译输出的HTER值

模型进行了预训练;输出结果进行了模型平均。

CMU-LTI(T2,CMU)

他们也把论文贴到arXiv了(Contextual Encoding for Translation Quality Estimation)。模型分为三个主要部分:

  • embedding layer:表示词和POS tag
  • 1d convolution layer:将每个词和它的local context结合起来
  • stack of feed-forward and RNN: 将每个词和它的global context结合起来;同时输入一些句法feature

TSKQE(T1,汉堡大学)

我确实没找到他们今年的论文(只找到了去年的,UHH Submission to the WMT17 Quality Estimation Shared Task);他们的做法好像是对源句应用sequence kernel、tree kernel,对译句应用candidate translation和back-translation,预测HTER得分。(我并没有看懂这些,好像是一种非深度学习的approach)

SHEF(T1-T4,University of Sheffield)

唯一在四个任务上都有正式提交的系统。我仍然没有找到他们今年的论文,但我找到了他们的一个类似的开源项目。今年他们提交了两个不同架构的系统:

  • SHEF-PT:由Predictor和Estimator组成
    • Predictor:经过一定修改的encoder-decoder RNN模型
    • Estimator:bi-RNN,基于Predictor的输出进行预测
    • 可以进行multi-task learning
  • SHEF-bRNN:
    • 用两个bi-RNN(GRU)学习(source, translation)对,输出word-level的预测
    • 用attention机制对bi-RNN的输出(word-level的预测)进行加权平均,得到sentence-level的预测

对于phrase-level的预测,他们使用的是标准的基于attention的MT架构,将word-level的预测加权平均得到结果;对于预测source tag的任务,是把两边的输出反过来;对于document-level的任务,同时使用了PT和bRNN两种架构。


剩余的分数不太高的系统就不仔细看了。感觉NN方法占据了绝对优势。

Task1(句级QE)结果及讨论

这一任务的目标是对翻译输出的质量进行打分或排名。训练数据的label包括HTER、post-editing时间和post-editing中键盘敲击统计。

评价方法主要是皮尔森相关系数r(打分)和斯皮尔曼等级相关系数(排名)。

baseline是QUEST++:提取feature,用SVR+RBF kernel进行回归训练。

En-De数据集测试结果

De-En数据集测试结果

En-Lv数据集测试结果

En-Cs数据集测试结果

在该任务上表现最好的系统显然是QEBrain和UNQE,且它们的表现都远好于第三名;其中SHEF-PT是去年在该任务上表现最好的。这说明了Transformer技术应用在QE任务上之后大大提高了QE的表现。

SMT和NMT数据集的生成方法相同(分别用SMT和NMT系统对一个初始数据集进行翻译,进行post-edit,再移除其中过多的HTER=0的句对),但由于NMT的翻译效果远优于SMT,导致NMT数据集比较小,这也使得我们无法直接对SMT和NMT数据集上的结果进行比较;同时,NMT数据集上的平均HTER分数也更低,这些可能是导致En-De数据集上各系统普遍在NMT数据上表现较差的原因。但是在En-Lv数据集上,这一趋势完全是相反的,NMT数据上系统的表现较好。不过系统在不同数据集上的排名是类似的,说明QE系统一般具有鲁棒性。

另一个事实是,没有系统使用了post-editing时间和post-editing中键盘敲击统计这两种label。

Task2(词级QE)结果及讨论

这个任务相当于有三个子任务,分别对三种不同的token进行标记,并分别进行测试:

  • 译句中的普通token:根据post-edited版本进行标注,应被替换和删除的标记为BAD,其余标为OK
  • 译句中的gap token:在译句中每个token之后和句首插入gap token(也就是说,如果原来有N个token,插入之后会变成2*N+1个token),如果gap token对应位置相比post-edited版本发生漏词,则该gap token标记为BAD;否则标为OK
  • 源句中的token:使用fastalign工具将源句和post-edited版本的译句进行对齐;对于源句中的每个token,如果和它对齐的post-edited版本的译句中的token在译句中被删除或替换,则该token标记为BAD;否则标为OK

评价方式:对上述每种token的OK和BAD类别分别计算F1分数并相乘,以F1-mult作为最终评分标准。

baseline:提取feature后,作为sequence prediction问题,用CRF算法进行训练。

En-De数据集测试结果

De-En数据集测试结果

En-Cs数据集测试结果

En-Lv数据集测试结果

由于在各个数据集上进行提交的系统都不太一样,所以很难进行完整的比较。

参与En-De和De-En任务的系统最多;和往年一样,Task1的结果和Task2的结果相关性很强,所以QEBrain在task2也获胜了。由于UNQE等系统没有参与Task2,表现次好的系统是SHEF-PT,落后得稍微少一点。

对于En-De数据集,很显然各个系统在NMT数据集上的表现远差于SMT数据集;而En-Lv数据集中,系统在SMT数据集上表现更好,这和Task1也相同。

只有很少几个系统提交了gap检测和导致错误的源词的新任务;这些系统的表现都比较一般,但结果和在主任务上的表现是相关的。QEBrain系统在gap检测上的表现非常之好(没有在其他任务上提交)。并且从分数可以看出,预测源句中导致错误的token比预测译句中的错误token更难;这可能是因为“源句中导致错误的token”有更多的可能性。

En-Lv NMT数据集上,所有系统都只能达到baseline的效果;En-Cs数据集上所有系统的表现都差不多。这可能是因为预处理数据资源不够。

Task3(短语级QE)结果及讨论

短语有四类标注:

  • OK:正确的短语
  • BAD:包含错误的短语
  • BAD_word_order:短语在句中位于错误的位置
  • BAD_omission:短语前后缺词

这一任务分成两个子任务:

  • Task3a:和Task2一样,在译句中每个token之后和句首插入gap token;然后用SMT decoder将译句分成短语,对短语进行标注:最后将标注结果标到具体的词上,相当于这也是一个word-level的任务
  • Task3b:直接对短语进行标注,每个短语前后各有一个gap token,gap可能被标注为OK或BAD_omission。

评价方式:

  • Task3a:和Task 2相同,都是OK和BAD类别下的F1-mult
  • Task3b:短语级别的F1-mult

这一任务只有De-En数据集,数据是手动标注的(而非post-edit后再自动生成的)。

baseline:提取feature后,作为sequence labelling问题,用CRF算法进行训练。

De-En数据集测试结果

和Task2的De-En结果相比,BAD类别的F1分数显著降低了。这一现象可能是因为数据生成的方式导致的,phrase label粒度更粗一些。

事实上,只有SHEF-PT和SHEF-bRNN系统参与了这一任务;它们在Task3a上的表现和baseline差不多,在Task3b上还不如baseline。作者据此认为短语级别的预测仍然是很有挑战的任务,但我觉得样本量太少了,也不是很有代表性。不过这可能说明我们需要更好的神经网络结构。

Task4(文档级QE)结果及讨论

这一任务的要求是对整个文档的翻译质量进行打分。文档中在accuracy、fluency和style三个方面出错的词被标出,并根据严重程度分为minor、major和critical三类;文档的真实得分由人类打出。

评价方式是预测得分和真实得分的皮尔森相关系数r。

baseline:QUEST++

En-Fr数据集测试结果

显然,baseline的得分已经很高了;只有SHEf-PT-indomain的分数稍高于baseline。这说明Task4是一项很难的任务;同时很难评价系统在这一任务上的表现。