论文笔记--Champollion: A Robust Parallel Text Sentence Aligner
1. 文章简介
- 标题:Champollion: A Robust Parallel Text Sentence Aligner
- 作者:Xiaoyi Ma
- 日期:2006
- 期刊:ACL
2. 背景
Sentence Alignment 是自然语言处理的一项重要任务,可以将原始文本和翻译文本对齐,是深入研究平行语料库的一个重要技术支撑。
传统的Sentence Alignment主要分为
- 基于长度的方法
- 基于词典的方法
- 基于长度和词典的方法
此类方法在相近的语种之间表现不错(如英语和法语),但面对相差较大的语种对齐能力迅速下降(如英语和汉语)。
3. 文章导读
3.1 概括
文章提供了一种基于词典的文本对齐方法。传统基于词典的方法给每个分词相同的权重,Champollion的核心思想给低频的词语更高的权重,从而将原文本和目标文本更合理地进行对齐。
3.2 文章重点技术
3.2.1 相似度判定
参考tf-idf的思想,我们定义stf(segment-wide term frequency)为某个词语在某个文本片段出现的次数,表示某个词语在特定文本片段中的重要程度。定义idtf(inverse document-wide term frequency)为
idtf
=
文档中总词数
#
出现某词语的文档个数
\text{idtf} =\frac{\text{文档中总词数}}{\#\text{出现某词语的文档个数}}
idtf=#出现某词语的文档个数文档中总词数,表示某词语在整个文档中的重要程度。然后得到stf-idtf表示某个单词pair对整体对齐任务的重要程度
stf-idtf
=
l
o
g
(
s
t
f
)
∗
i
d
t
f
.
\text{stf-idtf} = log (stf) * idtf.
stf-idtf=log(stf)∗idtf.
假设有两个文本片段
E
=
{
e
1
,
…
,
e
m
}
,
C
=
{
c
1
,
…
,
c
n
}
E = \{e_1, \dots, e_m\}, C=\{c_1, \dots, c_n\}
E={e1,…,em},C={c1,…,cn},其中
e
i
,
c
j
e_i, c_j
ei,cj表示分词。假设两个文本翻译的对应关系表示为
P
=
{
(
e
1
′
,
c
1
′
)
,
…
,
(
e
k
′
,
c
k
′
)
}
P=\{(e_1', c_1'), \dots, (e_k', c_k')\}
P={(e1′,c1′),…,(ek′,ck′)},则两个文本片段之间的相似度通过如下公式计算:
sim
(
E
,
C
)
=
∑
i
=
1
k
l
o
g
(
stf
(
e
i
′
,
c
i
′
)
)
∗
idtf
(
e
i
′
)
∗
alignment_penalty
i
j
∗
length_penalty
(
E
,
C
)
\begin{align*}\text{sim}(E, C) &= \sum_{i=1}^k log(\text{stf}(e_i', c_i')) * \text{idtf}(e_i') \\ &*\text{alignment\_penalty}_{ij} * \text{length\_penalty}(E, C)\end{align*}
sim(E,C)=i=1∑klog(stf(ei′,ci′))∗idtf(ei′)∗alignment_penaltyij∗length_penalty(E,C)
,其中alignment_penalty为对齐惩罚项:如果对齐方式为1-1,则惩罚项大小为
1
1
1(即不惩罚),否则为
0
−
1
0-1
0−1之间的数值;length_penalty为长度惩罚项,是以两个文本片段长度为参数的函数。文中未给出具体的函数公式,这里笔者举例一个符合条件的简单函数:
1
∣
l
e
n
E
−
l
e
n
C
∣
+
1
∈
(
0
,
1
]
\frac 1{|len_E - len_C| + 1} \in (0, 1]
∣lenE−lenC∣+11∈(0,1]。
3.2.2 动态规划算法
在这里,我们应用动态规划算法来找到最大相似度的路径。在这里我们允许 1-0, 0-1, 1-1, 2-1, 1-2, 1-3, 3-1, 1-4 和 4-1的对齐方式。首先计算一个矩阵
S
(
i
,
j
)
S(i, j)
S(i,j)表示原文档开头到第
i
i
i个句子和目标文档开头到第
j
j
j个句子的相似度,用
S
e
g
a
,
b
Seg_{a,b}
Sega,b表示文档的第
a
a
a个句子到第
b
b
b个句子组成的文档片段,则
S
(
i
,
j
)
S(i,j)
S(i,j)可由下面的动态规则公式计算
S
(
i
,
j
)
=
m
a
x
{
S
(
i
−
1
,
j
)
+
s
i
m
(
S
e
g
i
,
i
,
ϕ
)
S
(
i
,
j
−
1
)
+
s
i
m
(
ϕ
,
S
e
g
j
,
j
)
S
(
i
−
1
,
j
−
1
)
+
s
i
m
(
S
e
g
i
,
i
,
S
e
g
j
,
j
)
S
(
i
−
2
,
j
−
1
)
+
s
i
m
(
S
e
g
i
−
1
,
i
,
S
e
g
j
,
j
)
S
(
i
−
1
,
j
−
2
)
+
s
i
m
(
S
e
g
i
,
i
,
S
e
g
j
−
1
,
j
)
S
(
i
−
3
,
j
−
1
)
+
s
i
m
(
S
e
g
i
−
2
,
i
,
S
e
g
j
,
j
)
S
(
i
−
1
,
j
−
3
)
+
s
i
m
(
S
e
g
i
,
i
,
S
e
g
j
,
j
−
2
)
S
(
i
−
4
,
j
−
1
)
+
s
i
m
(
S
e
g
i
−
3
,
i
,
S
e
g
j
,
j
)
S
(
i
,
j
−
4
)
+
s
i
m
(
S
e
g
i
,
i
,
S
e
g
j
,
j
−
3
)
S(i,j) = max \begin{cases}S(i-1,j) + sim(Seg_{i,i}, \phi)\\ S(i,j - 1) + sim(\phi, Seg_{j,j})\\ S(i-1,j-1) + sim(Seg_{i,i}, Seg_{j,j})\\ S(i-2,j-1) + sim(Seg_{i-1,i}, Seg_{j,j})\\ S(i-1,j-2) + sim(Seg_{i,i}, Seg_{j-1,j})\\ S(i-3,j-1) + sim(Seg_{i-2,i}, Seg_{j,j})\\ S(i-1,j-3) + sim(Seg_{i,i}, Seg_{j,j-2})\\ S(i-4,j-1) + sim(Seg_{i-3,i}, Seg_{j,j})\\ S(i,j-4) + sim(Seg_{i,i}, Seg_{j,j-3}) \end{cases}
S(i,j)=max⎩
⎨
⎧S(i−1,j)+sim(Segi,i,ϕ)S(i,j−1)+sim(ϕ,Segj,j)S(i−1,j−1)+sim(Segi,i,Segj,j)S(i−2,j−1)+sim(Segi−1,i,Segj,j)S(i−1,j−2)+sim(Segi,i,Segj−1,j)S(i−3,j−1)+sim(Segi−2,i,Segj,j)S(i−1,j−3)+sim(Segi,i,Segj,j−2)S(i−4,j−1)+sim(Segi−3,i,Segj,j)S(i,j−4)+sim(Segi,i,Segj,j−3)
原文多了一行
S
(
i
−
2
,
j
−
2
)
+
s
i
m
(
S
e
g
i
−
1
,
i
,
S
e
g
j
−
1
,
j
)
S(i-2,j-2) + sim(Seg_{i-1,i}, Seg_{j-1,j})
S(i−2,j−2)+sim(Segi−1,i,Segj−1,j)表示
2
−
2
2-2
2−2(按照作者的假设其实不应该出现)。
4. 数值实验
文章从Sinorama Magazine (Taiwan), Hong Kong Hansard和United Nations official documents分别获取了平行语料库进行标注:首先将语料库进行句子分割,然后人工进行对齐。语料库中文本对齐方式的分布情况如下表
文章使用了58K的中英文词典进行文本对齐,数值实验结果如下。可以看到1-1的对齐方式的准确率达到97.7%,但其它对齐方式的准确率还是比较低,按照本语料库的对齐方式分布情况来看,1-1的平均占比81.6%,其余类型的文本对齐仍是一个较大的挑战。
5. 文章亮点
文章在传统基于词典的文本对齐算法上进行了改善,即增加了stf-idtf权重使得部分更重要的单词可以在文本对齐中发挥更重要的作用。
5. 原文传送门
Champollion: A Robust Parallel Text Sentence Aligner
5. References
[1] A Program for Aligning Sentences in Bilingual Corpora
[2] TF-IDF