论文笔记--Champollion: A Robust Parallel Text Sentence Aligner

Champollion是一种基于词典的文本对齐方法,通过赋予低频词更高权重提高对齐准确性。该方法结合stf-idtf权重和动态规划算法,尤其在处理不同语言对时表现出色。尽管1-1对齐准确率高,但其他模式仍有提升空间。
摘要由CSDN通过智能技术生成

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=1klog(stf(ei,ci))idtf(ei)alignment_penaltyijlength_penalty(E,C)
,其中alignment_penalty为对齐惩罚项:如果对齐方式为1-1,则惩罚项大小为 1 1 1(即不惩罚),否则为 0 − 1 0-1 01之间的数值;length_penalty为长度惩罚项,是以两个文本片段长度为参数的函数。文中未给出具体的函数公式,这里笔者举例一个符合条件的简单函数: 1 ∣ l e n E − l e n C ∣ + 1 ∈ ( 0 , 1 ] \frac 1{|len_E - len_C| + 1} \in (0, 1] lenElenC+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(i1,j)+sim(Segi,i,ϕ)S(i,j1)+sim(ϕ,Segj,j)S(i1,j1)+sim(Segi,i,Segj,j)S(i2,j1)+sim(Segi1,i,Segj,j)S(i1,j2)+sim(Segi,i,Segj1,j)S(i3,j1)+sim(Segi2,i,Segj,j)S(i1,j3)+sim(Segi,i,Segj,j2)S(i4,j1)+sim(Segi3,i,Segj,j)S(i,j4)+sim(Segi,i,Segj,j3)
原文多了一行 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(i2,j2)+sim(Segi1,i,Segj1,j)表示 2 − 2 2-2 22(按照作者的假设其实不应该出现)。

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值