チャットBotの概要
会話型ボット
Kore.ai のアプローチ
Kore.ai 会話型プラットフォーム
ボットの概念と用語
自然言語処理 (NLP)
ボットタイプ
ボットタスク
Kore.ai プラットフォームを使う
ボットビルダーのアクセス
Kore.ai ボットビルダーを使う
初めてのボット構築
ボット構築を始める
シンプルなボットを構築
ボットビルダー
標準ボットの構築
設計
開発 - 標準ボット
ストーリーボード
ダイアログタスク
ユーザーインテントノード
ダイアログノード
エンティティノード
サポートするエンティティタイプ
複合エンティティ
サポートする色
サポートする会社名
フォームノード
ロジックノード
メッセージノード
確認ノード
サービスノード
カスタム認証の実装
サービスノード用双方向 SSL
スクリプトノード
エージェント転送ノード
Webフックノード
ノードのグループ化
接続と遷移
ダイアログの管理
プロンプトエディタ
アラートタスク
アラートタスク (英語)
無視する単語 & フィールドメモリ
デジタルフォーム
デジタルビュー
知識グラフ
用語
構築
生成
ボットオントロジーのインポート/エクスポート
解析
知識の抽出
スモールトーク
自然言語
概要
機械学習
ML (機械学習) モデル
基本概念
NLP (自然言語処理) の設定 & ガイドライン
知識グラフのトレーニング
示唆
ランキング & リゾルバ
高度な NLP 設定
インテリジェンス
概要
コンテキスト管理
セッションおよびコンテキスト変数
コンテキストオブジェクト
ダイアログ管理
サブインテント
エンティティの変更
複数インテントの検出
センチメント分析 (英語)
トーン分析
センチメント管理
デフォルトの会話
デフォルトの標準レスポンス
チャネルの有効化
テスト & デバグ
ボットと会話
発話テスト
バッチテスト
会話の記録 & テスト
ボットの公開
ボットの分析
概要
ダッシュボード
カスタムダッシュボード
会話フロー
ボットメトリクス (英語)
アドバンスド トピック (英語)
ボット認証
言語管理
共同開発
IVR 統合
データ テーブル
ユニバーサル ボット
定義
構築
トレーニング
カスタマイズ
言語の有効化
スマート ボット
スマート ボットの定義
イベントベースのボットアクション
koreUtil ライブラリ
ボット設定
ボットの機能
ボット設定
PII 設定
エラーメッセージのカスタマイズ
セッションを管理する
ボット管理
ボットのバージョン
ボット変数
API ガイド (英語)
API 概要
API リスト
API コレクション
SDK (英語)
SDK 概要
SDK セキュリティ
SDK アプリ登録
Web 上の SDK チュートリアル
メッセージ形式とテンプレート
モバイル SDK プッシュ通知
メッセージ形式とテンプレート
ウィジット SDK チュートリアル
WebSocket 接続
BotKit SDK の利用
インストール
設定
イベント
機能
BotKit SDK チュートリアル - エージェント転送
BotKit SDK チュートリアル - フライト検索サンプルボット
外部 NLP エンジンの利用
ボット管理者 (英語)
ボット管理者コンソール
ダッシュボード
ユーザー管理
御社ユーザーの管理
御社グループの管理
ロールを管理
ボット管理
エンロール
ユーザーの招待
一括招待
ユーザーのインポート
AD からユーザーを同期
セキュリティ & コンプライアンス
シングル サインオンを使う
セキュリティの設定
クラウド コネクタ
分析
請求処理
How To
シンプルなボットの構築
バンキングボットの構築
送金タスク
残高の更新タスク
知識グラフを作成
知識グラフへ抽出したFAQを入力
スマート アラートのスケジュール
エージェント転送の設定
パネルやウィジットの設定
デジタル ビューの設定
デジタル フォームの設定
データをデータテーブルに追加
データテーブルのデータを更新
フォームデータをデータテーブルに追加
コンテキストの切り替え
意図を使う
インテントやエンティティのパターン
エンティティ ルール
マルチ言語なボットの動き
カスタム ダッシュボード
ボット メトリクスをフィルターするためのカスタムタグ
グローバル変数
コンテンツ変数
ボット機能を使う
ボットリリースのライフサイクル
グループノードを利用したインテントのスコーピング
Kore-Unblu インテグレーション
  1. Home
  2. Docs
  3. Bots
  4. Bot Building
  5. Dialog Task
  6. エンティティノードでの作業

エンティティノードでの作業

ボットはユーザーのインテントを満たすために、ユーザーの発言から関連情報を抽出する必要があります。

発言サンプルを見てみましょう:「日曜日発のLAからNYCまでのフライトを予約してください。」。航空券を予約するというユーザーのインテントに基づいて動作するためには、ボットは出発地 (LA) 、目的地 (NYC) 、出発日 (日曜日) などのエンティティを抽出する必要があります。

ダイアログタスクでは、ユーザーの発言から取得したい重要なデータごとに、対応するエンティティノードを作成する必要があります。これらのノードにプロンプトメッセージを追加して、ユーザーが必要な値を入力できるようにすることができます。
Kore.aiは住所、空港、数量、タイムゾーンなど、30種類以上のエンティティをサポートしています。またリストからの選択、自由形式の入力、ユーザーからのファイルや画像の添付、正規表現としてエンティティを定義することができます。

注意:ユーザー名、場所、金額や期日などの一連のユーザー入力を収集して取引を完了させるためには、1つのエンティティノードを他のいくつかのエンティティノードでフォローし、その後にWebフックノードでAPIへのリクエストを処理してオンライン取引を完了させる必要がある場合があります。

エンティティノードの設定

ダイアログタスクでエンティティノードを設定するには、次のステップを実行します。

ダイアログタスクにエンティティノードを追加する

  1. エンティティノードを追加するところでダイアログタスクを開きます。
  2. エンティティノードを追加するノードの隣のノードにカーソルを合わせ、その上のプラスアイコンをクリックします。
  3. エンティティ > 新規エンティティノードを選択します (既存のエンティティノードをリストから選択して使用することもできます) 。
  4. エンティティノードのコンポーネントプロパティパネルが開きます。

コンポーネントプロパティを設定する

エンティティのコンポーネントプロパティでは、一般設定およびユーザーとエラープロンプトを設定することができます。

注意:このセクションにおける設定や調整は、このノードを使用する他のすべてのダイアログタスクに反映されます。

  1. エンティティノードの名前表示名を入力します。エンティティ名にスペースを含めることはできません。
  2. タイプのドロップダウンから、期待されるユーザー入力に応じてエンティティタイプを選択します。たとえば、ユーザーに出発日を入力させたい場合、ドロップダウンから 日付 を選択します。プラットフォームは、選択されたタイプに基づく基本的な検証を行います。
    エンティティタイプは、認識とシステムパフォーマンスの向上のため、ユーザーの発言から期待されるデータのタイプをNLPインタプリタに提供します。詳細については、エンティティタイプを参照してください。
  3. 選択されたタイプにより、エンティティをマルチアイテムとして設定し、ユーザーが複数選択できるようにするオプションがある場合があります。
  4. [ユーザー プロンプト] セクションに、このエンティティに対してユーザーに表示するプロンプト メッセージを入力します。例: 出発日を入力してください。
    1. ユーザー プロンプトには、チャネル特定のメッセージを入力できます。詳しくは、「プロンプト エディタの使用」をご覧ください。
    2. 次のようにして、この特定のインスタンスだけに対するユーザー プロンプトを上書きできます。
      上書きするには、

      1. 右側の [設定] アイコンをクリックします。
      2. [このインスタントを上書き] トグルを有効にします。このオプションを有効にすると、この特定のインスタンスだけに対するユーザー プロンプトを入力できるようになります。このオプションを無効にすると、インスタンス固有のプロンプトは削除され、コンポーネントのプロパティに戻ります。
  5. [エラー プロンプト] セクションでデフォルトのエラー メッセージを確認して、必要に応じて編集します。
    1. エラー メッセージを管理するには、[エラー メッセージを管理] をクリックします。詳しくは、くは、「プロンプト エディタの使用」をご覧ください。
    2. この特定のインスタンスだけに対するユーザー プロンプトを上書きできます。
      上書きするには、

      1. 右側の [設定] アイコンをクリックします。
      2. [このインスタントを上書き] を有効にします。このオプションを有効にすると、この特定のインスタンスだけに対するユーザー プロンプトを入力できるようになりますトグル。このオプションを無効にすると、インスタンス固有のプロンプトは削除され、コンポーネントのプロパティに戻ります。
    3. エラー メッセージは並べ替えることができます。並べ替えるには、
      1. 右側の [設定] アイコンをクリックします。
      2. [再試行の順序でプロンプトを表示] トグルを有効にします。このオプションを有効にすると、各エラー プロンプト メッセージの前にハンドル バー アイコンが表示されるようになります。これを使って、メッセージの順序を入れ替えて表示させることができます。
  6. 変数名前空間]セクション(ver8.0で導入)で、このノードとその遷移の実行に使用される変数名前空間を関連付けます。このオプションは、ボットで変数名前空間が有効になっている場合にのみ表示されます。タスクレベルの設定を使用するか、このノード用にカスタマイズできます。詳細については、「名前空間の管理」を参照してください

インスタンスプロパティを設定する

インスタンスプロパティを使用して、エンティティの値を必須にするかどうかを決定し、エンティティをキャプチャするために以前のユーザーの発言からの値を考慮するかどうかを選択します。

注意:インスタントプロパティパネルの設定は現在のダイアログタスク固有のものであり、このエンティティノードを使用する他のダイアログタスクには反映されません。

  1. ユーザー入力 エンティティノードのインスタンスプロパティアイコンをクリックします。
    • 必須: 必須エンティティです。ダイアログ フローを続行する前に、有効なエントリーを入力する必要があります。発話内にエンティティのあいまいな値が検出された場合、ユーザーに解決させるためのプロンプトが表示されます。
      [最大再試行回数] を 1 から 5 の間の値で設定して、ユーザーにこのエンティティ値の入力を求める回数を指定することができます (デフォルトは 5)。さらに、ボットの [再試行回数超過時の動作] を定義して、ダイアログの終了やノードの切り替えをトリガーするように設定できます。これにより、[再試行回数超過時の動作] という名称の [接続ルール] が作成されます。再試行回数超過時にユーザーに表示されるメッセージは、[標準応答] からカスタマイズすることができます。詳しくは、こちらをご覧ください。
    • 任意: システムはこのエンティティに対して一度だけプロンプトを表示し、ユーザーのすべての入力を処理します。これらの任意のエンティティに対するあいまいな値がユーザーの発話内に検出された場合、ユーザーに正しい値を選択させて解決するためのプロンプトが表示されます。
      [デフォルト値] フィールドに値を設定すると、タスクの実行がこのエンティティに到達してユーザーがプロンプト時に値を入力しなかった場合、また前の発話から有効な値が得られなかった場合に、このエンティティに割り当てることができます。
    • 非表示: 有効にすると、ボットはエンティティ値の入力を求めません。この値は、ユーザーが前の発話でエンティティ値を明確に提供した場合に考慮されます。
      [デフォルト値] フィールドに値を設定すると、タスクの実行がこのエンティティに到達して前の発話から有効な値が得られなかった場合に、このエンティティに割り当てることができます。
  2. セクションで、オプションを選択します (エンティティ フローの管理については、以下をご覧ください)。
    • 必須:このエンティティは必須であり、ユーザーはダイアログフローを進める前に有効なエントリーを提供しなければなりません。ユーザーの発言でエンティティのあいまいな値が検出された場合、ユーザーに解決させるためのプロンプトが表示されます。
    • 任意:ユーザーはこのエンティティに対しては一度だけプロンプトが表示され、システムはユーザーによって提供されたすべての入力を処理します。ユーザーの発言でこれらのオプションのエンティティのあいまいな値が検出された場合、ユーザーに正しい値を選択させて解決するためのプロンプトが表示されます。
    • 非表示:有効にすると、ユーザーが明確にエンティティの値を提供しない限り、ボットはエンティティの値の入力を要求しません。
  3. ユーザー入力補正 セクション (このセクションはプラットフォームの ver7.3に導入済み) で、ユーザー入力を自動補正する必要があるかどうかを定義します。このオプションは文字列型エンティティでのみ利用可能です。2つのオプションは次のとおりです。
    • デフォルト設定はユーザー入力を自動補正するになっています。プラットフォームは、標準の辞書の上に、すべての同義語、タスク名、パターン単語、および世間話の発言の単語を含めるために、各ボット用のカスタム辞書を構築します。この機能がサポートされていない言語があります。詳細については、こちらを参照してください
    • ユーザー入力を自動補正しない
      後方互換性を確保するために、以下の設定が既存のボットに適用されます (ver7.3より古いボットをver7.3に移行する場合) :

      旧状態 (エンティティ抽出) 新状態 (ユーザー入力補正)
      前回の発言の未使用テキストを評価する ユーザー入力を自動補正しない
      過去の発言からエンティティの抽出に使われたテキストと未使用テキストを評価する ユーザー入力を自動補正しない
      前の発言を評価せず、ユーザーに明確にプロンプトする-自動補正しない[有効] ユーザー入力を自動補正しない
      前の発言を評価せず、ユーザーに明確にプロンプトする-自動補正しない[無効] ユーザー入力を自動補正する
  4. エンティティの抽出セクションには、以下のオプションのいずれかを選択します。
    • 以前の発言で未使用のテキストを評価:このオプションを選択すると、エンティティはこれまでダイアログ内の他のエンティティによって使用されなかったテキストを使用します。
    • 以前の発言から未使用のテキストとエンティティの抽出に使用したテキストを評価する:ダイアログ内で別のエンティティノードにより抽出されたエンティティ値を再利用したい場合は、このオプションを選択します。
    • 以前の発言を評価せず、ユーザーに明確にプロンプトする:ボットが以前のユーザーの発言を無視し、ユーザーに明確にエンティティの値を提供するように促す場合は、このオプションを選択します。
      • さらに、再利用しないのオプションを選択することで、このエンティティに提供された入力を再利用して他のエンティティを抽出することからプラットフォームを制限することができます。
  5. これらのオプションを設定するには、高度なコントロールをクリックします。
    • ユーザープロンプトクリックして無効にするボタンを使用して、エンティティノードのこの特定のインスタンスに対してカスタムユーザープロンプトを記述します。コンポーネントプロパティパネルのユーザープロンプトセクションは無効になります。また、これらのユーザープロンプトは、ノードの他のインスタンスには適用されません。
    • エラープロンプトクリックして無効にするボタンを使用して、エンティティノードのこの特定のインスタンスに対してカスタムエラープロンプトを記述します。コンポーネントプロパティパネルのエラープロンプトセクションは無効になります。また、これらのエラープロンプトは、ノードの他のインスタンスには適用されません。
    • インテント検出 (文字列と説明エンティティにのみ適用されます) 。これらのオプションのうち1つを選択すると、ボットが文字列または説明エンティティのユーザーエントリーの一部としてのエンティティに遭遇した場合の動作を決定することができます。
      • 入力をエンティティ値として受入れ、検出されたインテントを破棄する:ボットはユーザーの入力を文字列または説明としてキャプチャし、インテントを無視します。
      • ユーザー入力をインテントとして優先し、保留と再開設定で処理する:ユーザー入力はインテント検出とみなされ、保留と再開設定に従って処理されます。
      • 処理についてユーザーに確認する:インテントかエンティティかをユーザーが指定できるようにします。
  6. 保留と再開でこのノードでの割り込み処理を定義するには、以下から選択します。
    • タスクレベルの「保留と再開」設定を使用する:ボットは、ダイアログタスクレベルで設定された保留と再開の設定を参照します。
    • このノード用にカスタマイズするオプション:このオプションを選択して同じように構成することで、このノードの保留と再開設定をカスタマイズできます。 詳細については、割り込み処理とコンテキスト切り替えの記事を参照してください。
  7. 優先順位 (文字列と説明ノードを除くすべてのエンティティ型に適用) :あるエンティティに対するユーザーの入力が、そのエンティティに対する有効な値と別のインテントからなる場合、『エンティティよりインテントを優先』か『インテントよりエンティティを優先』のどちらかを選択することで、動作を制御することができます。たとえば、フライト予約ボットが目的地の入力を促し、ユーザーが『バンガロール、そこの天気はどうだ?』と入力した場合、ボットの反応を定義することができます。エンティティを選択し、インテントをフォローアップインテントのスタックに追加したり、または保留と再開設定に基づいて最初にインテントを実行するかです。
  • カスタムタグでは、ボットの会話のカスタムプロファイルを構築するためのタグを定義します。詳細については、こちらを参照してください。
  • ユーザー入力フロー

    ユーザーが入力を促されると、プラットフォームが行う処理は以下のようになります。

    • ユーザーが有効な値を返した場合、エンティティにはその値が入力され、ダイアログフローは続行されます。
    • ユーザーの応答であいまいな値が識別された場合、あいまいさ解決のためのプロンプトが表示されます。
    • ユーザーが無効な発言、つまりあいまいさ解決のための有効な入力が含まれていない発言で応答した場合:
      • 与えられた値がエンティティに対して有効であれば (エンティティに対して使用可能な任意の値) 、その値がエンティティに使用され、会話は継続されます。
      • 与えられた値がエンティティに対して有効でない場合、そして
        • 値がタスクインテント、FAQや世間話を作動させた場合、
          • インテントは保留と再開の設定に従って実行され、 (エンティティを含む) ダイアログが再開されたとき (再開された場合) 、ユーザーはエンティティの値の入力を再び促されます。
        • この値が、タスクインテント、FAQ、世間話を作動させない場合は、エンティティは空白のままとなり、エンティティの遷移点から会話が継続されます。

    接続プロパティを設定する

    ダイアログタスク内の任意のエンティティまたはコンテキストオブジェクトの値に基づいて条件文を記述したり、遷移にインテントを使用することができます。
    コンポーネントの遷移を設定するには、次のステップを実行します。

    1. デフォルト接続の下にある利用可能なノードから選択できます。
    2. 条件付きフローを構成するには、IFを追加をクリックします。
    3. 次のいずれかの基準に基づいて条件式を設定します。
      1. エンティティ:これらの演算子のいずれかを使用して、ダイアログ内のエンティティノードを特定の値と比較します。存在する等しいより大きいか等しいより小さいか等しい等しくないより大きいより小さい。それぞれのドロップダウンリストを使用するエンティティ、演算子を選択し、ボックスに数値を入力します。例:PassengerCount (エンティティ) が5 (指定された値) より大きい (演算子)
      2. コンテキスト:これらの演算子のいずれかを使用して、ダイアログ内のコンテキストオブジェクトを特定の値と比較します。b>存在する、等しいより大きいか等しいより小さいか等しい等しくないより大きいより小さい。Context.entity.PassengerCount (コンテキストオブジェクト) が5 (指定された値) より大きい (演算子)
      3. インテント:次のユーザー発言と一致するインテントを選択します。
    4. Then go toのドロップダウンリストから、条件式が成功した場合にダイアログフローで実行する次のノードを選択します。たとえば、PassengerCount (エンティティ) が5 (指定された値) より大きい (演算子) 場合、次に (Then go to) Offers (サブダイアログ) に進みます。
    5. Elseのドロップダウンリストから、条件式が失敗した場合に実行するノードを選択します。
    注意:複数のIf条件を書く場合は、最後のIf条件式の下でElse Ifを追加するをクリックしてください。

    NLPプロパティを設定する

    1. < エンティティ名>の提案同義語ボックスに、エンティティ名の同義語を入力します。各入力のあとにEnterキーを押して保存します。詳細については、同義語の管理を参照してください。
    2. <エンティティ名>の提案パターンで、+パターンを追加をクリックして、エンティティ用の新しいパターンを追加します。パターンフィールドが表示されます。詳細については、パターンの管理を参照してください。
    3. コンテキストの管理
      • このエンティティが、コンテキスト出力フィールドを使用して入力されたときにコンテキストに設定されるコンテキストタグを定義します。
      • コンテキストオブジェクトの一部としてキャプチャしたエンティティ値を自動的に発行します。
        (コンテキストの管理についてはこちらを参照してください。)

    IVRプロパティの設定

    このタブを使用して、IVRチャンネルで使用するこのノードの入力モード、文法、プロンプト、呼び出し動作のパラメータをノードレベルで定義することができます。詳細はこちらをご覧ください

    メニュー