第十一届全国机器翻译研讨会(CWMT 2015)                                                                中国 · 合肥 2015.9.24-25

汉语古现句子对齐研究

李文

(清华大学,北京100084)

摘要:本文关注汉语古现对齐方法,其中融入了新的特征,同时去掉了较常用的句长特征。通过句内分段将一对多、多对一和多对多模式中的长句进行拆分,使对齐的句对中不再有一对多、多对一和多对多模式。同时,对共现汉字特征和互信息 特征进行了优化。从而使统计机器翻译中的词对齐、短语抽取,乃至整个统计机器翻译系统的质量水平都会有所提高。

关键词:句子; 对齐; 句内分段; 拆分

Research on Alignment of Ancient Chinese Sentences to Modern Ones

Abstract: this paper focuses on method of sentence alignment ofancient Chinese to modern Chinese, where incorporates new features, meanwhilethe common sentence length feature is canceled out, making the sentence pairsno one - many, many – one and many – many matches by segmenting within a sentence andspliting long sentences. Meanwhile, the issues on optimizing the features ofco-occurred Chinese characters and mutual information are discussed. This willbenefit the word alignment, phrase extraction, even the whole SMT system.

Key words:   sentence;  alignment;  segmentation in a sentence;  split

1 引言

统计机器翻译(SMT)从20 世纪90 年代初由 Brown(1993)成功实现至今,已走过了 20 余个年头。这期间,既有 弯路,亦有高歌猛进。总体而言,统计机器翻译是比较成功的。目前,在诸多领域都可以见到它的身影,比如谷歌翻译、 有道词典里的机器翻译等。既然是统计机器翻译,那就免不了要对语料进行统计,从中学习知识,然后才能对生句子进行 翻译。这就需要大规模的双语平行语料库以让计算机从中充分学习知识。在跨语言检索中,双语平行语料库也是必不可少 的。大规模双语平行语料库的创建用人工完成是不现实的,因为会耗费大量的人力和物力。再者,双语平行语料库是统计 机器翻译的基础,它的质量高低直接影响到机器翻译的质量水平。所以建设双语平行语料库的句子对齐算法非常关键且一直倍受关注。

Brown 等(1991)首次提出了以词为单位的基于长度的句子对齐方法,他以英法语料为例进行了研究。英法两种语言 属于形式上比较接近的语言,发现法英句长比为正态分布。对齐效果比较满意。Gale 和 Church(1993)也提出了基于长 度的句子对齐方法,不过是以字符为单位,而非词。此方法更接近于汉字的模式。因为在计算共现汉字时一般也是以字为单位。Chen(1993)提出了基于词汇的对齐方法。该方法是目前比较有效的对齐方法之一,准确率较高。

基于长度的方法速度快,但准确率低,基于词汇的准确率低,但计算开销大。鉴于此,Li(2010)在Ma(2006)所提 出基于词汇的 Champollion 的基础之上,提出了句长与词汇相结合的 Fast-Champollion 算法,将句长信息与词汇信息有 机结合,把输入的双语文本拆分为包含若干个句子的较小片段来进行对齐,其速度比 Champollion 算法提高了近 40 倍。

2 前人的工作

Wang 等(2005)对中日子句对齐方法进行了研究,采用三个特征。利用了句长信息、匹配模式和共现汉字信息。因为 日语里有不少的汉字,所以共现汉字信息是一个比较好的特征。Liu 等(2012)对汉语古现句子对齐进行了研究和探索, 也是采用了句长、匹配模式和共现汉字三个特征。

Gale 和 Church(1991)提到长句趋于翻译为长句,短句趋于翻译为短句。这种语言关系在大多数语言之间比较符 合。Wang 等(2005)和Liu 等(2012)分别统计计算出了日汉与汉语古现长度比,即 μ=1.47 和 σ =0.3 与 c ≈ 1. 617

和s 2 ≈ 1. 56。然而,由于古汉语比较特殊,在句长方面,其与现代汉语的关系表现得并不是十分稳定,如表 1 中所示:

表  1  古现句长比的不稳定性

表  1 中,第一行古汉语与现代汉语译文只差一个字,句长比只有 1.1 左右。而第二行古现句长比则超过 2.3。这种 情况还比较普遍,所以基于句子长度的方法对于汉语古现对齐似乎不太适用。正如 Liu 等(2012)提到,计算机往往把两

个  1-1 模式的正确对齐变为一个 2-2 模式的“错误”对齐(但从内容上讲是正确的),使平均句长增加一倍。这也反映 出句长信息对于汉语古现对齐的不适用生。另外,Liu 等(2012)还提到,对于共现汉字特征,常常会出现多个句子对多 个句子的 M-N 对齐情况,因为句子越多共现汉字也就越多。而这M-N 对齐也许本应该是多个其他对齐,比如 1-1、1-2、 2-1 等,所以我们称之为伪 M-N 对齐。如表 2 中所示。

-   90-

第十一届全国机器翻译研讨会(CWMT 2015)                                                                中国 · 合肥 2015.9.24-25

但在考虑对齐模式特征后,又可能会使 M-N 模式漏网,影响召回率和准确率等指标,因为只有 1-1 模式的概率比较高 ,其他模式都较低。另外,M-N 对齐句对中的一个句子可能由多个句子接合而成。多对多虽然从内容上讲没有错,但过长 的句子对于以后的词对齐、短语抽取乃至整个统计机器翻译系统的质量水平都是不利的。可见源头错误对整个系统的影响 之大。有鉴于此,我们提出了一个可以大大缩短汉语古现句子对齐中句子长度的方法,即不考虑句长和匹配模式特征,但 考虑句内的分段情况。该方法不仅可以避免出现上述 Liu 等(2012)提到的 1-1 变 2-2 问题、伪 M-N 问题以及 M-N 模式 漏网问题,而且对于真正的 M-N 对齐,也可以使对齐的句对中任一句子的长度不超过对齐前其语言的 M 或 N 个相关句子当

中最长句子的长度。如式(1)所示。

LA <= max(L1, …, LM,N)

(1)

其中,L 表示句长,A 表示对齐,M 和N 分别为每种语言的句子的数目,且 M 与 N 不同时为 1。Li 表示第 i 个句子 的长度。表 3 中显示了这种由多个句子接合成超长句子的真正 M-N 的情况。

我们的截断分段方法客观上也是可行的。英语等语言的句子结构灵活而复杂,比如从句,插入语、同位语、时间和地 点状态等。一般情况下,无法将句子真正断开。而汉语是顺序性的,没有那些复杂的结构。所以易于拆分开来。如表 9 中 所示。

3 模型

由于对数线性模型的广泛适用性,很多关于词或句子对齐等研究中都选用了此模型。该模型从Papineni(1997)提出 至今,已在诸多领域成功应用,比如Och 等(2002)用于统计机器翻译,Liu 等(2005)用于词对齐,以及 Liu 等 (2012)用于句子对齐等。其特点是在特征数较多时可以随意融入特征,所有特征均被视为函数。该模型如式(2)所示:

(2)

由于句长特征对汉语古现对齐的不适用性以及防止 m-n(m 和 n 分别为每种语言的句子的数目,且 m 与 n 不同时为 1)模式漏网,所以只考虑共现汉字特征和共现汉字间的互信息特征。这样就不应用此模型。我们采用基于句内层次分段的 模型,首先一个句子可以分为若干个可独立成句的子句,表示如下:

1.

一对一的情况:

S = C

(3)

2.

一对多(1-n)的情况:

,其中 Si = C

(4)

3.

多对一(m-1)的情况:

,其中 Si = C

(5)

4.

多对多的情况:

S = C1+ … +C(NoP - 1)

(6)

其中,S 表示句子,C 表示子句,g 表示古汉语句,x 表示现代汉语,NoP 表示原始对齐的句对中源语言和目标语言 句子内句号的总和。

- 91 -

第十一届全国机器翻译研讨会(CWMT 2015)                                                                中国 · 合肥 2015.9.24-25

对于 C:在多对多情况下,一般表示根据两种语言的句子中依次出现的句号进行相应拆分后得到的子句;在多对一或 一对多的情况下,一般表示长句对应相对语言的短句进行拆分后得到的子句以及相对语言的短句;在一对一的情况下,C = S。

实际上,无论是一对一、一对多、多对一,还是多对多模式的原始对齐,也无论是源语言还是目标语言,用我们的方

法最终得到的子句数均为 NoP - 1。

子句又可以再细分为分段 (Segment),表示如下:

C = Seg1 +Seg2 + … + Segk                                                                        (7)

Seg 表示句内或子句内的分段,即用逗号或分号分隔开的成分。那么有:

d(Cg  , Cx) = H(Cg, Cx) + I(h1, h2, … , hk)

= H(Segg1  + Segg2  + … + Seggm,Segx1  + Segx2  + … + Segxn)+ I(h1, h2, … , hk)       (8)

其中,H 是共现汉字信息,I 是汉字之间的互信息。

4 方法和实验

我们的方法不考虑句长特征和匹配模式特征,但考虑句内分段情况。虽然汉语古现句子的字数比极不稳定,但古现句 内分段数之比是相当稳定的,变化很小。这样,我们就可以利用这一特点来实现古现句子的对齐。

4.1 共现汉字特征优化

对于共现汉字,有时由于共现的字无法满足需要,使得对齐效果不好。考虑到这一点,我们通过统计方法找出古汉语 中的一些重要的字,并考察其在现代汉语中的译法而制作了一个简明字典,以增加共现汉字的个数。如图 1 和图 2 所示:

图1  古汉语中关键字词的选取

图2  简明词典

这个词典与普通词典的不同之处在于,只包含为数不多的一些关键的字,如图2 中所示。这样,对处理速度影响不 大。虽然该简明字典中的条目有限,但其贡献较大,因为都是最常见的一些字且在现代文中的表达发生了较大变化。对于古汉语句子中没有匹配上的字,到简明辞典里查一下,然后用辞典里的字或二字词再重新匹配。调整后古汉语句子中的一 个字可能变为两个字,此时如果这两个字与现代汉语中的两个字匹配上,也算古汉语句中一个字匹配上,即算一个共现汉

- 92 -

第十一届全国机器翻译研讨会(CWMT 2015)                                                                中国 · 合肥 2015.9.24-25

字,不影响互信息的计算。

4.2 互信息特征优化

对于互信息特征,由于古汉语与现代汉语之间的差异,使得古汉语中本来相邻的两个字在现代汉语中分开了。为了解 决这一问题,提出了以下三种解决方案。

4.2.1 可去掉的字 在现代汉语中,像“了”、“的”这样的字没有实际意义,可以去掉而不会影响语义。同样,量词也可以去掉。所以

在匹配时忽略“了”、“的”以及量词,以便更多地利用互信息。如表 4 中的斜体字,去掉之后互信息就会得到更加充分 的利用。

4.2.2 单双字词问题

古汉语一般是单字词,而现代汉语则一般为双字词。根据这一特点,在匹配时可以将现代汉语以两个字为一个单元进 行匹配,如果现代汉语两字单元中的任何一个字匹配上某一古汉语字,则认为该古汉语字与现代汉语两字单元匹配。可以 称之为“字-单元匹配法”。例如,表 5 第一行古汉语句子中的“怨”与现代汉语中的二字单元“怨恨”匹配;第二行古 汉语句子中的“草”、“木”、“ 沙”和“石”分别与现代汉语句子中的二字单元匹配。这样就达到了充分利用互信息的 目的。

4.2.3 排列组合问题

通过上述两种方法,显然可以更充分地利用互信息。但是,有时古现汉语句子中词或词组的顺序是不同的(如表6 中 的“县五十二”对应的“五十二个县”),或者由于增译而将原本相邻的词或词组分隔开(如表 6 中的“三百石十一人” 对应的“三百石的官员十一人”)。此时,可以考虑用组合而非排列方法来充分利用互信息特征,但组合的范围应在一个 分段内。例如,表 6 中,分段“破军七”在与分段“打垮过七支敌军”进行匹配时,搜索范围不能超越后者。在分段“打 垮过七支敌军”中对“军”进行搜索时发现匹配项;在对“七”进行搜索时又在其中发现匹配项。那么就可以认为在现代 汉语句子分段“打垮过七支敌军”中,“军”与“七”是顺序相邻的。同理,在现代汉语句子分段“二千石以下到三百石的官员十一人”中,认为“三百石”与“十一人”是相邻的,可以连接成一个字符串。这样,就可以充分利用互信息特 征。

根据我们对《山海经》、《孙子兵法》和《诗经》等 5 篇语料标注的 Bead 模式信息,统计出了关于 Bead 的数据, 如表 7 中所示:

Bead 类型(m-n)

数量

Pr (%)

总计

0-1,1-0

14

3.3254157

1--1

325

77.19715

1-2,2-1

75

17.814727

421

1-3,3-1

2

0.4750594

1-4,4-1

1

0.2375297

2--2

4

0.9501188

表7  Bead 类型及分布

从中,可以看出一对多或多对一的情况是比较普遍的,而多对多,只发现了 2-2 的情况。但是,我们的算法对于一对 多、多对一以及多对多匹配模式,会全部考虑。这样,基本不会出现上文提到的 M-N 模式漏网的情况。

对于表3 中的第二行,进行句内分段匹配时,会出现误配的情况,如表8 所示。

表8  错配

这是因为“又东五百里曰浮玉之山”在译为现代汉语后被拆分成了两个段,即“再往东五百里”和“是座浮玉山”。“ 又东五百里曰浮玉之山”在与“再往东五百里,是座区吴山,山上没有花草树木,到处是沙子石头。”内的各个分段进行尾

- 93 -

第十一届全国机器翻译研讨会(CWMT 2015)                                                                中国 · 合肥 2015.9.24-25

段匹配时,其与“再往东五百里”的共现汉字个数要多于其与“是座浮玉山”的共现汉字个数。所以会认为“再往东五百里” 是“又东五百里曰浮玉之山”对应译文的尾段。

这里的尾段匹配法是指在匹配两个句子时,首先计算出各自的分段数,然后将分段数较少的句子的尾段与分段数较多 的句子中的各个分段依次进行比较,按共现汉字和互信息计算并记录比较的得分。最后,取分段数较多的句子中得分最高 的分段作为该语言的子句尾。

解决上述问题的方法其一是在进行句内分段匹配时,记录源语言中与目标语言分段匹配上的最后一个字的位置,然后 将其后面的字与目标语言中后边紧邻的一个分段进行匹配,如果其后面的字与目标语言相邻段的匹配率达到某一阈值,则 将目标语言的这个相邻分段与其前面的相关分段接合为一个分段并与源语言子句对齐。另一种方法是根据现代汉语句子长度一般不会小于古汉语句子长度这一特点,在匹配前,先检查现代汉语句子长度是否大于古汉语句子长度,如果不大于则 将现代汉语句子中相邻的两个相关段合并,然后再检查,依此类推。分段接合达到长度要求后再进行匹配。

表9  正确的配对

对于上文表 2 中的例子,表 9 中显示了用我们的方法对齐后的结果。对于句子拆分的情况,我们在表 9 中用分数的 形式表示,如1/2 表示拆分为 2 个句子,1/3 表示拆分为 3 个句子,等等。

对于 1 – M、M – 1 或 M – N 模式,用我们的方法得到的对齐结果中,无论是源语言还是目标语言,最大句子长度 等于对齐前其语言的 M 或 N 个相关句子当中最长句子的长度。这是做也是合理的,因为既然源或目标语言的句子的一部分 可以在目标或源语言中用一个完整的句子表示,那么这一部分就应该可以分离出来单独成句,而基本不会影响整体语义。

根据汉语有顺序性的特点,对于一对多或多对一的情形,一般是把逗号变为了句号,而不会把句子从没有标点符号的 地方截断,因而句内分段点不会改变。或者说古汉语的断句和现代汉语的翻译都有合理之处,在处理古现多对一的情况时 ,我们采用古汉语的断句,如表 11,而在处理古现一对多的情况时,我们采用现代汉语译文的断句如表 10 和表 12。

- 94 -

第十一届全国机器翻译研讨会(CWMT 2015)                                                                中国 · 合肥 2015.9.24-25

图3 是对齐结果示例。

图3  对齐结果片断

5 评测

句子对齐的质量评测由式(4)-(6)算得:

(9) (10) (11)

其中,GB 是人工标注的 Bead 集,PB 是我们的算法产生的 Bead 集。表13 是评测的结果。

Precision

94.1%

Recall

93.8%

F1-measure

93.9%

表 13

评测结果

6 总结

本文提出的新特征句内分段对汉语古现对齐的效果是显著的。大大缩短了句对中句子的长度。为汉语古现机器翻译的后续的各项工作打下了其实的基础。不过本文的分析方法还不够全面,将来的工作是通过引入更多的特征来提高句子对齐 质量,使句子对齐更上一层楼,且不留死角。

- 95 -

第十一届全国机器翻译研讨会(CWMT 2015)                                                                中国 · 合肥 2015.9.24-25

参考文献

1.   Brown, P., Della Pietra, V., Della Pietra, S., andMercer, R. The mathematics of statistical Machine Translation: Parameterestimation[J]. Computational Linguistics 19, 2, 1993: pp.263-311.

2.   Brown, Peter F., Jennifer C. Lai, and Robert L. Mercer.Aligning sentences in parallel corpora[C]. In Proceedings of the 29th AnnualMeeting of the Association for Computational Linguistics. Berkeley, California,USA: Association for Computational Linguistics, 1991: pp.169- 176.

3.   William A. Gale and Kenneth W. Church. A Program for AligningSentences in Bilingual Corpora[C]. In Proc. of 29th Conf. of Assoc. for Comput.Linguistics. ACL-1991: pp.177-184.

4.   Stanley F. Chen. Aligning sentences in bilingual corporausing lexical information[C]. In Proceedings of the 31st Annual Meeting of theAssociation for Computational Linguistics. Columbus, Ohio, USA: Association forComputational Linguistics, 1993: pp.9-16,

5.   Peng Li and Maosong Sun. Fast-Champollion: A Fast andRobust Sentence Alignment Algorithm[C]. Coling 2010: Poster Volume. 2010: pp.710-718.

6.   Xiaojie Wang, Ren Fuji. Chinese-Japanese ClauseAlignment[C]. Computational Linguistics and Intelligent Text Processing 6thInternational Conference. 2005: pp.400-412.

7.   Ying Liu, Nan Wang. Sentence Alignment for Ancient-ModernChinese Parallel Corpus[C]. The 2012 International Conference on WebInformation Systems and Mining and the 2012 International Conference onArtificial Intelligence and Computational Intelligence. 2012: pp.408-415.

8.   Kishore A. Papineni, Salim Roukos, Todd Ward. Feature-basedlanguage understanding[C]. In Eu- ropean Conf. on Speech Communication andTechnology. Rhodes, Greece,1997: pp.1435-1438.

9.   Franz J. Och, Hermann Ney. Discriminative training andmaximum entropy models for statistical machine translation[C]. In Proceedingsof the 40th Annual Meeting of the Association for Computational Linguistics(ACL). Philadelphia, PA, 2002: pp.295-302.

10.   Yang Liu, Qun Liu. Log-linear Models for WordAlignment[C]. Proceedings of the 43rd Annual Meeting of the Association forComputational Linguistics. 2005: pp.459-466.

作者联系方式: 姓名:李文

地址:北京海淀区清华园一号文北楼 邮编:100084

电子邮箱:Levin2@126.com

- 96 -

机器翻译中的古汉语现代汉语句子对齐研究相关推荐

  1. 计算机应用研究英文翻译,英汉机器翻译中的长句切分处理问题研究

    摘要: 机器翻译一直是自然语言处理领域的重要研究方向之一.机器翻译诞生于大约半个世纪以前.虽然历经了半个多世纪的发展,但目前机器翻译的译文质量仍然不能令人满意,尤其是在长句的翻译上,由于句子长度过长, ...

  2. 参赛邀请 | 第二届古汉语自动分析国际评测EvaHan(古汉语机器翻译)开始报名...

    EvaHan2023 中国古代典籍是中国传统文化的重要组成部分,在古籍研究领域,古籍的翻译起着非常重要的作用.古汉语在语法.句法.词汇等方面与现代汉语有很大的差异,提高古汉语到现代汉语的机器翻译性能可 ...

  3. 计算机工程科学怎么翻译,汉英机器翻译中汉语篇章时间信息系统模型 - 计算机工程与科学.pdf...

    汉英机器翻译中汉语篇章时间信息系统模型 - 计算机工程与科学 维普资讯 CN43-1258/耵) 计算机工程与科学 2002年第 24卷第 4期 ISSN 1()07-13OX COMPUTER EN ...

  4. Transformer新型神经网络在机器翻译中的应用 | 公开课笔记

    嘉宾 | 于恒 来源 | AI科技大本营在线公开课 编辑 | Jane 于恒:直播间的朋友大家好!欢迎大家来到本次AI科技大本营公开课,我是本次讲师于恒. 在讲课开始之前先简短的做个自我介绍,我是博士 ...

  5. mixly编程怎样音乐_华人留学生开发首个古汉语编程语言,实现易经算命、圆周率计算,Github获赞14.7k...

    近日,世界上第一个古汉语编程语言在 Github 上横空出世,由该古汉语编程语言编写的程序现已达到了数十个,有圆周率计算方法,甚至有<易经>的算命算法. 截至目前,该项目在 Github ...

  6. bert-ancient-chinese——专注于古汉语智能处理的BERT预训练模型

    引言 当下人工智能和数字人文浪潮风靡全球,现代汉语自动分析已取得很大成果.而古代汉语的自动分析研究相对薄弱,难以满足国学.史学.文献学.汉语史的研究和国学.传统文化教育的实际需求.古汉语存在字词.词语 ...

  7. 1998ieee圆周率c语言,华人留学生开发首个古汉语编程语言,实现易经算命、圆周率计算,Github获赞14.7k...

    近日,世界上第一个古汉语编程语言在 Github 上横空出世,由该古汉语编程语言编写的程序现已达到了数十个,有圆周率计算方法,甚至有<易经>的算命算法. 截至目前,该项目在 Github ...

  8. Transformer 新型神经网络在机器翻译中的应用

    随着深度学习技术的发展,基于神经网络的机器翻译系统已成为业界的主流系统.本课程将详细讲解 Transformer 新型神经网络及其在机器翻译中的应用,并从工业实践和评测竞赛的角度更全面的展现其实用价值 ...

  9. Transformer新型神经网络在机器翻译中的应用 | 百万人学AI

    于恒:直播间的朋友大家好!欢迎大家来到本次AI科技大本营公开课,我是本次讲师于恒. 在讲课开始之前先简短的做个自我介绍,我是博士毕业于中国科学院计算技术研究所,方向是机器翻译的方向,目前在阿里巴巴翻译 ...

最新文章

  1. Flutter从0基础到App上线
  2. 在Lotus Domino中使用Java构建应用程序
  3. 百度“既盗版又盗链”,不但是音乐公司的害虫,也是音乐网站的害虫
  4. KVM中Virtio网络的演化之路
  5. android fps 垂直同步,浅谈Android流畅度
  6. android 带记忆功能的播放器源码,【全开源可二开】带后台管理面板的在线音乐播放器Android应用APP源码...
  7. 买了服务器之后如何操作系统,买了服务器之后如何操作系统
  8. 对安装好的hadoop集群做个测试
  9. Hadoop动态修改LogLevel
  10. HttpClient4.x之Post请求示例
  11. 转:windows 蓝屏代码 .
  12. WebStorm介绍
  13. python3 根据种子文件torrent获取磁力链接
  14. javascript/js替换内容
  15. Win10菜单栏卡顿无响应的解决方法
  16. 后盾网php多少钱_后盾网php视频教程:2020最热的8个后盾网免费php视频教程
  17. 笔记本计算机的清洁保养知识,笔记本电脑怎么维护 笔记本电脑维护保养技巧【详解】...
  18. 基于Stanford Parser 及OpenNLP Shallow Parser构建句子语法解析树
  19. java后台发送post请求 MultipartFile、json
  20. 【Android 10 源码】healthd 模块 BatteryService 初始化

热门文章

  1. 多元统计分析及R语言建模(第五版)部分课后习题代码演示
  2. 【全志A33】在Ubuntu下烧录程序
  3. windows ce linux,Win CE + Linux双系统 总结
  4. Linux下如何修改网卡IP、DNS、HOSTNAME
  5. web前端期末大作业 ~我的家乡-绿城之都html+css+javascript旅游网页设计实例
  6. 基于ISCSI共享存储的KVM高可用群集配置
  7. webinspect安全扫描
  8. 深度不学习——————softmax分类器
  9. 分页插件 ajax请求,jquery ajax分页插件的简单实现
  10. IEEE754数据格式介绍和解析方式(超权威)