3

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

离开大楼

如果我将叶子翻译成任何目标语言,我可能会在“树的叶子”的上下文中得到结果,这在示例中当然没有意义。因此,翻译需要考虑上下文。如果我将翻译句子扩展为He Leaves ,我会得到He Leaves的正确翻译。但是,我丢失了叶子的翻译,这是我正在寻找的词。

有谁知道我应该如何处理这个问题?请记住,Google Translate API 是一个付费 API,所以我想尽量减少我从 API 请求的翻译量。

4

3 回答 3

7

你说得对,没有上下文的翻译是没有希望的。

与 Chrome 集成一样,Google Translate API 对 HTML 标记(默认参数包括format=html)很智能。

因此,一个不错的选择是将您感兴趣的单词或短语包装在 HTML 标记中

您可以在控制台中尝试:

在此处输入图像描述

将 HTML 标记的内容解析出来应该很容易,然后您就可以进行词形还原。

注意 1
面向消费者的独立 Google 翻译 UI 没有公开此选项,要尝试它,您必须通过 API 控制台或以编程方式进行翻译,或者使用 Chrome 翻译页面。

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

1:2 示例:
en: He <span>left</span> the building.
it: Ha <span>lasciato</span> l'edificio.
[可以说ha也应该包括在内。]

1:0 示例:
en: How <span>are</span> you?
ru: Как вы?
[ to be通常在俄语中被丢弃。]
en: How are <span>you</span>?
it: Come stai?
[代词通常在意大利语中被丢弃。]

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

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

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

于 2016-12-16T06:55:58.930 回答
1

我的想法:

发送“他离开”,并了解哪个部分是“他”,哪个部分是“叶子”,与“叶子”的所有可能翻译相交(在本地保留所有形式的所有单词的所有可能翻译的双语词典)

于 2016-12-15T17:29:14.407 回答
0

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

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

要翻译的活性成分是“Testosterone Enantato”,我已经用“Il principio attivo della medicinaèTestosterone Enantato”来充实这句话。这是我得到的

  1. 谷歌研究网页:“药物的活性成分是庚酸睾酮”-->“庚酸睾酮”是正确的。
  2. 谷歌翻译 API:“Testosterone Enantato”,它是意大利语

任何想法?

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

在此处输入图像描述

于 2021-04-16T10:03:48.670 回答