会話ビルダーは、会話形式の要素を使用してダイアログタスクを設計および構築できる新しいダイアログタスクエディターです。ストーリーボードおよびフローベースのダイアログタスクビルダーの機能を活用しています。ストーリーボードはユーザーの会話を設計して可視化するのに役立ちますが、ボットはダイアログタスクビルダーにおいて開発する必要があります。これには、理解した上で、会話のコンポーネントをダイアログのコンポーネントに変換するという手作業が必要となります。翻訳では、多くのことが失われてしまいます。また、シーンに対するダイアログの検証には膨大な手作業が必要であり、実装スタイルが異なるため、会話デザイナー/BAと実装エンジニアの間のコラボはそれほどありません。また、シーンやダイアログの継続的な変更は、手動で同期させる必要があり、非常になる複雑になる場合があります。会話駆動型ダイアログビルダーは、ストーリーボードのシーンを自動的にダイアログタスクに変換します。デザイナーは、ダイアログを構築する前に、エンドユーザーの会話を可視化することに集中できます。会話フローが自動的に生成されるので、開発者は技術的な面に集中することができます。これにより、開発の作業が削減できるだけでなく、実際の設計により近いボットを作成することができます。
この機能はプラットフォームのv9.0でリリースされたもので、(ベータ版)の状態にあります。
機能
- 会話デザイナー(またはビジネスアナリスト)と開発者が共同でダイアログを構築するための連携アプローチ。
- 会話ビューでダイアログを定義する機能 – 会話デザイナーやBAは、このビューで、ボットを一連のボットメッセージとユーザーメッセージとして設計することができます。
- 構築ビューにおけるタスクの自動生成 – 開発者は、設定を微調整し、会話フローの上に展開して、完璧に機能するボットに向けて必要なロジックとフルフィルメントの要素を提供することができます。
- 操作性と直感性の改善
- ビュー間の自動同期、つまり、1つのビューに変更を加えるともう1つのビューも更新されます。
会話ビュー
BA/会話デザイナーは、会話ビューでダイアログを定義することができます。このビューは、一連のボットメッセージとユーザーメッセージとしての会話フローから構成されています。適切な場合には、BAはボット開発時中に設定されるアクションノードを追加することができます。構築->会話スキル->ストーリーボードでは、会話フローに切り替えできるオプション付きの排他的な会話ビューが得られます。また、新しいダイアログビルダーから左下のウィンドウでも表示できます。 メモ:この文書では、会話ビルダーでのみで利用できる機能をリストアップしています。これは、ストーリーボードで利用できる機能に加えて、ストーリーボードと会話ビルダーの両方に共通して利用できる機能です。共通の機能については、こちらをご参照ください。
会話ビルダー
ここでは、会話ビルダーのさまざまな機能を使用して、シーンの作成を探りましょう。会話ビルダーには2つの方法でアクセスできます。
- 新規シーンを作成してストーリーボードから
- 新規ダイアログを作成してダイアログタスクから
シーンの作成
基本機能
メモ:以下のセクションでは、会話ビルダーのさまざまな面を探ります。スクリーンショットはストーリーボードフローを表しますが、ダイアログタスクフローにも有効です。
インテントノード
- シーンやダイアログタスクを作成すると、デフォルトでプライマリインテント が作成されます。これが、このシーン/ダイアログのトリガーとなるユーザーの発話とされます。
- その他オプションをクリックし、設定プロパティを選択します。
- 必要に応じて表示名とノード名 を変更します
- 説明追加・変更します
- このインテントをトリガーする発話の追加を行います。複数の発話を追加することができます。これらは、プライマリインテント発話に加えられます。
- 発話、パターン、ルールの追加でインテントをトレーニングできるようになるトレーニングの管理のオプションがあります。発話のトレーニングについての詳細はこちらをご参照ください 。
ボットメッセージ
会話の中で、まず始めたいのは、ボットからユーザーへのメッセージです。これは、会話フローで、ユーザーのガイドとして役立つことになリます。ボットメッセージは、以下の目的のうちの1つには役立ちます。
- ユーザーからの情報収集を目的とした質問を訊く です。これは、ダイアログタスクで エンティティノードに変換されます。
- さらに、文字列、番号、日付など、想定されるユーザー入力のタイプを指定できます。この入力は、ダイアログタスクでエンティティタイプに変換されます。
- 簡単なフォーマット化オプションを使用して、あるいはボットメッセージを表示するためのテンプレートを選択して、メッセージをフォーマット化することができます。
- 会話パスを決めるインテントで、確認の依頼を行います。これは、ダイアログタスクで確認ノードに変換されます。
- ヘルプメッセージやウェルカムメッセージ、あるいはユーザークエリへの応答として、ユーザーへの情報提供を行います。これらは、ダイアログタスクで 管理ノードに変換されます。
その他のノード
ボットメッセージやユーザーメッセージとは別に、次のことができます。
- サービスコール、スクリプト、ロジック、Webhook、処理などのボットアクションがフローを定義するために、プレースホルダーを追加したりすることができます。実際の機能は、ダイアログビルダーから追加する必要があります。このようなボットアクションノードの目的を詳しく説明する開発者に、コメントを残すことができます。例として、フライト予約タスクでは、実際の予約処理のためにバックエンドサーバーに接続したいとします。
- サブタスクや関連/フォローアップタスクのために、ダイアログタスク をトリガーします。例として、フライトを予約した後に、Webチェックインダイアログをトリガーしたい場合もあります。
- エージェントへの転送ノード(会話の最後にのみ)。例として、送金タスクでは、ライブエージェントを介してユーザー資格情報を認証したい場合があります。
- デジタルフォームを追加して、ユーザーの一連の入力をキャプチャします。例として、アカウント作成タスクでは、名前、住所、電話番号などのユーザー情報を入力するフォームを表示したい場合があります。
設定
会話を構築中では、ノードはデフォルトの設定で生成されます。これらの設定は、会話ビルダー自体からカスタマイズすることも、後でダイアログタスクから行うこともできます。次のセクションでは、追加された各ノードについて、会話ビルダーから利用可能なさまざまな設定を見ていきます。
エンティティノード
エンティティノードは、ボット->質問するが選択されるたびに作成されます。各質問に対して、以下のことができます。
- エンティティタイプを定義します – ドロップダウンリストから選択します。このリストには、Kore.aiプラットフォームがサポートするエンティティタイプ が含まれています。
- 太字、斜体などのフォーマット化オプション を適用します。
- ボタン、カルーセルなどのテンプレートを使用して、クエリを表示します。
- 表示名、
- ノード名、
- タイプ,
- ~は複数アイテム、
- ユーザープロンプト、および
- エラープロンプト。
確認ノード
確認ノードは、 ボット->確認を要求が選択されるたびに作成され、 「はい」、「いいえ」 、および他の2つのユーザー応答パスとともに表示されます。オプションを削除または追加することができます。各確認事項については、以下のとおりです。
- 太字、斜体などのフォーマット化オプション を適用します。
- ボタン、カルーセルなどのテンプレートを使用して、確認オプションを表示します。
- 以下のような 設定プロパティを設定することができます。
- 表示名
- ノード名
- ユーザープロンプト
- ディスプレイのオプション
- はい/いいえの同義語。確認ノードコンポーネントプロパティについては、こちらをご参照ください。
- 該当するユーザー応答のオプションを選択し、適切なパスで続行します。
高度な機能
線形的フローとは別に、例外的フローを会話に追加することができます。例として、フライト予約タスクの中で、ユーザーが目的地の都市の天気予報を依頼したり、残高の確認タスクの中で、ユーザーが間違った口座番号を3回連続して入力したりすることがあります。これらの例外的なケースは、会話ビルダーの一環として検討することができます。各ユーザー応答に対して、以下のように指定することができます。
- 別のユーザー応答が異なるフローをトリガーする場合があります。例として、天気予報タスクの 都市エンティティのプロンプトで、ユーザーが「今はしません」と答えた場合、会話は終了します。
- ユーザーエントリ超過の制限を超えたときのボット応答。
- 割り込みまたはサブインテントによるボットの動作は、他のインテントを要求で示されます。例として、フライト予約タスクの中で、ユーザーは特定のインテントを使用して目的地の天気予報を要求します。
もう 1 つのインテントを要求
このオプションでは、ユーザーの発話がタスクから逸脱した場合のボットの動作を定義することができます。
- 別のインテントを要求しそうなユーザー応答を入力します。
- 使用できるリストからインテントを選択するか、あるいは新しいインテントを作成することができます。
- 新しいインテントへの遷移を設定することができます。
- 割り込みによって、ユーザーは別のタスクに切り替えることができ、また追加の発話を設定することができます。割り込みの処理についての詳細は、こちらをご参照ください。
- サブインテントによって、ユーザーは関連するインテントにシームレスに分岐でき、また動作を見ることができます。サブインテントについての詳細は、こちらをご覧ください。