根据语境翻译部分句子

时间:2016-12-15 17:15:34

标签: machine-translation

我正在开发一个需要能够翻译部分句子的应用程序。问题在于,如果我将这些部分发送到像Google翻译这样的翻译API,翻译通常在它们发生的上下文中没有意义。例如:

  

离开建筑物

如果我将 leaves 翻译成任何目标语言,我可能会在树的#34;叶子的上下文中得到一个结果,这在示例中当然没有意义。因此,翻译需要考虑上下文。如果我将翻译句子扩展为他离开,我会得到他离开的正确翻译。但是,我失去了 leaves 的翻译,这就是我要找的词。

有没有人知道我该如何处理这个问题?请注意,Google Translate API是付费API,因此我希望尽量减少我从API请求的翻译量。

3 个答案:

答案 0 :(得分:3)

你有理由指出,没有语境的翻译是没有希望的。

Google翻译API与Chrome集成一样,非常了解HTML标记(默认参数包括format=html)。

所以一个好的选择是包装您对HTML标签感兴趣的单词或短语

您可以在控制台中尝试:

enter image description here

应该很容易解析HTML标记的内容,然后你就可以进行lemmatise。

注1
面向消费者的独立Google翻译用户界面不公开此选项,尝试使用API​​控制台或以编程方式进行翻译,或使用Chrome翻译网页。

注2
有一些细微差别,因为翻译中的单词本身不是1:1。有时这个词会变成两个单词,偶尔这个单词在目标语言中会有一个空表示。

1:2例子:
EN:He <span>left</span> the building.
它:Ha <span>lasciato</span> l'edificio.
[可以说也应该包括 ha 。]

1:0示例:
EN:How <span>are</span> you?
茹:Как вы?
[ 通常以俄语删除。]
EN:How are <span>you</span>?
它:Come stai?
[代词通常用意大利语删掉。]

2:1例子:
EN:He is always <span>screwing</span> things up.
它:Sempre <span>spiegazza</span> le cose.
[英语和其他语言有separable verbs。这里的实际输入是搞砸,而不是搞砸。]

对于你来说这是一些工作,但它实际上也是非常有用的信息,无论如何,你更容易处理 lasciato 以获得正确的引理 lasciare

有关更多参数文档,请参阅cloud.google.com/translate/docs/reference/rest

答案 1 :(得分:1)

我的想法:

发送&#34;他离开&#34;,并了解哪个部分是&#34;他&#34;哪个部分是&#34;离开&#34;,与'#34; leaves&#34;的所有可能的翻译相交。 (在本地保留所有形式的所有单词的所有可能翻译的双语词典)

答案 2 :(得分:0)

我已经应用了我在上面找到的建议,但在我的情况下我仍然遇到了一些麻烦。我正在将药物活性成分从意大利语翻译成英语。关键是

  • 谷歌搜索页面翻译器正确翻译
  • API 不是

要翻译的活性成分是“睾酮Enantato”,我用“Il principio attivo della medicina è Testosterone Enantato”来丰富这句话。这是我得到的

  1. 谷歌研究网页:“药物的活性成分是庚酸睾酮”-->“庚酸睾酮”是正确的。
  2. google Translate API:“Testosterone Enantato”,将其保留为意大利语

有什么想法吗?

这里是带有正确翻译的谷歌网页截图

enter image description here