离线语言翻译API

24
请注意,我知道这个问题在多个地方出现过,包括stackoverflow,但我还没有看到令人满意的答案。
有几个相当不错的语言翻译API(例如MicrosoftGoogle)。它们是HTTP RESTful API,在网络或移动应用程序中运行良好,适用于在线模式的应用程序。
然而,我正在寻找一种能够在离线模式下翻译短句(或长句)的语言翻译API,在没有网络连接的情况下也能工作。
我的另一个问题版本: Google Translate应用程序带有下载某些语言模型的选项,允许其在离线模式下运行。是否有一种Android Java库(官方或非官方;免费或付费),可以利用Google Translate的可下载模型进行离线翻译?

你找到了关于Android Java离线翻译库的问题的解决方案了吗? - yozhik
1
@yozhik 没有,我还没有找到解决方案。我目前正在探索使用Tensorflow构建自定义机器翻译解决方案。虽然困难但并非不可能。https://www.tensorflow.org/versions/r0.10/tutorials/seq2seq/ - Anurag Bhandari
你有找到任何解决方案吗?如果有,请分享一下。谢谢... - Nikhil Nyayadhish
@AnuragBhandari 几年后,我想知道你是如何管理它的,有没有开源分享? - Marco Medrano
自从我第一次发布以来已经有一段时间了。我们没有找到可靠的解决方案,最终采用了基于云的解决方案。由于数据隐私原因,最初我们需要一个离线模型。 - Anurag Bhandari
1
@AnuragBhandar 谢谢你的回答。我找到了这个,但它只适用于移动设备 https://developers.google.com/ml-kit/language/translation - Marco Medrano
1个回答

28

没有能够独立离线运行的Web API,除非有客户端库组件提供一些离线功能,因为Web API的本质是向外部主机发出请求。

这就留下了客户端库。Google Translate offlineMicrosoft Translator offline都存在,但它们被实现为应用程序,而不是作为开发人员可访问的客户端库。成熟的翻译库以Apache JoshuaStanford Phrasal的形式存在,但这些库基于统计模型而不是神经模型。

如果你正在寻找一款完美的Java库,用于离线神经机器翻译,并且已经开发并准备好使用,那么你就会感到很无奈。目前你需要自己开发,例如使用TensorFlow和示例模型,正如你提到的那样。翻译服务提供商使用的训练模型有点像“秘方”,因此这些模型不太可能被免费提供给开发人员用于离线翻译,但完全有可能由机器学习社区或第三方开发出高质量的开源或其他免费翻译模型并发布。


我同意,Adam。我自己也得出了相同的结论。但是感谢你将其表述为答案。还有感谢你提到Joshua。我知道统计模型不如神经网络准确,但在深入研究TensorFlow之前尝试一下Joshua可能值得一试。 - Anurag Bhandari
哇,这就是我为什么喜欢 Stack Overflow 的原因!我刚有一个任务要完成,很快就找到了这个答案..谢谢! - ERJAN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接