Chapter 19. 机器翻译

1. 介绍
2. 谷歌翻译
3. OmegaT 用户和谷歌翻译
4. Belazar
5. Apertium
6. 机器翻译 - 故障排除

1. 介绍

与用户生成的翻译记忆(就像 OmegaT)相对的是机器翻译 (MT) 工具,它使用基于规则的语言学工具而不是翻译记忆来创建源片段的翻译。使用根据源和目标文本的统计学习技术来构建翻译模型。机器翻译服务已经在研究评估中达到了较好且稳定的结果改善。

要激活某种机器翻译服务,请前往选项>机器翻译……,然后激活需要的服务。需要注意的是它们都是基于网络:您必须在线才能使用它们。

2. 谷歌翻译

谷歌翻译是由谷歌提供的付费服务,可用于翻译句子,网站和日益增多的语言的竞争文本。在编写此文档时,其支持的语言超过50多种,从阿尔巴尼亚语到意第绪语,其中当然包括所有主要语言。该服务的当前版本根据使用付费的,在编写此文档时每百万字符 20 USD 的价格。

重要提示:在您使用谷歌翻译 API v2 的服务前需要所有客户的账单信息(请参阅价格和服务条款了解更多信息)。为了向谷歌服务表明您是合法用户,您需要使用在注册服务后谷歌发给您的唯一的私匙。请参阅安装和运行章节的运行命令参数部分,了解如何添加该密钥到 OmegaT 环境中的详细情况。

谷歌翻译的质量当然一方面取决于目标语言文本和双语版本的可用性,另一方面取决于所创建模型的质量。有一点可以肯定,在某些情况下,其质量肯定不够好,但它肯定会不断提高,而不是变差。

3. OmegaT 用户和谷歌翻译

OmegaT 并不强迫用户使用谷歌翻译。如果用了,既不表示用户要接受该译文,更不表示最终译文会提供给谷歌。下面的窗口展示了一个 a) 英文原文 b) 西班牙语 和 c) 斯洛文尼亚语 的谷歌翻译译文。

Figure 19.1. 谷歌翻译 - 示例

谷歌翻译 - 示例

西班牙语译文要好于斯洛文尼亚语的。注意西班牙语中的 interesar navegar 被正确地翻译成动词 "interest" 和 "sail"。在斯洛文尼亚语版本中,两个词都被译成了名词。很可能西班牙语的翻译至少部分基于实际的书籍译文。

当您激活了该服务后,每次打开新的源片段时,其对应的翻译建议将会出现在机器翻译窗格中。如果发现了可接受的建议,按下 Ctrl+M 可使用它替换已打开片段的目标部分。例如在上面的片段中,使用 Ctrl+M 将会用斯洛文尼亚语的建议版本覆盖西班牙语的版本。

如果不希望 OmegaT 把源片段发送至谷歌获取译文,请取消选项菜单中的谷歌翻译菜单项。

注意,除了源片段外不会将其他任何内容发送至机器翻译服务。谷歌翻译的在线版本允许用户纠正翻译建议和发送正确的片段。然而此功能在 OmegaT 中尚未实现。

4. Belazar

Belazar 是用于俄罗斯-白俄罗斯语言对的机器语言翻译工具。

5. Apertium

Apertium 是自由、开源的机器翻译平台,最初致力于相关的语言对,例如 CA、ES、GA、PT、OC 以及 FR,不过最近扩展为能够处理更多的其他语言对(例如英语-加泰罗尼亚语)。请参阅网站了解已实现语言对的最新列表。

该平台提供

  • 语言独立的机器翻译引擎

  • 用来管理语言学数据的工具,这些数据是构建指定语言对的机器翻译系统不能缺少的

  • 用于不断增长的语言对数目的语言学数据

Apertium 使用浅层传播机器翻译引擎(shallow-transfer machine translation engine )来处理输入的文本,就像汇编行:去除格式,形态分析,语音消歧,浅层结构传播,词汇传播,形态生成以及重新格式化。

使用 Apertium 为各种语言对构建机器翻译系统是可行的,在底端,Apertium 使用基于 XML 的简单标准格式对需要的语言学数据(通过手工或转换现有数据)进行编码,并使用提供的工具被编译为引擎可用的高级格式。

6. 机器翻译 - 故障排除

如果在机器翻译窗格中没有出现任何东西,检查下列内容:

  • 是否在线?必须处于在线状态才能使用机器翻译。

  • 进行翻译的语言对是什么?检查选择的服务是否支持。

  • 谷歌翻译无法工作:您申请了Translate API service吗?注意谷歌翻译服务需要付费,请参阅安装和运行章节(运行时参数)了解更多相关信息。

  • "Google Translate returned HTTP response code: 403 ...":请检查 38 个字符的密钥,输入到 pinfo.list 文件时是否正确。请检查是否激活翻译 API 服务

  • 谷歌翻译无法工作:请在请求时输入谷歌API密钥。检查选项>机器翻译中的谷歌翻译V2是否选中。

  • Google Translate V2报告“Bad request”——请检查项目的源和目标语言。包含未定义的语言会引起此类响应。