如何制作离线翻译器?

时间:2018-10-31 05:09:11

标签: neural-network translation translate apertium

**问题:**

  • 结果必须是有效的翻译器-脱机。
    我们需要类似于Google Translate的http API(自托管)。


我找到了一些选择:

  • 在Windows上安装Microsoft Translator,下载字典,并通过某种方式通过http传输请求在那里进行翻译
  • Apertium,此选项更接近现实,但尚不清楚如何设置所有内容...
  • Apache Joshua
  • Promt,非常完美,但价格昂贵
  • 在PC上安装Android,并且已经有了Google Translate,但是同样会出现发送http请求的问题

** Todo:**

  • 我们需要翻译整个句子,而不仅仅是单个单词。
  • 也许有某种命令行实用程序。
    或者也许有针对Linux的东西。


    上面的哪个选项更适合查找更多信息?

1 个答案:

答案 0 :(得分:3)

五分钟的解决方案是在Debian或Ubuntu上执行此操作:

sudo apt install apertium-apy      # http server for apertium
sudo apt install apertium-eng-spa  # install some language data
sudo systemctl enable apertium-apy # start http server on next boot
sudo systemctl start apertium-apy  # start http server right now too

您现在可以在英语和西班牙语之间进行翻译,以响应JSON中的http请求和答案:

curl 'http://localhost:2737/translate?langpair=spa|eng&q=Eres+la+leche' 

您可以看到所有易于安装的Apertium语言对

apt-cache search apertium |grep 'pair$'

如果您想在Apertium中使用更多对,可以尝试使用未发布的数据添加nightly apt回购(或考虑使用Contributing您自己的语言数据)。


但是,您为这个神经网络加了标签-如果您想要NN,或者比Apertium拥有更多的语言对,则可以使用OpenNMT和来自例如http://opus.nlpl.eu/,但这肯定会超过五分钟:-)