[Traitement du langage naturel / PNL] Comment effectuer facilement une traduction arrière par traduction automatique avec Python

Avez-vous déjà voulu faire de la ** traduction inverse ** en Python pour ** l'augmentation des données **, comme dans un concours de PNL?

Par exemple, le «défi de classification des commentaires toxiques» de Kaggle utilise cette technique pour la solution de première place. https://www.kaggle.com/c/jigsaw-toxic-comment-classification-challenge/discussion/52557

Dans cet article, je vais vous expliquer comment inverser facilement la traduction à l'aide de la ** traduction automatique ** en Python.

Traduction inversée par traduction automatique Exemple de traduction inversée par traduction automatique Citation: https://amitness.com/2020/05/data-augmentation-for-nlp/

Aperçu

Avec ** googletrans **, vous pouvez facilement inverser la traduction sans avoir besoin d'une clé API.

Installez googletrans

L'environnement suppose Python3.

$pip install googletrans

Programme de traduction inversée

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

Dans le texte de l'argument, spécifiez le texte d'origine, dans original_lang, spécifiez la langue d'origine, et dans via_lang, spécifiez la langue que vous souhaitez utiliser.

Pour les langues qui peuvent être spécifiées pour lang, reportez-vous à la documentation googletrans suivante. https://py-googletrans.readthedocs.io/en/latest/

Exemple d'utilisation

「The destiny of man is in his own soul.」 J'essaierai d'inverser la traduction de la phrase anglaise qui dit via le japonais.

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

La valeur de retour (résultat de la traduction inverse) est la suivante.

Résultats de la traduction inverse


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

De plus, si vous sortez la langue relayée (japonais), ce sera comme suit.

Langue relayée


Le destin humain réside dans sa propre âme.

Les références

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/

La traduction inversée est-elle un alchimiste de la traduction automatique? http://deeplearning.hatenablog.com/entry/back_translation

Recommended Posts

[Traitement du langage naturel / PNL] Comment effectuer facilement une traduction arrière par traduction automatique avec Python
[Python] Essayez de classer les boutiques de ramen par traitement du langage naturel
3. Traitement du langage naturel avec Python 1-2. Comment créer un corpus: Aozora Bunko
Python: apprentissage profond du traitement du langage naturel: principes de base
Python: traitement du langage naturel
Comment mesurer le temps de traitement avec Python ou Java
Comparez comment écrire le traitement des listes par langue
Comment développer en Python
[Réunion de changement d'emploi] Essayez de classer les entreprises en traitant le bouche-à-oreille en langage naturel avec word2vec
[Python] Comment faire PCA avec Python
Comment collecter des images en Python
100 Language Processing Knock Chapitre 1 en Python
Comment utiliser SQLite en Python
100 Language Processing Knock 2020 Chapitre 10: Traduction automatique (90-98)
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
Dockerfile avec les bibliothèques nécessaires pour le traitement du langage naturel avec python
Comment utiliser PubChem avec Python
Résumez comment prétraiter le texte (traitement du langage naturel) avec l'api tf.data.Dataset
100 Language Processing Knock Chapitre 1 par Python
Se préparer à démarrer le traitement du langage naturel
Comment gérer le japonais avec Python
Coursera Machine Learning Challenge en Python: ex6 (Comment ajuster les paramètres SVM)
Comment séparer le code de traitement du pipeline par spider avec Scrapy
Comment trier en spécifiant une colonne dans le tableau Python Numpy.
Que faire lorsque la version Python est ancienne dans Cloud 9 créée par une autre personne
[Introduction à Python] Comment utiliser la classe en Python?
Comment définir dynamiquement des variables en Python
Comment faire R chartr () en Python
[Itertools.permutations] Comment créer une séquence en Python
Comment utiliser BigQuery en Python
3. Traitement du langage naturel par Python 2-1. Réseau de co-occurrence
Comment afficher la table quatre-vingt-dix-neuf en python
Comment extraire une zone de polygone en Python
[WIP] Pré-traitement des notes dans le traitement du langage naturel
Comment vérifier la version d'opencv avec python
Natural Language: Machine Translation Part2 - Transformateur de traduction automatique neurale
Comment changer de version de Python dans cloud9
Comment régler le contraste de l'image en Python
Comment utiliser __slots__ dans la classe Python
Comment remplir dynamiquement des zéros avec Python
Comment utiliser les expressions régulières en Python
Comment afficher Hello World en python
Comment utiliser is et == en Python
Comment écrire Ruby to_s en Python
Comment prendre plusieurs arguments lors d'un traitement parallèle à l'aide du multitraitement en python
Comment tracer plusieurs images ajustées côte à côte en utilisant Python
Comment lire toutes les classes contenues dans * .py dans le répertoire spécifié par Python
[Python] [Traitement du langage naturel] J'ai essayé le Deep Learning ❷ fait de toutes pièces en japonais ①
Entrée où les débutants en Python font de leur mieux pour frapper petit à petit 100 processus de langage
Comment étudier l'examen de base de la certification d'ingénieur Python 3 par un débutant Python (passé en août 2020)
J'ai fait un module en langage C qui filtre les images chargées par Python
Python: Apprentissage en profondeur dans le traitement du langage naturel: Implémentation d'un système de sélection de phrases de réponses
[Python] Comment supprimer facilement un processus enfant lancé par multiprocessus à partir d'un autre processus
[python] Comment afficher les éléments de la liste côte à côte
Essayez le livre "Introduction au développement d'applications de traitement du langage naturel en 15 étapes" --Chapitre 3 Étape 09 Mémo "Identifier par Neural Network"
Comment utiliser la bibliothèque C en Python
Comment recevoir des arguments de ligne de commande en Python