OVERVIEW
Virtual Assistants
Kore.ai Platform
Key Concepts
Natural Language Processing (NLP)
Accessing Platform
VIRTUAL ASSISTANTS
Virtual Assistant Builder
Virtual Assistant Types
Getting Started
Creating a Simple Bot
SKILLS
Storyboard
Dialog Task
Introduction
Dialog Builder (New)
Dialog Builder (Legacy)
User Intent Node
Dialog Node
Entity Node
Supported Entity Types
Composite Entities
Supported Colors
Supported Company Names
Form Node
Logic Node
Message Nodes
Confirmation Nodes
Bot Action Node
Service Node
Custom Authentication
2-way SSL for Service nodes
Script Node
Agent Transfer Node
WebHook Node
Grouping Nodes
Connections & Transitions
Manage Dialogs
User Prompts
Knowledge Graph
Terminology
Building
Generation
Importing and Exporting
Analysis
Knowledge Extraction
Build
Alert Tasks
Introduction
Ignore Words and Field Memory
How to Schedule a Smart Alert
Small Talk
Digital Views
Overview
Configuring Digital Views
Digital Forms
Overview
How to Configure Digital Forms
NATURAL LANGUAGE
Overview
Machine Learning
Introduction
Model Validation
Fundamental Meaning
Introduction
NLP Guidelines
Knowledge Graph
Traits
Introduction
How to Use Traits
Ranking and Resolver
Advanced NLP Configurations
INTELLIGENCE
Overview
Context Management
Overview
Session and Context Variables
Context Object
How to Manage Context Switching
Manage Interruptions
Dialog Management
Sub-Intents & Follow-up Intents
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Event Based Bot Actions
Default Conversations
Default Standard Responses
TEST & DEBUG
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
CHANNELS
PUBLISH
ANALYZE
Overview
Dashboard
Custom Dashboard
Overview
How to Create Custom Dashboard
Conversation Flows
NLP Metrics
ADVANCED TOPICS
Universal Bots
Overview
Defining
Creating
Training
Customizing
Enabling Languages
Store
Smart Bots
Defining
koreUtil Libraries
SETTINGS
Authorization
Language Management
PII Settings
Variables
Functions
IVR Integration
General Settings
Management
Import & Export
Delete
Versioning
Collaborative Development
PLAN & USAGE
Overview
Usage Plans
Support Plans
Invoices
API GUIDE
API Overview
API List
API Collection
SDKs
SDK Overview
SDK Security
SDK App Registration
Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Widget SDK Tutorial
Widget SDK – Message Formatting and Templates
Web Socket Connect & RTM
Using the BotKit SDK
Installing
Configuring
Events
Functions
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
ADMINISTRATION
HOW TOs
Creating a Simple Bot
Creating a Banking Bot
Context Switching
Using Traits
Schedule a Smart Alert
Configure UI Forms
Add Form Data into Data Tables
Configuring Digital Views
Add Data to Data Tables
Update Data in Data Tables
Custom Dashboard
Custom Tags to filter Bot Metrics
Patterns for Intents & Entities
Build Knowledge Graph
Global Variables
Content Variables
Using Bot Functions
Configure Agent Transfer
Update Balance Task
Transfer Funds Task
RELEASE NOTES
  1. ホーム
  2. Docs
  3. Virtual Assistants
  4. Builder
  5. Dialog Task
  6. エンティティノード

エンティティノード

ボットは、ユーザーインテントを満たすために、ユーザーの発話から関連する情報を抽出する必要があります。このサンプル発話を見てみましょう。“日曜日のLAからNYCへのフライトを予約したいのですが”。航空券を予約するというユーザーインテントに応えるために、ボットは“出発地”(LA)、“目的地”(NYC)、“出発日”(日曜日)などのエンティティを抽出する必要があります。そのため、ダイアログタスクでは、ユーザーの発話から手に入れたい重要なデータごとに、対応するエンティティノードを作成する必要があります。これらのノードには、ユーザーが必要な値を入力するためのプロンプトメッセージを追加することができます。Kore.aiは、住所、空港、数量など30種類以上のエンティティタイプをサポートしています。また、エンティティを、リストからの選択、自由形式の入力、ユーザーからのファイルや画像の添付、あるいは正規表現として定義することもできます。

メモ:ユーザー名、位置、金額、期日など、トランザクションを完了させるための一連のユーザー入力を収集するために、1つのエンティティノードを他の複数のエンティティノードでフォローし、さらに、オンライントランザクションを完了させるためのAPIへのリクエストを処理するためにWebhookノードをフォローする必要があります。

セットアップ

ダイアログタスクでのエンティティノードの設定は、以下の手順で行います。

ノードの追加

  1. ダイアログタスクを開き、エンティティノードを追加します。
  2. 指定された場所にエンティティノードを追加します。ノードの追加手順についてはこちらをご参照ください
  3. 「エンティティ」ウィンドウは、デフォルトではコンポーネントプロパティタブを選択した状態で表示します。

ノードの設定

コンポーネントプロパティ

「エンティティ」ウィンドウでは、一般設定、ユーザー、エラープロンプトを設定できます。

メモ:このセクションで設定または変更した構成は、このノードを使用する他のすべてのダイアログタスクに反映されます。
  1. コンポーネントプロパティタブの一般設定セクションにおいて、エンティティノードの名前および表示名 を入力します。エンティティ名にスペースを含めることはできません。
  2. タイプドロップダウンリストから、想定されるユーザー入力に応じてエンティティタイプを選択します。例として、ユーザーが出発日を入力する場合は、ドロップダウンから 日付 を選択します。プラットフォームは、選択されたタイプに基づいて基本的な検証を行います。エンティティタイプは、ユーザーの発話から想定されるデータのタイプをNLPインタプリターに提供し、認識およびシステムパフォーマンスを向上させます。詳細情報については、エンティティタイプをご参照ください。
  3. 選択したタイプに基づいて、エンティティを複数アイテムに設定して、ユーザーに複数選択権を与えるオプションがあります。
  4. ユーザープロンプトセクションでは、このエンティティに関してユーザーに見てもらいたいプロンプトメッセージを入力します。例として、“出発日を入力します”。
    1. 管理リンクを使用して、ユーザープロンプトのチャネル固有のメッセージを入力できます。詳細情報については、プロンプトエディターの使用をご参照ください。
    2. この特定のインスタンスは、ユーザープロンプトを上書きできます。上書きするには、
      • 右側の設定アイコンをクリックします。
      • このインスタンスを上書きする のトグルを有効にします。このオプションを有効にすると、この特定のインスタンスのユーザープロンプトを入力できるようになります。このオプションを無効にした場合、インスタンス固有のプロンプトは削除され、さらにコンポーネントのプロパティに戻されます。
  5. エラープロンプトセクションでは、デフォルトのエラーメッセージを見直し、必要に応じてエラーメッセージを修正することができます。
    1. エラーメッセージを管理するには、管理リンクをクリックします。詳細情報については、プロンプトエディターの使用をご参照ください。
    2. この特定のインスタンスは、ユーザープロンプトを上書きできます。上書きするには、
      • 右側の設定アイコンをクリックします。
      • このインスタンスを上書きする のトグルを有効にします。このオプションを有効にすると、この特定のインスタンスのユーザープロンプトを入力できるようになります。このオプションを無効にした場合、インスタンス固有のプロンプトは削除され、さらにコンポーネントのプロパティに戻されます。
    3. また、エラーメッセージを順序付けることもできます。順序付けるには、
      • 右側の設定アイコンをクリックします。
      • 再試行の順序にプロンプトを表示のトグルを有効にします。このオプションを有効にすると、各エラープロンプトメッセージの前にハンドルバーのアイコンが表示されます。これを使用すると、メッセージの順序を変更し、新しい順序で表示できるようになります。

        この画像は新しいダイアログビルダーに対応していますが、従来のビルダーでも同じ位置(つまり、エンティティノード->コンポーネントのプロパティ)でこの特徴を見つけることができます。
  6. 可変ネームスペースセクションでは、[可変ネームスペース]を関連付けてこのノードとその遷移を実行します。このオプションは、可変ネームスペースがボットに対して有効になっている場合にのみ表示されます。タスクレベルの設定を使用するか、またはこのノード用にカスタマイズできます。詳細情報は、ネームスペースの管理をご参照ください。

インスタンスプロパティ

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

メモ:インスタンスプロパティタブの設定は、現在のダイアログタスクに固有のものなので、このエンティティノードを使用している他のダイアログタスクに反映されることはありません。
  1. 「エンティティ」ウィンドウで、インスタンスプロパティタブをクリックします。
  2. ユーザー入力セクションにおいてオプションを選択します(エンティティフローの管理方法については、以下のセクションをご参照ください):
    • 必須:このエンティティは必要であり、ユーザーはダイアログフローを続行する前に有効なエントリを提供する必要があります。ユーザーの発話でエンティティに曖昧な値が検出された場合は、ユーザーが解決しなければならないプロンプトが表示されます。許可された再試行回数を1~5の間の任意の値(デフォルトは5)に設定することで、ユーザーが指示されてこのエンティティ値を入力する回数を設定することができます。さらに、ボットの再試行回数超過時の動作を定義することができます。これは、“ダイアログの終了”または“ノードへの遷移”をトリガーするように設定することができます。これにより、“再試行回数超過時の動作という接続ルールが作成されます。”再試行回数が超過したときにユーザーに表示されるメッセージは、標準レスポンスからカスタマイズすることができます(こちらをご参照ください)。
    • オプション:ユーザーはこのエンティティ入力を1回だけ指示されるだけで、システムはユーザーから提供されたすべての入力を続行します。これらのオプションのエンティティに対する曖昧な値がユーザーの発話で検出された場合、ユーザーが正しい値を選択できるように解決プロンプトが表示されます。デフォルト値フィールドに値を設定できます。この値は、タスクの実行がこのエンティティに到達し、ユーザーが指示されてもも値を入力せず、かつ以前の発話から値が得られない場合に、このエンティティに割り当てられます。
    • 非表示:有効にすると、ボットはエンティティ値の入力を指示されません。この値は、以前の発話でユーザーが明示的に提供した場合に考慮されます。デフォルト値フィールドに値を設定できます。この値は、タスクがこのエンティティで実行され、以前の発話から得られる値がなくなった場合に、このエンティティに割り当てられます。
  3. ユーザー入力修正セクション(v7.3)において、ユーザー入力を自動修正すべきであるかを定義します。このオプションは、文字列タイプのエンティティでのみ使用できます。以下の2つのオプションがあります。
    • ユーザー入力を自動修正するがデフォルト設定です。プラットフォームは、すべての同義語、タスク名、パターン語、およびスモールトークの発話語を標準辞書の上に含めるために、各ボットのカスタム辞書を構築します。この機能はあらゆる言語においてサポートされているわけではありません。詳細はこちらをクリックしてください
    • ユーザー入力を自動修正しない下位互換性を確保する目的で、以下の設定が既存のボットに適用されることになります(v7.3以前のボットからv7.3に移行):
      古い状態(エンティティ抽出) 新しい状態(ユーザー入力修正)
      以前の発話から未使用のテキストを評価します。 ユーザー入力を自動修正しない。
      以前の発話からエンティティを抽出するために未使用のテキストと使用済みテキストを評価します。 ユーザー入力を自動修正しない。
      以前の発話を評価せず、ユーザーに明示的に指示します – 自動修正しない[有効]。 ユーザー入力を自動修正しない。
      以前の発話を評価せず、ユーザーに明示的に指示します – 自動修正しない[無効]。 ユーザー入力を自動修正する。
  4. エンティティ抽出セクションで、以下のいずれかのオプションを選択します。
    • 以前の発話で未使用のテキストを評価する。:このオプションを選択した場合、エンティティは、これまでのダイアログにおいて他のエンティティが使用していなかったテキストを使用します。これはデフォルトのオプションです。
    • 以前の発話からエンティティを抽出するために、未使用のテキストと使用済みテキストを評価します: ダイアログの中の他のエンティティノードによって抽出されたエンティティ値をもう一度使用したい場合は、このオプションを選択します。
    • 以前の発話を評価せず、ユーザーに明示的に指示します:ボットが以前のユーザーの発話を無視して、ユーザーにエンティティ値を入力するように明示的に指示する場合は、このオプションを選択します。
      • さらに、再使用しないオプションを選択することで、このエンティティが他のエンティティを抽出するために提供された入力を再使用することをプラットフォームに制限させることができます。
  5. エンティティルールセクションでは、ユーザー入力を検証するルールを設定できます。
  6. 高度な管理をクリックして、これらのオプションをセットアップします。
    • インテント検出(文字列および説明エンティティにのみ適用):これらのオプションのいずれかを選択して、ボットが文字列または説明エンティティのユーザーエントリーの一部としてエンティティに出会った場合のアクションコースを決定します。
      • 入力をエンティティ値として受け入れ、検出されたインテントを破棄します:ボットは、ユーザー入力を文字列や説明としてキャプチャし、インテントを無視します。
      • ユーザー入力をインテントとして優先し、保留と再開の設定を続行します:ユーザー入力はインテント検出の対象とみなされ、一時停止・再開の設定に従って続行します。
      • ユーザーに続行の方法を尋ねます:ユーザーがインテントまたはエンティティのどちらを意味するかを指定できるようにします。
    • 割り込み動作:このノードでの割り込み処理を定義すること。以下のオプションから選択できます。
      • タスクレベルの「割り込み動作」設定を使用します:ボットは、ダイアログタスクレベルで設定された割り込み動作の設定を参照します。
      • このノードオプションのカスタマイズ:このオプションを選択してその設定を行うことで、このノードの割り込み動作の設定をカスタマイズできます。詳細情報については、割り込み処理とコンテキストの切り替えの記事をお読みください。
    • 優先順位 (“文字列および説明ノードを除いたあらゆるエンティティタイプに適用されます”):エンティティに対するユーザー入力が、エンティティの有効値と別のインテントで構成されている場合、エンティティに対するインテントまたはインテントに対するエンティティのオプションを選択して、体験を制御できます。例として、フライト予約ボットが目的地の入力を指示し、ユーザーが「バンガロール、天気はどうですか」と入力した場合、ボットがこのような場合にどのように応答するかを定義することができます。エンティティを選択してインテントをフォローアップインテントスタックに追加するか、割り込み動作設定に基づいて最初にインテントを実行します。
    • カスタムタグ:タグを追加して、ボット会話のカスタムプロファイルを構築します。詳しくはこちらをクリックしてください

ユーザー入力フローユーザーが入力を指示されたとき、プラットフォームが実行するプロセスは以下のとおりです。

  • ユーザーが有効値で応答した場合、その値がエンティティに入力され、ダイアログフローは続行します。
  • ユーザーの応答に曖昧な値が識別された場合、曖昧さ解決プロンプトが表示されます。
  • ユーザーが無効な発話、つまり、曖昧さ解決のための有効な入力を含まない発話で応答した場合は:
    • 指定された値がエンティティに対して有効(エンティティに対して可能な任意の値)である場合、その値はエンティティに対して使用され、会話が継続されます。
    • 指定された値がエンティティに対して有効ではなく、その値がタスクインテント、FAQ、スモールトークなどのトリガーになっている場合は:
      • インテントは一時停止と再開の設定に従って実行され、(エンティティを含む)ダイアログが再開されたとき(およびその場合)、ユーザーはエンティティ値の入力を指示されます。
      • 値がどのタスクインテント、FAQ、またはスモールトークをトリガーしない場合は、エンティティは空白のままであり、会話はエンティティの遷移から継続します。
  • ユーザーが再試行回数制限を超えた場合、再試行回数超過に対して定義された動作がトリガーされます。これが子タスクであって、動作がダイアログを終了させるように設定されているならば、親タスクも終了してしまうことに留意してください。

NLPプロパティ

  1. NLPプロパティタブの同義語候補の対象<エンティティ名>セクションで、エンティティの同義語を入力します。
  2. 各エントリ後に入力をクリックすると、各エントリが保存されます。詳細情報については、同義語の管理をご参照ください。
  3. 推奨パターン 対象の <ンティティ名 >セクションで、 +パターンの追加 をクリックして、エンティティに新しいパターンを追加します。パターン フィールドが表示されます。詳細情報については、パターンの管理をご参照ください。
  4. 管理コンテキストセクションでは、コンテキスト出力フィールドで、このエンティティがよく使われる際にコンテキストに設定するコンテキストタグを定義します。
  5. キャプチャされたエンティティ値を自動発出する オプションは、コンテキストオブジェクトの一部として選択できます。

コンテキスト管理関連はこちらをクリックしてください

IVRプロパティ

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

接続プロパティ

ノードの接続タブから、次に実行するダイアログタスクのノードはどれにするかを決定できます。条件文は、ダイアログタスク内の任意のエンティティやコンテキストオブジェクトの値に基づいて記述することも、遷移にインテントを使用することもできます。「コンポーネント遷移」のセットアップは、以下の手順に従います。

  1. 接続ルールセクションにおいて、デフォルトドロップダウンリストから、ノードを選択することができます。
  2. 条件付きのフローを設定するには、IFの追加をクリックします。
  3. インテントプロパティでエンティティ再試行回数超過時の動作を有効にしている場合は、ここに再試行回数超過時の動作の接続ルールが表示されます。
  4. 以下のいずれかの基準に基づいて、条件式を設定します。
    1. エンティティ:これらの演算子のいずれかを使用して、ダイアログ内のエンティティノードを特定の値と比較します。「存在する」「存在しない」「等しい」「等しいより大きい」「等しいより小さい」「等しくない」「より大きい」「より小さい」。それぞれのドロップダウンリストを使用して、エンティティ、演算子を選択し、ボックスに数値を入力します。例:“PassengerCount(エンティティ)は5(指定値)より大きい(演算子)”
    2. コンテキスト:これらの演算子のいずれかを使用して、ダイアログ内のコンテキストオブジェクトを特定の値と比較します。存在する、存在しない、等しい、等しいより大きい、等しいより小さい、等しくない、より大きい、より小さい。例: Context.entity.PassengerCount “(コンテキストオブジェクト)が(演算子)5(指定値)より大きい。”
    3. インテント:次のユーザーの発話に一致するインテントを選択します。
  5. 次へ進むドロップダウンリストから、条件式が成功した場合にダイアログフローで実行する次のノードを選択します。例として、“PassengerCount(エンティティ)が5(指定値)より大きい(演算子) ”場合、次へ進む“オファー(サブダイアログ)”になります。
  6. その他ドロップダウンリストで、条件が失敗した場合に実行するノードを選択します。
メモ:複数のIf条件を書きたい場合は、最後のIf条件式の下のその他の条件を追加をクリックします。
メニュー
Kore.ai Named a Leader in 2022 Gartner® Magic Quadrant™ for Enterprise Conversational AI PlatformsGet the Report