机器翻译之句子对齐

1.EBMT方法

1.1 传统的EBMT方法有五个步骤

1、先将英文源篇章 分解 为 若干短句。然后再分为若干短语片段(分句)

2、将短语片段在一个英文实例库上进行匹配,得到包含该短语 且 语义最接近(需要语义词典) 的英文实例

3、确定该英文实例对应的中文翻译

4、将英文短语与翻译进行对齐(确定该短语的中文翻译)

5、将中文翻译重组为一个完整的句子(得到翻译结果)

2.句子提取

2.1 目的及意义

从EBMT方法中可以看到,EBMT的翻译的前提是双语语料库的建立。即如何建立一个包含大量汉英句对的大型语料库,是构建我们翻译系统的基础。 以往构建双语库的方式是:从互联网上摘取一篇包含中英文互译的资料,然后通过人工的方式进行分句,并入库。这样的方法往往存在效率低下的问题,不适合构建大型的平行库。 因此我们考虑设计若干算法,利用机器来解决这个问题。在我们的系统中,句子对齐的模块就是要做到从一篇包含中英文译文的篇章中,提取对应中英文句子的功能,用于快速搭建起我们自己的语料库。 由于在双语语料中,翻译人员并不是总是一句一句的翻译过来,因此可能存在一对多,多对一的情况,甚至是多对多的情况。因此,句子的自动对齐是构建双语语料库的关键环节,是利用双语句对进行知识获取的基础。

2.2 句子提取的常用算法

2.2.1 基于长度的汉英句子对齐[1]

基于长度的汉英句子对齐是目前最常用的的句子对齐算法。作为一个基于统计的学习算法,它需要一个已经构建好的汉英句对库作为学习的支撑,                            因此从如何选取这个公共的平行库就显得十分的重要。

目前找到的平行库有

1)北京大学 计算语言学研究所 统计的704句对的资源(可用),形式为xml。http://icl.pku.edu.cn/icl_groups/parallel/download.htm

2)LDC(包含大量语料库)不过要付费 https://catalog.ldc.upenn.edu/byyear

3)哈工大语言技术平台相关资源 http://ir.hit.edu.cn/demo/ltp/Sharing_Plan.htm

4)北京外国语大学的平行库 提供检索功能 没有提供原库 http://124.193.83.252/cqp/(但是够用)

算法流程:

a、根据训练库,统计不同模式句对出现的概率(1:0 0:1 1:1 2:1 1:2 0:2 2:0)

b、根据贝叶斯公式求出某个评价函数下出现某个模式的概率

c、根据极大似然性,利用动态规划搜索所有可能的解,满足概率最大的句对序列就是最后的对齐序列(搜索采用动态规划)、

由于亚欧语系在句子长度上的关系并没有得到理论上的验证,因此此方面的研究很少进展下去。同时,由于单纯基于长度的汉英句子对齐对于部分译文缺失的情况容易造成错误蔓延,鲁棒性不强,对需要对齐的语料库要求很高。

2.2.2 基于词典的汉英句子对齐[2]

基于词典的汉英句子对齐需要一个大规模的汉英词典,通过查找对应译文在目标片段中出现的情况,统计出现的互译的相关度。利用相关度作为评价函数。由于对齐的方法利用到了词汇的信息,因此更加具有科学性。然而由于词汇的译文往往比较多变,并且对库的依赖十分明显,因此相比于基于长度的方法稳定性不好,有时候甚至差于基于长度的方法。并且在匹配的过程中需要检索字典,效率往往也十分低下。

2.2.3 基于锚点的分段对齐算法[2]

通过设置锚点的方法,将全文分成若干子段,然后在利用上述的一种或者两种方法进行对齐。这样的分段思想解决了传统对齐的几个问题:

1. 防止错误的蔓延。上文提到了传统的对齐方式可能会造成错误的蔓延,一句话对错可能会影响到后面所有的句子对齐。因此通过分段的方式可以将错误控制在段内,不影响后面的对齐结果。

2. 减少搜索解的深度。若直接对全文进行对齐需要的内存开销非常大,若采取分段的方法,可以有效减少解的规模,并且利于并行计算。从而 提高算的速度。

参考文献

[1] Gale W A, Church K W. A program for aligning sentences in bilingual corpora[J]. Computational Linguistics, 1993:177–184.

[2]王飞. 多语种双语对齐平台的设计与实现[D]. 南京理工大学, 2004. DOI:10.7666/d.y624300.

时间: 2024-10-19 09:27:52

机器翻译之句子对齐的相关文章

机器翻译评测--BLEU与Perplexity详解

前言 近年来,在自然语言研究领域中,评测问题越来越受到广泛的重视,可以说,评测是整个自然语言领域最核心和关键的部分.而机器翻译评价对于机器翻译的研究和发展具有重要意义:机器翻译系统的开发者可以通过评测得知系统存在的问题而不断改进,用户也可以根据评测报告选择满足自己需求的产品,而对于机器翻译的研究人员来说,评测能够给他们的技术发展方向提供最可靠的依据. --摘自北京邮电大学信息工程系张剑博士在微软亚洲研究院访问期间完成的一篇论文中的一段话. 早在90年代初,美国国家自然基金委员会和欧盟就资助的国际

Moses创建一个翻译系统的基本过程记录,以后会按照每个过程详细说明,并给出每个步骤的参数说明

软件需求: 首先你必须要有Moses(废话哈哈).然后要有GIZA++用作词对齐(traning-model.perl的时候会用到).IRSTLM产生语言模型 大致步骤: 大体的步骤如下: 准备Parallerl data(需要句子对齐):对语料进行tokenisation.truecasing和cleaning步骤之后才能使用于我们的机器翻译系统(哈哈,都快忍不住直接写详细步骤了) 训练你的语言模型(使用IRSTLM):当然也有几步,详细叙述再说 然后就是训练你的翻译系统啦(可能要花一两个小时

关于爬虫能做的事情,源自知乎刘飞,原嘟嘟美甲产品总监、原锤子科技产品经理

该轮到我祭出我当年研究生期间在实验室里参与或旁观的各种有用或者有趣的课题了: 1. 建立机器翻译的语料库.这是我研究生期间的核心课题,我先来介绍下背景. 大家其实都用过谷歌翻译.百度翻译,虽然确实槽点很多,但不妨碍机器翻译相较过去已经达到基本可用的程度了. 我大概说下机器翻译的原理. 在几十年前,计算机学家们的思路是,既然是人工智能的范畴,就让计算机懂得语法规则.知道词语含义,跟小孩子上学时学习的语言课程一样去做训练,就应该可以了. 但结果是,基于语义和语法规则的机器翻译效果糟糕得一塌糊涂. 究

统计翻译系统中的开源工具们

(根据 计算机世界/2007年/10月/22日/第B15版 文章改编) 开源工具对统计翻译带来的意义不必多说,想必也都能体会出来.Brown等提出IBM模型是在20世纪90年代初,而IBM模型广泛使用和研究的年份竟然是1999年以后!促成这种想象的原因竟是开源工具包的出现!开源工具的出现,降低了研究的准入门槛,使得我们可以正真意义上的站在巨人的肩膀上,来做进一步的探索!感谢那些开源工具们,记住他们,利用他们,让我们的研究更上一层楼! 一.开源工具 1. 首个开源统计机器翻译工具包Egypt (包

斯坦福大学自然语言处理第一课——引言(Introduction)

一.课程介绍 斯坦福大学于2012年3月在Coursera启动了在线自然语言处理课程,由NLP领域大牛Dan Jurafsky 和 Chirs Manning教授授课:https://class.coursera.org/nlp/ 以下是本课程的学习笔记,以课程PPT/PDF为主,其他参考资料为辅,融入个人拓展.注解,抛砖引玉,欢迎大家在“我爱公开课”上一起探讨学习. 课件汇总下载地址:斯坦福大学自然语言处理公开课课件汇总 二.自然语言处理概览——什么是自然语言处理(NLP) 1)相关技术与应用

【Machine Translation】无监督神经机器翻译论述

Unsupervised NMT 概述 神经机器翻译系统取得了很好的翻译水平,但非常依赖于平行语料.目前已经有利用大量单语数据训练模型的研究,这其中包括: 仅仅由两份单语语料(不平行)训练出双语词典.这个的核心是学习一个旋转矩阵W,使得两份语料的词向量空间对齐,再进行一些调整更好的对齐两词向量空间,最后进行单词到单词的翻译,即生成了双语词典. 对偶学习的思想.有些研究里也提出迭代后向翻译,但思想是类似的,即通过翻译模型生成假的平行语料,再利用该平行语料训练模型,迭代此过程. 利用第三种语言.翻译

神经机器翻译 - NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE

论文:NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE 综述 固定长度向量是编码器 - 解码器架构性能提升的瓶颈 --->   本文提出:允许模型自动(软)搜索 --- 与预测目标单词相关的源句( x 硬分段 ) 摘要 神经机器翻译是最近提出的机器翻译方法.与传统的统计机器翻译不同,神经机器翻译的目标是建立一个单一的神经网络,可以共同调整以最大化翻译性能.最近提出的用于神经机器翻译的模型一般是编码器 - 译

机器翻译注意力机制及其PyTorch实现

前面阐述注意力理论知识,后面简单描述PyTorch利用注意力实现机器翻译 Effective Approaches to Attention-based Neural Machine Translation 简介 Attention介绍 在翻译的时候,选择性的选择一些重要信息.详情看这篇文章 . 本着简单和有效的原则,本论文提出了两种注意力机制. Global 每次翻译时,都选择关注所有的单词.和Bahdanau的方式 有点相似,但是更简单些.简单原理介绍. Local 每次翻译时,只选择关注一

Python的print输出中文对齐问题

问题描述: 在使用Python的内建函数print作英文输出时,应用格式化输出可以对齐得很好: s1 = 'I am a long sentence.' s2 = 'I\'m short.' print '%-30s%-20s' %(s1,s2) #'%-30s' 含义是 左对齐,且占用30个字符位 print '%-30s%-20s' %(s2,s1) 输出: 注: 这里应用了最原始的cmd控制台,一些IDE自带的控制台(如Sublime text)可能会有不同的输出效果. 但当字符串包含中文