- はじめに
- Node-REDフロー作成
- LanguageTranslator-API準備
- Node-REDへLanguageTranslator組み込み
- Node-REDでWatson-LanguageTranslator体験
- 実行
- 終わりに
はじめに
このドキュメントは Node-RED を利用して、IBM Watson Language Translator の翻訳機能を体験するための手順を示しています。
ここで利用する Node-RED は、IBM Cloud にデプロイされたものを想定しています。
Node-REDフロー作成
まずは、英語から日本語に翻訳する機能を体験します。
injectノード
パレット上部の「共通 タブ」から inject
ノードをワークスペースにドラッグします。
language translatorノード
パレット下部の「IBM Watson タブ」から language translator
ノードをワークスペースにドラッグします。
functionノード
パレット上部の「機能 タブ」から function
ノードをワークスペースにドラッグします。
debugノード
パレット上部の「共通 タブ」から debug
ノードをワークスペースにドラッグします。
ノード接続
[inject]
⇒[function]
⇒[language translator]
⇒[debug]
の順にノードを接続します。
少しコーディング
Watson に問い合わせる英文を準備しておきます。
function
ノードをダブルクリックし、ソースコード編集画面を開きます。そして下記のコードを記述します。
msg.payload = "this is a pen.";
return msg;
LanguageTranslator-API準備
いったん Node-RED から離れて、IBM Cloud の GUI から Watson Language Translator
API を準備します。
リソースの作成
IBM Cloud のダッシュボード、もしくはリソース・リストにある 「リソースの作成」ボタン
をクリックします。
検索テキストボックスに language
と入力すると、[LanguageTranslator] の候補が表示されるのでクリックします。
サービスの設定画面で ライト 無料 となっていることを確認して、「作成」ボタン
をクリックします。
API情報表示
作成された API の詳細画面が表示されるので、左メニュの 「管理」
をクリックします。
Node-REDへLanguageTranslator組み込み
Node-RED と Watson API を連携させる方法はいくつかあります。
- API 鍵による連携
- Cloud Foundry アプリケーションの接続
今回は「API 鍵による連携」で Node-RED と Watson API を連携します。
API鍵の組み込み
Watson API の管理画面から 資格情報
の 「API 鍵」
をコピーします。
Node-RED フローエディタを表示し、ワークスペースに配置してある[language translator]
ノードをダブルクリックします。
API key を入力する欄があるので、貼り付けます。
EndPoint-URLの組み込み
Watson API の管理画面から 資格情報
の 「URL」
をコピーします。
Node-RED フローエディタを表示し、ワークスペースに配置してある[language translator]
ノードをダブルクリックします。
Service Endpoint を入力する欄があるので、貼り付けます。
Node-REDでWatson-LanguageTranslator体験
Node-RED と Watson LanguageTranslator の連携は完了したので、Watson の機能を試してみます。
翻訳元と翻訳語の言語設定
引き続き [language translator]
ノードの設定画面で下記設定をします。
-
Source を
English
-
Target を
Japanese
デプロイ
いままで設置してきた フローやコーディングを確定して、実際に動作するようにします。画面上部の 「デプロイ」
ボタンをクリックします。
Node-RED のサイドバー(右側エリア)上部のデバッグアイコンをクリックし、デバッグサイドバーを表示します。
実行
ワークスペースに配置してある inject
ノードの左側のボタンをクリックして、フローを実行します。すると function
ノードに記述した英文が language translator
に送信され、翻訳された結果が debug
ノードに流れてデバッグサイドバーに表示されます。
英文を変えてみる
ほかの英文も翻訳できることを確認するために、function
ノードの記述した英文を変更してみます。変更したら、画面右上の デプロイボタンをクリックしてフローの変更を確定します。
デプロイが完了したら、inject
ノードの左側ボタンをクリックして、フローを実行します。翻訳結果が デバッグサイドバーに表示されます。
翻訳の方向を変えてみる
これまで英文を日本語に翻訳していましたが、日本語を英語に翻訳してみます。 language translator
ノードの設定を下記に変更します。
-
Source を
Japanese
-
Target を
English
翻訳する文字列も日本語にします。function
ノードを編集して日本語に変更します。変更したら、画面右上の デプロイボタンをクリックしてフローの変更を確定します。
デプロイが完了したら、inject
ノードの左側ボタンをクリックして、フローを実行します。翻訳結果が デバッグサイドバーに表示されます。
終わりに
文字列を設定するだけで簡単に翻訳機能を得られることが確認できたかと思います。
「日本語」「英語」以外にも翻訳可能な言語があります。
いろいろなアプリやサービスの中に気軽に翻訳機能を追加することが可能になります。試してみてはいかがでしょうかっ!