Python谷歌翻译API错误:如何翻译大量的数据[英] Python Google Translate API error : How to translate a large amount of data

本文是小编为大家收集整理的关于Python谷歌翻译API错误:如何翻译大量的数据的处理方法,想解了Python谷歌翻译API错误:如何翻译大量的数据的问题怎么解决?Python谷歌翻译API错误:如何翻译大量的数据问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我的问题

我想使用一种由反向翻译数据集组成的 NLP 数据增强方法.

基本上,我有一个大型数据集(SNLI),包含 1 100 000 个英语句子.我需要做的是:将这些句子翻译成一种语言,然后再翻译回英文.

我可能需要针对多种语言执行此操作.所以我有很多翻译要做.

我需要一个免费的解决方案.

<小时>

到目前为止我做了什么

我尝试了几个 python 模块进行翻译,但由于最近谷歌翻译 API 的变化,大多数都不起作用.googletrans 如果我们应用这个 解决方案.

但是,它不适用于大数据集.谷歌限制了 15K 个字符(正如 这个这个这个).第一个链接显示了一个假定的解决方法.

<小时>

我被封锁的地方

即使我应用 work-around(每次迭代都初始化翻译器),它也不起作用,我得到以下错误:

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

我尝试使用代理和其他 Google 翻译网址:

URLS = ['translate.google.com', 'translate.google.co.kr', 'translate.google.ac', 'translate.google.ad', 'translate.google.ae', ...]

proxies = {    'http': '1.243.64.63:48730',   'https': '59.11.98.253:42645', }

t = Translator(service_urls=URLS, proxies=proxies)

但这并没有改变任何东西.

<小时>

注意

我的问题可能来自我使用多线程的事实:100 个工作人员来翻译整个数据集.如果它们并行工作,可能它们一起使用超过 15k 个字符.

但我应该使用多线程.如果我不这样做,翻译整个数据集需要几周时间...

<小时>

我的问题

如何解决此错误以便翻译所有句子?

如果不可能,对于这么大的数据集,是否有任何免费的替代方法可以在 Python 中获得机器翻译(不是必须使用谷歌翻译)?

推荐答案

一百万个字符几乎是需要翻译的文本.

目前,Google Cloud Translation V3 提供免费套餐配额,您可以想使用(每月免费 1-500,000 个字符).由于这似乎不足以满足您的用例,您可能需要创建多个结算帐户或等待一个月才能翻译更多文本.

查看此链接了解您的情况可以用python进行文本翻译.

本文地址:https://www.itbaoku.cn/post/1793956.html