Google 翻译 v3 API 中的词汇表
Glossaries in Google Translate v3 API
通过 Google translate_v3beta1 API 对词汇表的支持到底应该如何工作?我一直在寻找这些信息,但没有找到。词汇表中的术语应该简单地覆盖所有其他可能的翻译,还是它们只是为词汇表中的翻译添加优先级,但引擎仍然可以使用其他翻译,如果它们 "fit better" 根据训练数据?
我已经使用 Python 库创建了一个词汇表(我尝试了两种不同的方法 - 从 tsv 使用 "language_pair" 属性 以及从 csv 使用 "language_codes_set" 属性)。然后我尝试使用词汇表覆盖自定义 MT 模型生成的文本字符串中一个术语的翻译(即,不使用词汇表,引擎以一种方式翻译术语,我尝试使用词汇表强制它对该术语使用其他翻译),但没有成功。
现在我不确定,如果我在创建或使用词汇表时犯了一些错误(目前我不知道我的代码中有任何问题),或者我这边没有错误,但基于在训练数据上,引擎简单地使用了另一种翻译。根据其他自定义机器翻译平台的经验,我知道,其中一些平台使用词汇表来覆盖翻译,而另一些平台仅使用它们来确定词汇表术语的优先级,但不会完全覆盖所有其他可能的翻译。因此我想先澄清这个简单的问题,然后再开始寻找其他可能的原因,为什么我的代码没有按预期工作。
提前谢谢你。
好的,所以我在别处得到了答案。来自词汇表的翻译应该覆盖模型使用的术语。它对我不起作用还有另一个原因(我使用了不正确的响应字段 - “translation”而不是“glossaryTranslation”)。
根据 Suresh 在评论中的要求进行编辑:
有关上述问题的 Google API 响应的详细信息是 here, when using the Python client library see this。
的代码示例片段
response = client.translate_text(
contents = [source_text],
parent = parent,
mime_type = 'text/html',
source_language_code = source_language,
target_language_code = target_language,
model = model_id,
glossary_config = glossary_config,
timeout = 90
)
google_translation = response.glossary_translations[0].translated_text # Here "glossary_translations" must be used instead of "translations", if you use glossary.
通过 Google translate_v3beta1 API 对词汇表的支持到底应该如何工作?我一直在寻找这些信息,但没有找到。词汇表中的术语应该简单地覆盖所有其他可能的翻译,还是它们只是为词汇表中的翻译添加优先级,但引擎仍然可以使用其他翻译,如果它们 "fit better" 根据训练数据?
我已经使用 Python 库创建了一个词汇表(我尝试了两种不同的方法 - 从 tsv 使用 "language_pair" 属性 以及从 csv 使用 "language_codes_set" 属性)。然后我尝试使用词汇表覆盖自定义 MT 模型生成的文本字符串中一个术语的翻译(即,不使用词汇表,引擎以一种方式翻译术语,我尝试使用词汇表强制它对该术语使用其他翻译),但没有成功。
现在我不确定,如果我在创建或使用词汇表时犯了一些错误(目前我不知道我的代码中有任何问题),或者我这边没有错误,但基于在训练数据上,引擎简单地使用了另一种翻译。根据其他自定义机器翻译平台的经验,我知道,其中一些平台使用词汇表来覆盖翻译,而另一些平台仅使用它们来确定词汇表术语的优先级,但不会完全覆盖所有其他可能的翻译。因此我想先澄清这个简单的问题,然后再开始寻找其他可能的原因,为什么我的代码没有按预期工作。
提前谢谢你。
好的,所以我在别处得到了答案。来自词汇表的翻译应该覆盖模型使用的术语。它对我不起作用还有另一个原因(我使用了不正确的响应字段 - “translation”而不是“glossaryTranslation”)。
根据 Suresh 在评论中的要求进行编辑:
有关上述问题的 Google API 响应的详细信息是 here, when using the Python client library see this。
的代码示例片段response = client.translate_text(
contents = [source_text],
parent = parent,
mime_type = 'text/html',
source_language_code = source_language,
target_language_code = target_language,
model = model_id,
glossary_config = glossary_config,
timeout = 90
)
google_translation = response.glossary_translations[0].translated_text # Here "glossary_translations" must be used instead of "translations", if you use glossary.