Traduction en Python 3 avec IBM Language Translator API
Pour traduire du texte en Python, on pense à Google Traduction API. Cependant, il existe de nombreuses alternatives. Parmi celles-ci se trouve Language Translator API, qui propose de traduire gratuitement 1 000 000 de caractères par mois. Cet article vous aidera a le paramétrer et l'utiliser.
Nécessaire
- Un compte IBM Cloud (gratuit). Pour se connecter ou s’inscrire, c’est ici : IBM Cloud.
- Avoir installé Python et pip sur votre ordinateur. Une alternative est l’utilisation de Jupyter Notebook.
Obtenir la clé de l’API
Une fois connecté à IBM cloud, vous pouvez maintenant ajouter le service Language Translator :
Language Translator - IBM Cloud
Sélectionnez le “plan lite” :
Plan lite
Une fois créé, dans l’onglet Manage, copiez l’API key et l’URL. Ils seront tous deux nécessaires pour la suite.
Language Translator API
Installation de la librairie ibm_watson
Pour installer ibm_watson depuis le terminal, exécutez la commande suivante :
sudo pip install ibm_watson
Sinon depuis Jupyter Notebook :
!pip install ibm_watson
Paramétrage de l’API
Premièrement, importez LanguageTranslatorV3 et IAMAuthenticator.
from ibm_watson import LanguageTranslatorV3
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
Vous pouvez entrer vos informations précédemment copiées comme ceci :
key = '***'
url = '***'
version = '2018-05-01'
Enfin :
Translator = LanguageTranslatorV3(version=version,authenticator=IAMAuthenticator(key))
Translator.set_service_url(url)
Utilisation de l’API
Je vous propose de traduire “Ceci est une phrase très utile” en Anglais. C’est donc une traduction de français vers l’anglais.
Translator.translate(text="Ceci est une phrase très utile", model_id='fr-en').get_result()
Si vous avez suivi ce tutoriel comme prévu, vous devriez obtenir :
Traduction du français vers l’anglais
Pour donner un autre exemple : changer le paramètre “model_id=‘fr-en’” par “mode_id=‘fr-es’” permettrait donc de traduire cette phrase en espagnol.
Alternative à IBM translate ?
Il est possible de traduire gratuitement du texte avec Google Traduction en Python. Pour cela, rien de plus simple : Traduire un string grâce à Google Traduction en Python