我正在开发一个需要能够翻译部分句子的应用程序。问题在于,如果我将这些部分发送到像Google翻译这样的翻译API,翻译通常在它们发生的上下文中没有意义。例如:
他离开建筑物
如果我将 leaves 翻译成任何目标语言,我可能会在树的#34;叶子的上下文中得到一个结果,这在示例中当然没有意义。因此,翻译需要考虑上下文。如果我将翻译句子扩展为他离开,我会得到他离开的正确翻译。但是,我失去了 leaves 的翻译,这就是我要找的词。
有没有人知道我该如何处理这个问题?请注意,Google Translate API是付费API,因此我希望尽量减少我从API请求的翻译量。
答案 0 :(得分:3)
你有理由指出,没有语境的翻译是没有希望的。
Google翻译API与Chrome集成一样,非常了解HTML标记(默认参数包括format=html
)。
所以一个好的选择是包装您对HTML标签感兴趣的单词或短语。
您可以在控制台中尝试:
应该很容易解析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)