Watson APIを活用した英訳するPepperコントローラー

Python GUIを使ってWatson APIを使用したペッパー用コントローラーの作成方法

こんにちは。

AI coordinatorの清水秀樹です。

Watson APIの「LanguageTranslator」を使用したペッパー用コントローラーの紹介です。

英訳ボタンを押下すると、入力した日本語を英訳してくれます。

開発にはPythonを使用しています。

Watson APIをPythonで開発したみたい方は是非参考にしてみて下さい。

 

ソースコードのダウンロードはこちら → LanguageTranslator.zip

 

コレグラフからWatson APIを使用したい場合や、まだBluemixでWatson APIアプリ(LanguageTranslator)を作成していない方は以下の記事を参考にしてください。

Watson APIを使った翻訳できるPepperサンプル

 

開発環境の準備方法

Python SDKをインストールしていない方は、以下の記事を参考にインストールしてください。

Pepper用Python 2.7 SDK(WIN)セットアップ方法

Pepper用Python 2.7 SDK(MAC)セットアップ方法

 

Python SDK環境のセットアップができたら、次はBluemixからWatosn APIを使用できるようにするためのモジュールをインストールします。

ターミナルを起動し、以下のコマンドを入力してモジュールをインストールしましょう。

pip install requests

pip install --upgrade watson-developer-cloud

これでPythonからBluemixのWatson APIに接続できるようになりました。

 

ソースコードの説明

特に難しいことはしていません。

def __init__(self):でGUIを作成し、各関数でボタンを押下した時の振舞を定義しているだけです。

# -*- coding: utf-8 -*-

from Tkinter import*
from naoqi import ALProxy
import requests
from watson_developer_cloud import LanguageTranslatorV2 as LanguageTranslator

class language():

    def __init__(self):
        #ウインドウ定義
        root = Tk()
        root.option_add('*font', 'FixedSys 18')
        root.option_add('*Button.background', 'green')
        root.geometry("700x150")
        root.title(u"Pepper Controller")

        #IPアドレス取得テキストボックス & ボタン------------
        Label(text=u'Pepper IP ⇒').place(x=25,y=10)
        self.ip = Entry(width=15)
        self.ip.place(x=130,y=10)        
        self.ip.insert(0,"localhost")        

        Label(text=u'ポート').place(x=260,y=10)
        self.port = Entry(width=5)
        self.port.place(x=315,y=10)
        self.port.insert(0,49836)

        Button(root,text = "接続",command=self.ip_btn).place(x=370,y=6)

        #台詞用テキストボックス & ボタン--------------------
        Label(text=u'台詞を入力').place(x=25,y=60)
        self.say = Entry(width=50)
        self.say.place(x=130,y=60)
        self.say.insert(0,"私の名前はペッパーです")
        Button(root,text = "話す",command=self.say_btn).place(x=550,y=55)
        Button(root,text = "英訳",command=self.en_say_btn).place(x=610,y=55)

        root.mainloop()


    def ip_btn(self):
        #ipアドレスを取得する
        ip = self.ip.get()
        port = int(self.port.get())
        self.tts = ALProxy('ALTextToSpeech',ip,port)
        self.motion = ALProxy("ALMotion", ip, port)
        
    def say_btn(self):
        #台詞の取得と実行
        say = self.say.get()
        self.tts.say(say.encode('utf8'))

    def en_say_btn(self):
        #英訳
        say = self.say.get()
        language_translator = LanguageTranslator(
        username='資格情報のusername',password='資格情報のpassword')
        translation = language_translator.translate(text=say,source='ja',target='en')

        self.tts.say(str(translation))

language()

 

実行して、バーチャルPepperが英訳したら成功です。

実機では確認していませんので悪しからず。

 

それではまた。

 


その他のPepperアプリ記事はこちらから

あなたにオススメの記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP