Мне нужно перевести довольно большой набор записей с разных языков (язык заранее не известен) на английский. Набор составляет около 3 миллионов записей, и каждая запись является довольно коротким текстом. Это не сложные тексты, в основном просто описания предметов. Что-то вроде «Мобильного маршрутизатора 3G от Nokia Black», написанного на всех языках (хотя это не слишком экзотично, в основном это немецкий, французский, арабский, русский и т. Д.). Я также не знаю заранее, на каком языке написана каждая запись, поэтому мне нужно полагаться на автоматическое определение языка.
На данный момент я могу выполнить эту задачу с помощью Google Cloud API
Это довольно просто, я просто передаю одну запись за раз в API, не указывая исходный язык, и она может правильно переводить записи по мере необходимости.
Проблема здесь в том, что процесс мучительно медленный. Мы подбираем одну текстовую строку, подключаемся к API, пересылаем ее, получаем результат и сохраняем. Обработка каждой записи вносит значительные накладные расходы на связь с API, и когда вы выполняете перевод нескольких миллионов записей, это занимает очень много времени.
Мне было интересно, есть ли способ выполнить эту операцию навалом? Может быть, отправка большого количества строковых записей за один раз для перевода, чтобы минимизировать издержки при общении с Google API? Или, может быть, есть какой-то способ напрямую загрузить в Google файл со всеми записями, которые мне нужно перевести, и загрузить результат, когда он будет доступен?