我的问题
我想为NLP使用一种数据增强方法,它由反翻译数据集组成。
基本上,我有一个大型数据集(SNLI),包含110万个英语句子。我需要做的是:用一种语言翻译这些句子,并把它翻译回英语。
为了几种语言,我可能不得不这样做。所以我有很多翻译要做的。
我需要一个免费的解决方案。
我至今所做的一切
我尝试了几个python模块进行翻译,但由于最近的变化,其中大多数都无法工作。如果我们应用这个谷歌-反式,解决方案似乎是有效的。
但是,它不适用于大型数据集。谷歌有一个15K字符的限制(正如这、这和这指出的那样)。第一个链接显示了一个假定的解决方案。
我被堵住了
即使我应用了周旋 (每次迭代初始化翻译器),它也不起作用,我得到了以下错误:
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)我尝试使用代理和其他谷歌翻译URL:
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个字符。
但我应该用多线程。如果我不这么做,需要几周的时间来翻译整个数据集.
我的问题
如何纠正这个错误,以便翻译所有的句子?
如果不可能的话,有什么免费的选择吗?对于这样一个大的数据集?,是否可以获得机器翻译(而不是强制使用Google翻译)?
https://stackoverflow.com/questions/53075240
复制相似问题