Amazon Lexのデプロイ


機械学習に関する基本的な内容をまとめてみたものです。機械学習に関する、Web上にすでにある解説コンテンツをまとめたサイトの抜粋です。
Amazon Lexのデプロイ

IAM RoleとLambda Functionの作成

Lexを作成する前に、「LexからLambda Functionを操作するRole」と「Lambda FunctionによるアクションのRole」の2つを作成します。

最初にLexからLambda Functionを操作するRoleを作ります。LexはまだプレビューのためIAMにAssumeRoleの選択肢がありませんので一旦Lambdaを指定しておいて後で手で書き換えます。ポリシーもカスタムで書くので空のまま作ります。

次に「信頼関係の編集」をクリックして、AsuumeRoleをLambdaからLexに書き換えます。アクセスコントロールポリシードキュメントも編集して信頼関係をカスタマイズしてLambdaのInvokeアクションを許可します。

Roleを2つ作成したら、Lambda Functionを作成します。Lambda FunctionのRoleとしては、さきほど作成した「Lambda FunctionによるアクションのRole」を選択します。

Lexの作成

Lexコンソールからbotを定義し、全てのコンポーネントをセットアップすることができます。サンプルからはじめる事もできますし、カスタムbotをいちから作成することも出来ます。

Lexの作成は、名前をつけて、Roleを指定したら、次の画面に遷移して発話とスロットを定義していきます。Roleとしては、さきに作成した「LexからLambda Functionを操作するRole」を指定します。その後、SettingとChannelでFacebookを利用するためのコールバックURL(Facebook messengerとAmazon Lexのデータをやりとりをするために必要) などを設定します。

検証方法

コンソールのテストウィンドウから Amazon Lex ボットをテストできます。AWS Lambda で実装されたビジネスロジックもすべて、このコンソールでインタラクティブにテストでることができます。

Amazon Lex は AWS Lambda と密接に統合されているため、初期化および検証の codeHook を使用してユーザー入力を検証することができます。このコードは、会話の 1 ターンごとに実行されます。codehook を使用すると、セッションパラメータの設定、ユーザー入力の検証、および応答のカスタマイズを実行できます。

デプロイとモニタリング

Amazon Lex を使用すると、ボットを Amazon Lex コンソールから直接チャットサービスに簡単にパブリッシュできるため、マルチプラットフォーム開発に必要な労力を削減できます。リッチフォーマット機能により、Facebook Messenger などのチャットプラットフォーム用にカスタマイズされた直感的な操作感が実現します。

Amazon Lex コンソールの “モニタリング” ダッシュボードでボットのメトリクスを追跡することもできます。現時点で追跡できるのは、失敗した発話数、リクエストのレイテンシー、およびボットのチャネル別トラフィックです。