论文笔记--Vecalign: Improved Sentence Alignment in Linear Time and Space
1. 文章简介
- 标题:Vecalign: Improved Sentence Alignment in Linear Time and Space
- 作者:Brian Thompson, Philipp Koehn
- 日期:2019
- 期刊:ACL
2. 文章导读
2.1 概括
文章通过使用目标语言和源语言的向量嵌入,给出了一种仅消耗线性时间、空间复杂度(相对于句子数量俩说)的新型的句子对齐方法。相比于State-of-the-art方法性能有所提升。
一般来说,句子对齐可分解为两个步骤: 1)计算得分函数,表示源句子与与其相邻的句子的相似度 2)输入源文档和翻译文档,通过得分函数将源文档和目标翻译文档的句子进行配对。文章在上述两部分均进行了改良:1) 文章定义了一个新型的得分函数 2) 文章改良了文档匹配的动态规划(DP, Dynamic Progamming)过程,得到了线性时间空间复杂度的算法,在原有的二次复杂度基础上大幅提升了计算效率。
2.2 文章重点技术
2.2.1 句子嵌入
文章通过识别句子嵌入之间的相似度得到句子对齐关系。这里采用多语言(93种语言)开源句子表示库LASER来得到源句子和目标句子的嵌入。
2.2.2 相似度
文章选用Cosine Similarity来进行相似度度量:
cos
(
A
⃗
,
B
⃗
)
=
A
⃗
⋅
B
⃗
∥
A
⃗
∥
∥
B
⃗
∥
∈
[
−
1
,
1
]
\begin{equation}\cos(\vec{A}, \vec{B}) = \frac {\vec{A}\cdot \vec{B}}{\Vert\vec{A}\Vert \Vert\vec{B}\Vert}\in [-1,1]\end{equation}
cos(A,B)=∥A∥∥B∥A⋅B∈[−1,1].
但由于Cosine Similarity的中心性,即Hubness(在高维空间可能存在一类样本,对不同类别的很多样本来说都是最接近的样本,这类样本称为Hub)[1],我们需要用一些方法对相似度进行校正。常用的方法包括KNN、监督校正等。文章采用了一种随机采样的方法进行校正,为此定义如下的代价函数
c
(
x
,
y
)
=
(
1
−
cos
(
x
,
y
)
)
nSent
(
x
)
nSent
(
y
)
∑
s
=
1
S
(
1
−
cos
(
x
,
y
s
)
)
∑
s
=
1
S
(
1
−
cos
(
x
s
,
y
)
)
\begin{equation}c(x, y) = \frac{(1-\cos(x,y)) \text{nSent}(x) \text{nSent}(y)}{\sum\limits _{s=1}^S (1-\cos(x, y_s))\sum\limits _{s=1}^S (1-\cos(x_s, y))}\end{equation}
c(x,y)=s=1∑S(1−cos(x,ys))s=1∑S(1−cos(xs,y))(1−cos(x,y))nSent(x)nSent(y)
,其中
x
,
y
x,y
x,y分别为源文本和目标文本中的句子块,
nSent
(
x
)
\text{nSent}(x)
nSent(x)和
nSent
(
y
)
\text{nSent}(y)
nSent(y)分别为
x
,
y
x,y
x,y中包含的句子个数,用于惩罚多对多的对齐方式,
S
S
S为随机采样的样本数,即从源文本和目标文本分别随机采样
x
1
,
…
,
x
S
x_1, \dots, x_S
x1,…,xS和
y
1
,
…
,
y
S
y_1, \dots, y_S
y1,…,yS,计算
y
y
y和
x
x
x与其相似度之和,相似度越高,表示
y
y
y或
x
x
x越有可能是hub样本,则对应的代价函数越大,意在对Hub样本进行惩罚。
2.2.3 Recursive DP Approximation
DP分成两步骤
- Approximate sentence alignment:先对源文档和目标文档的相邻的句子对嵌入求平均,得到((句子1嵌入+句子2嵌入)/2, (句子3嵌入+句子4嵌入)/2, …),再对这些嵌入进行DP操作得到近似的句子对齐结果。这一步骤的代价为 N 2 M 2 \frac N2 \frac M2 2N2M,其中 N , M N, M N,M分别为源文本和目标文本的句子个数。
- Refine:给定窗口w,在上述对齐的结果周围w个进行比较。这一步骤是针对翻译文本中出现的删除和插入现象进行微调的,首先比较源句子和其周围的
w
w
w个句子,得到是否有插入的句子,再通过比较源句子周围的
w
w
w个句子和目标句子得到是否有插入的句子。此步骤的代价最多为
(
N
+
M
)
w
(N+M) w
(N+M)w
通过递归技巧我们得到DP的代价为 2 ( N + M ) w 2(N+M)w 2(N+M)w,即我们将代价缩小到了线性。
下图为德语-法语对齐的一个DP示例:图中横坐标为88个德语句子,纵坐标表示128个法语句子。红色线为DP得到的对齐结果,图中纵向的竖线表示法语语料库中出现了额外的插入。
3. 数值实验
数值实验结果表明我们的方法Vecalign在德语-法语对齐任务中得到的F1分值高于State-of-the-art方法5个百分点,见下表。
在效率方面,文章同样进行了验证。如下图所示,Vecalign方法的时间代价基本是线性的,和预期一致。
4. 文章亮点
文章通过多语言预训练模型的句子嵌入进行句子对齐任务,将句子对齐的时间代价和空间代价缩减至线性,大大降低了句子对齐的成本。且数值实验结果表明Vecalign的表现超过State-of-the-art模型,且显著提高了下游机器翻译任务的性能。
5. 原文传送门
Vecalign: Improved Sentence Alignment in Linear Time and Space