目次
Watson API(Language Translator)を使ったPepper
こんにちは。
AI coordinatorの清水秀樹です。
PepperとBluemix Watsonを使った簡単なアプリを作ってみたので紹介します。
プロジェクトファイルはこちらからダウンロードできます → Language Translator
上記アプリを作成にあたり、参考にさせて頂いたサイトも合わせて紹介します。
アプリの作成方法
作成方法を紹介します。
当アプリはWatson APIを使ったことがない方でも簡単に実装できます。
Watson APIを使用したアプリの作成方法が理解できれば、他のWatson APIも簡単に使用できるようになります。
ぜひチャレンジしてみてください。
それでは順を追って作成していきましょう。
BluemixからLanguage Translatorを作成する
翻訳するソフトの作成は非常に簡単にできます。
まずBluemixにログインし、カタログからLanguage Translatorを選択しましょう。
選択すると次画面の右下に「作成」ボタンが表示されますので、クリックしてアプリを作成してください。
作成できたら、次画面に表示されている「サービス資格情報」をクリックしましよう。
資格情報を取得できる画面が表示されますので、下記画面の赤枠部分をクリックして資格情報を取得しましょう。
サービスを使用するにあたっての”url”と”username”、”password”が表示されているはずです。
この資格情報はPepper側で使用することになりますのでメモしておきましょう。
以上でBluemix側の準備は完了です。
続いてPepper側のアプリ開発を説明します。
Pepperアプリ開発
アプリ開発といっても難しいことはありません。
Pepperが聞き取った言葉を、先ほど作成したLanguage Translatorに受け渡すプログラムソースを作るだけです。
準備するボッックスライブラリーはたった2つです。
- Speech Reco.
- Python Script
以上です。
上記画像のように、線を結んでください。
Python Scriptボックスの使用は以下の通りです。
onstartは文字列に変更してください。
ソースコードは以下を参照してください。
class MyClass(GeneratedClass): def __init__(self): GeneratedClass.__init__(self) self.tts = ALProxy('ALTextToSpeech') def onLoad(self): self.pathModified = False self.appFolder = self.behaviorAbsolutePath().replace(self.behaviorRelativePath(), "") self.folderName = os.path.join(self.appFolder, "lib") if self.folderName not in sys.path: sys.path.append(self.folderName) self.pathModified = True def onUnload(self): if self.pathModified and self.folderName and self.folderName in sys.path: sys.path.remove(self.folderName) self.folderName = None def onInput_onStart(self, p): import requests user="取得したユーザー名" pswd="取得したパスワード" target = "en" string = p ###Set the url### url="https://gateway.watsonplatform.net/language-translator/api/v2/translate?source=ja&target="+str(target)+str("&text=")+str(string) ###Send the request### r = requests.get(url ,auth =(user,pswd)) ### print the result### NewText= r.text final= NewText.encode('utf-8') self.tts.say(str(final)) def onInput_onStop(self): self.onUnload() #it is recommended to reuse the clean-up as the box is stopped self.onStopped() #activate the output of the box
このソースコードに、先ほど取得したユーザー名とパスワード指定してください。
今回は日本語から英語に変換するPepperを作成しています。
他言語を翻訳したい場合は、必要に応じてパラメータを変更してください。
Pepperに翻訳させてみよう
それでは早速バーチャルペッパーで実行してみましょう。
上記画像のように、日本語を英語にPepperが英訳してくれるはずです。
注意点
Windows版コレグラフのバーチャルペッパーでは動作しません。
SSLモジュールが無いと怒られます。
とはいえ、実機では動くと思います。(まだ試していないので悪しからず。)
また、一から作成する場合は「requests」モジュールが必要になります。
適当なサイトからダウンロードして、プロジェクトファイルに組み込んでください。
簡単に実装できますでの、是非チャレンジしてみてください。
それではまた!
その他のPepperアプリ記事はこちらから
この記事へのコメントはありません。