Amazon Lex のインテント作成時にビジュアルビルダーが使えるようになりました

2022.09.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

Amazon Lex ではこれまでマネジメントコンソール上から GUI ベースで BOT の基本的な部分を構築することが出来ていましたが、今回のアップデートでより直感的に対話のフローを視覚化しながらインテントを構築するための Visual Conversation builder というビジュアルビルダーが使えるようになりました。

利用開始方法

このビルダーはインテント構築時に利用出来ます。
以下は従来のビルダーで作成した既存インテントになりますが、ボトムエリアにインテントを保存するボタンがあり、その左にエディター切り替えコントロールが追加されていますね。

ちなみに本機能は 2022 年 8 月 17 日移行に作成されたインテントでのみ利用が可能です。
それより前に作成されたインテントの場合は以下のように切り替えコントロールの表示がされていません。

Amazon Lex V2 の内部としては 8 月 17 日を境にユーザーの対話管理方法が大きく変更されていて、その以前と以降でメカニズムが異なっています。
本記事のテーマから少し逸脱するのでここでは詳細は触れません。以下のドキュメントをご確認ください。

では、モードを切り替えてみます。

今回は既存インテントの表示モードを切り替えました。
既に構築済みの内容に沿って、複数のコンポーネントがビジュアルエディター上でフロー形式で表示されています。

用語だけ先に整理

画面の上部に配置可能なコンポーネント用のボタンが用意されていますね。
これらの配置可能なコンポーネントを「ブロック」と呼びます。以下が用意されています。

  • Start
  • Get slot value
  • Condition
  • Confirmation
  • Fulfillment
  • Closing response
  • Code hook
  • Wait for user input
  • Go to intent
  • End conversation

ブロックとブロックが接続されていますが、この接続を「エッジ」と呼び、エッジはブロック間の丸いアイコンに対して接続を行います。
この丸いアイコンを「ポート」と呼びます。

配置についてはドラッグアンドドロップで配置可能でイメージしやすいのではないかなと思います。
ブロックの右上のアイコンを選択すると詳細な設定を行うことが出来ます。

ちなみにテスト機能については従来のダイアログと同じものが使用されています。

既存インテントを変更してみる

さて、タイミングよく 5 日ほど前に以下の記事にて Amazon Lex V2 のインテントを作成していましたので、本日はこの新機能を使ってインテントの動きを変更してみたいと思います。

適当なブロックを追加で設置し、エッジを少し変更してみましょう。
トップバーから Condition ブロックを配置します。

今までは Confirmation 後に会話を終了させていましたが、ここでは Confirmation 後に Condition ブロックで少し分岐処理を行ってみましょう。
まず、既存のエッジは変更が出来ません。よって一度エッジの削除が必要です。
エッジを選択することができるので、削除したいエッジを選択後に右側のメニューアイコンからゴミ箱のようなマークを選択します。

消えましたね。

次に、Confirmation ブロックの Yes ポートを選択し、そこからドラッグしてみると矢印が伸びるかと思います。
これをターゲットブロックのポートへ接続しましょう。

これで Confirmation ブロックが Yes の時に、Condition ブロックに遷移させることが出来るようになりました。
続いて Condition ブロックの詳細アイコンを選択し、詳細画面で設定を行います。
各ブロックの設定内容は既存ビルダーと同じなのでここでは割愛します。

もうひとつ設定してみましょう。
フロー上に使われていない Closing response ブロックが配置されていたと思います。
このブロックに Confirmation ブロックの No ポートと Condition ブロックの Default branch ポートを Closing response ブロックに接続してみましょう。

しかし Closing response がなんか透明になってます。
そして、試してみるとエッジの作成が出来ないことがわかると思います。

Closing response の詳細画面を見てみると Active スイッチが OFF になっています。
エッジを接続する際はこちらが Active になっている必要があります。

Active に変更したあと、接続することが出来ましたね。

ちなみにエッジが接続された状態で Active スイッチを OFF にすると接続されているエッジが削除されるのでご注意ください。

最後にインテントをビルドしてテストしてみましょう。

設定が反映されているようですね。

ビジュアルビルダーでの設定内容はエディターへも反映される

ちなみに、ビジュアルビルダーと旧エディターの切り替えはボトムのボタンでいつでも切り替えることが出来ます。
ビジュアルビルダーで構築したフローの内容はエディター側へも反映されています。

さいごに

本日は Amazon Lex のインテント作成時にビジュアルビルダーが使えるようになったので既存インテントの変更を行ってみました。

個人的には旧インテントエディターは流れが俯瞰してわかりにくかったので、ビジュアルビルダーかなり使いやすいです。
個人的にはマネジメントコンソールからの場合は基本これを使おうかなと思ってます。
結構操作性も良いなーと思いました、是非使ってみてください。

利用にあたっていくつか細かいルールがあります。(分岐と分岐を接続出来ない、など)
以下もご確認ください。