[PYTHON] Traduction automatique par Amazon Translate

Dernière foisDernière fois a essayé Amazon Rekognition (service de reconnaissance d'image) Cette fois, j'ai essayé un service de traduction automatique appelé Amazon Translate.

De plus, dans Rekognition, j'ai essayé d'utiliser le fichier image que je veux reconnaître comme argument lors de l'exécution du programme, mais dans Translate, il est quelque peu impossible d'utiliser la phrase que je veux traduire comme argument lors de l'exécution du programme, donc cette fois Flask J'ai créé une interface utilisateur simple en utilisant.

Qu'est-ce qu'Amazon Translate?

Amazon Translate est un service de traduction linguistique qui utilise des modèles d'apprentissage en profondeur pour fournir des traductions plus précises et plus naturelles que les algorithmes de traduction traditionnels basés sur des statistiques et des règles. Amazon Translate a les fonctionnalités qui vous permettent d'intégrer l'apprentissage automatique dans votre application sans compétences approfondies en apprentissage automatique, et vous pouvez utiliser l'apprentissage automatique à partir d'API simplement en préparant des données.

Environnement d'exécution

OS:Ubuntu 16.04.2 Langage: Python3.6.2

root/
|__translate.py
|__templates/
      |__translate.html

Préparation préalable

Définissez les informations d'identification suivantes dans AWS CLI (aws configure).

AWS Access Key ID AWS Secret Access Key Default region name Default output format

Code source (translate.py)

translate.py


from flask import *
import boto3

app = Flask(__name__)

@app.route('/',methods=['GET','POST'])
def index():
    return render_template('translate.html')

@app.route('/translate',methods=['POST'])
def translate():

    #Obtenez la source de traduction en japonais
    txt1 = request.form['txt1']

    if txt1 == '':
        return render_template('translate.html')

    #Créer un client Translate
    translate = boto3.client('translate')

    # translate_Exécuter le texte(Traduit par: Japonais, Traduit par: anglais)
    result = translate.translate_text(Text=txt1, SourceLanguageCode='ja', TargetLanguageCode='en')

    #Remettez le japonais source et l'anglais de destination en html
    return render_template('translate.html',txt1=txt1,txt2=result['TranslatedText'])

if __name__ == "__main__":
    app.run(host='0.0.0.0',port=8888,debug=True)

Code source (translate.html)

translate.html


<!DOCTYPE html>
<html>
    <head>
        <title>translate</title>
        <meta charset="UTF-8">
    </head>
    <body>
Traduire du japonais vers l'anglais.
        <br>
        <form action="/translate" method="post">
            <!--Si txt1 et txt2 sont liés depuis python, affichez-le dans TextArea-->
            <textarea name="txt1" rows="10" cols="50">{% if txt1 %}{{txt1}}{% endif %}</textarea>
            <textarea name="txt2" rows="10" cols="50">{% if txt2 %}{{txt2}}{% endif %}</textarea>
            <br>
            <input type="submit" value="Courir">
        </form>
    </body>
</html>

Bref commentaire

Le plan est comme suit.

① Obtenez la source de traduction japonaise saisie à partir de l'écran. (2) Exécutez Translate_text de Translate avec le japonais de (1) ci-dessus comme argument. (Source de la traduction: japonais, destination de la traduction: anglais.) ③ Remettez la source de la traduction en japonais et la destination de la traduction en anglais au html. ④ Réaffichez ce qui précède ③ à l'écran.

Résultat d'exécution

commander

python translate.py

écran

image.png

Référence (traduction google)

image.png

Je pense que le résultat est presque le même que celui de la traduction Google.

Résumé

Translate est un service pratique qui vous permet d'utiliser le machine learning de l'API, similaire à Rekognition. Cette fois, j'ai fixé la source de la traduction au japonais et la destination de la traduction à l'anglais, mais bien sûr, la langue elle-même est également un argument de l'API, et il semble que les langues prises en charge dépassent 50. En outre, il semble y avoir Hotels.com comme cas d'utilisateur.

Recommended Posts

Traduction automatique par Amazon Translate
Machine Sommelier par Keras-
Chainer, RNN et traduction automatique
4 [/] Quatre arithmétiques par apprentissage automatique
Détection de la même personne par Amazon Rekognition
100 Language Processing Knock 2020 Chapitre 10: Traduction automatique (90-98)