AIラッキー 英語がわかるようになる
AIラッキーが英語を、ふるさとマルタ島の言葉にして教えくれるようになりました。
Watson AssistantからLanguage Translatorを呼び出す
Watson AssistantからwebhookでLanguage Translatorサービスを呼び出して翻訳機能を追加。
webhookでLanguage Translatorサービスを呼び出す流れ
Language Translatorサービス利用の準備
Language Translatorサービスを起動する。
IBM cloudサービスにログイン
画面の右上のメニューからカタログをクリック。
Language Translatorをクリック。
使用するサービスの地域とライトプラン(無料)を選択し右サイドバーの作製ボタンをクリック。
画面左上のIBM cloudボタンをクリックしてダッシュボードを表示する。
serviceをクリックしてリソースリストを表示
Language Translatorをクリックしてサービスを表示する。
この画面から、APIキーとwebhook先のurlが取得できます。
左サイドバーのサービス資格情報 => アクション欄の資格情報の表示で資格情報をjson形式で表示できます。
Watson AssistantからwebhookしてLanguage Translatorサービスを使う
Watson Assistantをサービス画面に入り。Watson Assistant起動ボタンをクリックする。
作成済のskillを選択し、dialogボックスを表示させてから使用するAssistantを選択してクリックする。
Watson Assistant画面の左側メニューのintent entities DIALOGの3つの項目で会話の流れを作っていきます。
intent(意図):どうする。
entities(目的):何を。
DIALOG(会話の流れ)
Watson Assistantでのwebhook使用の準備
画面左側メニューのoptionをクリックする。
ここでは、webhook先のurlとヘッダー情報を作成する。
urlには、取得しておいたurlの後ろに、/v3/translate?version=2018-05-01を追加して設定する。
ヘッダー情報は、Content-Typeをapplication/jsonとし、
追加認証情報の+ボタンをクリックし、Authorization と認証情報をセットする。
認証情報は、入力時に別画面にusename password入力画面が表示されるので、user名にapikeyの文字を、passwordに取得しておいたAPIキーを入力してセーブする。
セーブすると、認証情報の値が自動生成される。(Basic ×××××××××××....)
Watson Assistant DialogからWeb フックを使用する
ダイアログ・ノードからのプログラマチック呼び出しの実行の通りに設定する。
webhookを使用するDialogを選択する。左側に設定画面が表示される。
カスタマイズをクリックした後、Web フックセクションのトグルボタンをONにする。
webhookするParametersを設定する。
text: 翻訳する言葉。
model_id:翻訳元言語と翻訳先言語を指定する。
Language Translatorからの応答を取り出して処理する。
応答から、翻訳語のデーターを取り出す。
条件:$webhook_result_1
応答: $webhook_result_1.translations[0].translation ?>
エラー応答で、jsonをすべて出力する時。
条件:output.webhook_error
応答: output.webhook_error.webhook_result_1 ?>
エラーになるとき
404エラー:urlの後ろに/v3/translate?version=2018-05-01を追加しているか確認。
:model_idでLanguage Translatorが対応していない組み合わせを使うと、404エラーになるみたい。
Language Translator入門チュートリアルをみてcurlコマンドを発行して応答を確認する。
下記コマンドのapiキーとurlを変更して応答を確認する。
curl -X POST -u “apikey:{apikey}” –header “Content-Type: application/json” –data “{\”text\”: [\”Hello, world! \”, \”How are you?\”], \”model_id\”:\”en-es\”}” “{url}/v3/translate?version=2018-05-01”
エラー例:
{
“code” : 405,
“error” : “Method Not Allowed”
}