Ich habe eine Datenpipeline, in der ich einen gesamten Polars DataFrame vom Koreanischen ins Englische übersetzen muss. Derzeit habe ich einen funktionierenden, aber manuellen Prozess:
[*]DataFrame in xlsx schreiben
[*]Dokumente in Google Translate hochladen (übersetzen .google.com/docs)
[*]Laden Sie die übersetzte Datei herunter
[*]Lesen Sie die übersetzte Datei zurück in die Pipeline
< /ol>
Dieser manuelle Prozess ist sehr schnell und genau, erfordert jedoch menschliches Eingreifen. Ich habe versucht, es mit py-googletrans wie folgt zu automatisieren:
Code: Select all
async def translate_bulk():
async with Translator() as translator:
translations = await translator.translate(chunks, dest='ko')
for translation in translations:
print(translation.origin, ' -> ', translation.text)
asyncio.run(translate_bulk())
Wobei Chunks die Daten in kleinere Teile aufteilen, um Zeichenbeschränkungen zu vermeiden, aber immer noch nahe an der maximalen Zeichenbeschränkung von 15.000, um die Anzahl der Anfragen zu begrenzen. Allerdings ist dieser Ansatz deutlich langsamer als der manuelle Prozess von Google Translate Documents.
Gibt es eine
kostenlose Möglichkeit, programmgesteuert Übersetzungsgeschwindigkeiten zu erreichen, die denen von Google Translate Documents ähneln? Ich bin offen für die Verwendung verschiedener Bibliotheken oder APIs, solange diese kostenlos sind und Massenübersetzungen effizient durchführen können.
Was ich versucht habe:
< ul>
[*]py-googletrans mit Chunking (zu langsam)
[*]Manuelle Google Translate-Dokumente (schnell, aber nicht automatisiert)
Vorschläge für alternative Ansätze oder Optimierungen wären willkommen.
Ich habe eine Datenpipeline, in der ich einen gesamten Polars DataFrame vom Koreanischen ins Englische übersetzen muss. Derzeit habe ich einen funktionierenden, aber manuellen Prozess:
[*]DataFrame in xlsx schreiben
[*]Dokumente in Google Translate hochladen (übersetzen .google.com/docs)
[*]Laden Sie die übersetzte Datei herunter
[*]Lesen Sie die übersetzte Datei zurück in die Pipeline
< /ol>
Dieser manuelle Prozess ist sehr schnell und genau, erfordert jedoch menschliches Eingreifen. Ich habe versucht, es mit py-googletrans wie folgt zu automatisieren:
[code]async def translate_bulk():
async with Translator() as translator:
translations = await translator.translate(chunks, dest='ko')
for translation in translations:
print(translation.origin, ' -> ', translation.text)
asyncio.run(translate_bulk())
[/code]
Wobei Chunks die Daten in kleinere Teile aufteilen, um Zeichenbeschränkungen zu vermeiden, aber immer noch nahe an der maximalen Zeichenbeschränkung von 15.000, um die Anzahl der Anfragen zu begrenzen. Allerdings ist dieser Ansatz deutlich langsamer als der manuelle Prozess von Google Translate Documents.
Gibt es eine [b]kostenlose[/b] Möglichkeit, programmgesteuert Übersetzungsgeschwindigkeiten zu erreichen, die denen von Google Translate Documents ähneln? Ich bin offen für die Verwendung verschiedener Bibliotheken oder APIs, solange diese kostenlos sind und Massenübersetzungen effizient durchführen können.
Was ich versucht habe:
< ul>
[*]py-googletrans mit Chunking (zu langsam)
[*]Manuelle Google Translate-Dokumente (schnell, aber nicht automatisiert)
Vorschläge für alternative Ansätze oder Optimierungen wären willkommen.