开源机器翻译引擎?

Sam*_*Sam 13 localization machine-translation

我们正在寻找可以融入我们的本地化工作流程的开源机器翻译引擎.我们正在查看以下选项:

  1. 摩西(C++)
  2. 约书亚(爪哇)
  3. Phrasal(Java)

其中,摩西拥有最广泛的社区支持,并已被许多本地化公司和研究人员试用过.我们实际上倾向于使用基于Java的引擎,因为我们的应用程序都是Java.有没有人使用Joshua或Phrasal作为您工作流程的一部分.你能和他们分享一下你的经历吗?或者,摩西在提供的功能和易于集成方面远远超过这些.

并且,我们要求引擎支持:

  1. 特定于域的培训(即,它应为输入数据所属的每个域维护单独的短语表).
  2. 增量训练(即每次我们希望使用一些新的训练数据时,避免从头开始重新训练模型).
  3. 并行化翻译过程.

jvd*_*gae 5

我认为,在摩西邮件列表(moses-support@mit.edu)上可以更好地询问这个问题.那里有很多人使用不同类型的系统,所以你会得到一个客观的答案.除此之外,这是我的意见:

  • 关于Java:MT系统编写的语言无关紧要.没有冒犯,但你可以放心地假设,即使代码是用你熟悉的语言编写的,如果没有更深入的MT知识,也很难理解.所以你要找的是接口.摩西的xml-rpc运行正常.
  • 关于MT系统:寻找最佳结果,忽略它所编写的编程语言.结果如下:matrix.statmt.org.使用您的MT系统的人对输出感兴趣而不是您的编码偏好.
  • 关于整个企业:一旦开始提供MT输出,请确保您能够快速适应它.MT正在迅速转向管道流程,其中MT系统是核心(而不是唯一)组件.所以注重可维护性.在理想情况下,您可以将任何MT系统连接到您的框架.

以下是您的功能请求的一些输入:

  • 特定领域培训:您不需要该功能.通过使用客户特定的数据培训,您可以获得最佳的MT结果.
  • 增量训练:参见基于流的统计机器翻译
  • 并行化翻译过程:您必须自己实现.请注意,大多数MT软件纯粹是学术性的,永远不会达到1.0里程碑.当然,如果有多线程服务器(Moses),它会有所帮助,但即使这样,您也需要大量的线束代码.

希望这可以帮助.如果您有任何疑问,请随时与我联系.


jvd*_*gae 5

很多事情都在向前发展,所以我想提供一个关于这个主题的更新,并在那里留下前面的答案来记录进展.

特定领域培训:如果您的数据来自各种来源,并且您需要针对子域进行优化,则域适应技术会非常有用.根据我们的经验,没有一种解决方案始终表现最佳,因此您需要尝试尽可能多的方法并比较结果.Moses邮件列表上有一封邮件列出了可能的方法:http://thread.gmane.org/gmane.comp.nlp.moses.user/9742/focus=9799various.以下页面还概述了当前的研究:http://www.statmt.org/survey/Topic/DomainAdaptation

增量培训:有关IWSLT 2013的有趣话题:http://www.iwslt2013.org/downloads/Assessing_Quick_Update_Methods_of_Statistical_Translation_Models.pdf 它表明当前的增量方法(1)使您的系统脱机,因此您没有真正的"实时更新" "你的模特(2)的表现优于完全重新训练.似乎问题还没有解决.

并行化翻译过程:moses服务器在moses-cmd二进制文件上落后.因此,如果您想使用最新功能,最好从moses-cmd开始.此外,社区还没有履行其永不发布1.0版本的承诺:-).事实上,你可以在这里找到最新版本(2.1):http://www.statmt.org/moses/?n = Moses.Releases