[GO] [Verarbeitung natürlicher Sprache / NLP] Einfache Rückübersetzung durch maschinelle Übersetzung mit Python

Wollten Sie schon immer ** Reverse Translation ** in Python für ** Data Augmentation ** durchführen, beispielsweise in einem NLP-Wettbewerb?

Zum Beispiel verwendet Kaggles "Toxic Comment Classification Challenge" diese Technik für die Lösung mit dem 1. Platz. https://www.kaggle.com/c/jigsaw-toxic-comment-classification-challenge/discussion/52557

In diesem Artikel werde ich erklären, wie man die einfache Übersetzung mit ** maschineller Übersetzung ** in Python rückgängig macht.

Umgekehrte Übersetzung durch maschinelle Übersetzung Beispiel für die maschinelle Übersetzung Zitat: https://amitness.com/2020/05/data-augmentation-for-nlp/

Überblick

Mit ** googletrans ** können Sie die Übersetzung ohne API-Schlüssel problemlos rückgängig machen.

Installieren Sie Googletrans

Die Umgebung setzt Python3 voraus.

$pip install googletrans

Reverse-Übersetzungsprogramm

from googletrans import Translator

def BackTranslation(text, original_lang, via_lang):
    translator = Translator()
    return translator.translate(translator.translate(text, dest=original_lang).text, dest=via_lang).text

Geben Sie im Argumenttext den Originaltext an, geben Sie in original_lang die Originalsprache und in via_lang die Sprache an, die Sie durchlaufen möchten.

Informationen zu den Sprachen, die für lang angegeben werden können, finden Sie in der folgenden Dokumentation zu googletrans. https://py-googletrans.readthedocs.io/en/latest/

Anwendungsbeispiel

「The destiny of man is in his own soul.」 Ich werde versuchen, den englischen Satz, der über Japanisch lautet, umzukehren.

text = "The destiny of man is in his own soul."
BackTranslation(text, "en", "ja")

Der Rückgabewert (Ergebnis der umgekehrten Übersetzung) ist wie folgt.

Ergebnisse der umgekehrten Übersetzung


'The fate of man lies in his own soul.'

Wenn Sie die weitergeleitete Sprache (Japanisch) ausgeben, ist dies wie folgt.

Weitergeleitete Sprache


Das menschliche Schicksal liegt in seiner eigenen Seele.

Verweise

A Visual Survey of Data Augmentation in NLP https://amitness.com/2020/05/data-augmentation-for-nlp/

Googletrans: Free and Unlimited Google translate API for Python https://py-googletrans.readthedocs.io/en/latest/

Ist die umgekehrte Übersetzung ein Alchemist der maschinellen Übersetzung? http://deeplearning.hatenablog.com/entry/back_translation

Recommended Posts

[Verarbeitung natürlicher Sprache / NLP] Einfache Rückübersetzung durch maschinelle Übersetzung mit Python
[Python] Versuchen Sie, Ramen-Shops durch Verarbeitung natürlicher Sprache zu klassifizieren
3. Verarbeitung natürlicher Sprache mit Python 1-2. So erstellen Sie einen Korpus: Aozora Bunko
Python: Tiefes Lernen in der Verarbeitung natürlicher Sprache: Grundlagen
Python: Verarbeitung natürlicher Sprache
So messen Sie die Verarbeitungszeit mit Python oder Java
Vergleichen Sie, wie die Verarbeitung für Listen nach Sprache geschrieben wird
Wie man in Python entwickelt
[Jobwechsel-Meeting] Versuchen Sie, Unternehmen zu klassifizieren, indem Sie Mundpropaganda in natürlicher Sprache mit word2vec verarbeiten
[Python] Wie man PCA mit Python macht
So sammeln Sie Bilder in Python
100 Sprachverarbeitung Knock Kapitel 1 in Python
Verwendung von SQLite in Python
100 Sprachverarbeitung Knock 2020 Kapitel 10: Maschinelle Übersetzung (90-98)
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
Dockerfile mit den notwendigen Bibliotheken für die Verarbeitung natürlicher Sprache mit Python
Verwendung von PubChem mit Python
Fassen Sie mit tf.data.Dataset api zusammen, wie Text (Verarbeitung natürlicher Sprache) vorverarbeitet wird
100 Sprachverarbeitung Knock Kapitel 1 von Python
Vorbereitung zum Starten der Verarbeitung natürlicher Sprache
Umgang mit Japanisch mit Python
Coursera Machine Learning Challenge in Python: ex6 (Anpassen von SVM-Parametern)
So trennen Sie den Pipeline-Verarbeitungscode mit Scrapy nach Spider
Sortieren durch Angabe einer Spalte im Python Numpy-Array.
Was tun, wenn die Python-Version in Cloud 9 von einer anderen Person erstellt wurde?
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Dynamisches Definieren von Variablen in Python
So machen Sie R chartr () in Python
[Itertools.permutations] So löschen Sie eine Sequenz in Python
So arbeiten Sie mit BigQuery in Python
3. Verarbeitung natürlicher Sprache durch Python 2-1. Netzwerk für das gleichzeitige Auftreten
So zeigen Sie die neunundneunzig Tabelle in Python an
So extrahieren Sie einen Polygonbereich in Python
[WIP] Vorverarbeiten von Notizen in der Verarbeitung natürlicher Sprache
So überprüfen Sie die Version von opencv mit Python
Natürliche Sprache: Maschinelle Übersetzung Teil 2 - Neuronaler maschineller Übersetzungstransformator
So wechseln Sie die Python-Version in Cloud9
So passen Sie den Bildkontrast in Python an
Verwendung von __slots__ in der Python-Klasse
So füllen Sie mit Python dynamisch Nullen aus
Verwendung regulärer Ausdrücke in Python
So zeigen Sie Hello World in Python an
Verwendung ist und == in Python
Wie schreibe ich Ruby to_s in Python
Verwendung mehrerer Argumente bei der Parallelverarbeitung mithilfe der Mehrfachverarbeitung in Python
So zeichnen Sie Bilder mit mehreren Anpassungen nebeneinander mit Python
Lesen aller in * .py enthaltenen Klassen in dem von Python angegebenen Verzeichnis
[Python] [Verarbeitung natürlicher Sprache] Ich habe Deep Learning ausprobiert (auf Japanisch von Grund auf neu erstellt)
Eintrag, bei dem Python-Anfänger ihr Bestes geben, um nach und nach 100 Sprachprozesse zu beenden
So studieren Sie die Grundprüfung zur Python 3-Ingenieurzertifizierung durch Python-Anfänger (bestanden im August 2020)
Ich habe ein Modul in C-Sprache erstellt, das von Python geladene Bilder filtert
Python: Deep Learning in der Verarbeitung natürlicher Sprache: Implementierung eines Antwortsatzauswahlsystems
[Python] So löschen Sie einfach einen untergeordneten Prozess, der durch Multiprozess gestartet wurde, von einem anderen Prozess
[Python] So zeigen Sie die Elemente der Liste nebeneinander an
Probieren Sie das Buch "Einführung in die Entwicklung natürlicher Anwendungen in 15 Schritten" aus - Kapitel 3 Schritt 09 Memo "Identifier by Neural Network"
Verwendung der C-Bibliothek in Python
So empfangen Sie Befehlszeilenargumente in Python