Bot FrameworkとTranslator Text APIを使って簡単な翻訳Botを作ってみる ② 機能追加編

こんにちは、Michaelです。
前回、Microsoftの「Bot Framework」を使って、簡単な「オウム返しBot」を作成しました。今回は、オウム返しBotにTranslator Text APIを付け加え、入力した言葉を外国語に翻訳するBotを作っていきます。

Translator Text APIによる翻訳機能の作成

Translator Text APIについては以前、Pythonによる簡易的な実装をご紹介しました。今回のBot FrameworkはNode.jsを使用しているため、コードをNode.jsに変更して対応させる必要があります。
基本的なリクエストは言語によって変わるわけではないため、以下のようなコードで翻訳機能を作成してみました。今回は、諸国語を英語に変換するように設定しています。

・translator.js

試しにこれをNode.jsで動かしてみると、ドイツ語の「Wo ist die Toilette? (トイレはどこですか?)」が「Where is the toilet?」と英語に翻訳されました。

翻訳Botの作成とテスト

翻訳機能ができたので前回作成したオウム返しBotに翻訳機能を移植します。
作成した翻訳用の関数をオウム返しBotにペーストして、メッセージの処理部分に翻訳関数を組み込みました。

translator_bot.js

ローカル環境のNode.jsで動作を確認してみます。
Bot Framework Emulatorで翻訳Botにテキストを送信してみると、日本語、ドイツ語とも英語に変換されていることが確認できました。


言語設定を「de (ドイツ語)」に変更すると、ドイツ語に翻訳するように変更することもできます。


また、メッセージの処理部分を少し変更し、記号を使って翻訳先の言語を指定できるようにしてみました。Translator Text APIは入力した言語を自動で判別できるため、知らない国の言葉を指定の言語に翻訳できるBotを作ることもできました。

今回は、Translator Text APIを付け加え、簡易的な翻訳Botを作成してみました。
Bot Framework自体はルールベースの応答プログラムであるため、Cognitive ServicesのAPIを組み合わせることで、簡単に機能の追加をすることができます。
次回は、作成したBot ApplicationをAzure Bot Serviceにデプロイしてみます。
お楽しみに。

この記事を書いた人

azure-recipe-user