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. Advanced Topics
  5. ユニバーサルボットのトレーニング

ユニバーサルボットのトレーニング

ユニバーサルボットをトレーニングして、インテントが特定される最も関連性の高いリンクボットに誘導することができます。呼び出しフレーズとトレーニング発話を組み合わせて使用し、ボット識別トレーニングを定義することができます。

ユニバーサルボットのトレーニングは、以下の理由により必要不可欠です。

  • ユーザーの発話が関連するリンク先のボットにルーティングされるようにするため。
  • トレーニング発話または呼び出し名は、ユニバーサルボットがリンクされたボットを識別するのに役立ち、ユーザーの発話をこれらの識別済みのリンクされたボットにルーティングします。
  • リンクされたボットが適格でない場合は、発話が、リンクされたボットにフォールバックボットとしてルーティングされます。
  • 発話テストモジュールからリンクされたボットの特定フローを確認することが不可欠です。

トレーニング

次のセクションでは、ユニバーサルボットを効率的かつ機能的にするためのトレーニング手順、およびベストプラクティスについて詳述しています。

ユニバーサルボットのトレーニングは、「ボットの識別」を目的としたものであり、標準ボットに用意されているような「インテントの識別」を目的としたものではないことを覚えておいてください。発話は、識別済みのリンクされたボット(何も識別されなかった場合はフォールバックボット)にルーティングされます。

ユニバーサルボットのトレーニングは、以下の3つの方法で行われます。

  1. 特定のリンクされたボットの特定のインテントを識別するための、呼び出しフレーズを使用したトレーニング。
  2. 特定のリンクされたボットを識別するのに役立つ、呼び出し名を使用したトレーニング。
  3. リンクされたボットをスコーピングするための、ユーザーの発話を使用したトレーニング。

注意: インクルーシブボットにはトレーニングは必要ありません。同一トレーニングを選択した場合、トレーニングはボットのスコーピングには使用されませんが、リンクされたボットがインクルーシブボットとして選択解除された場合、このトレーニングは後で使用されます。

トレーニングは、ユニバーサルボットの左ナビゲーションパネルの自然言語 > トレーニングオプションから行うことができます。

このドキュメントでは、お客様がすでにユニバーサルボットを作成し、ボットをリンクしていることが想定されていることにご注意ください。ステップはこちらを参照してください

呼び出しフレーズ

呼び出しフレーズとは、特定のリンクされたボットへの参照と、その特定のリンクされたボットからのインテントを含む典型的なフレーズを指します。

例えば、「休暇の残存日数が十分あるかどうか、人事部に確認してもらえませんか?」や、「Salesforceの最新のリードを表示してください」などです。

各呼び出しフレーズは以下のコンポーネントで構成されています。

  • リンク先のボットを特定するためのトリガーフレーズ。以下で構成されています。
    • トリガーワードのサポートは、プラットフォームがデフォルトで提供しており、このサポートは言語固有の値にも拡張されています。サポートされているトリガーワードの一覧は以下を参照してください。詳細は以下をご確認ください
    • 呼び出し名は、リンクされたボット名の同義語と見なすことができます。詳細は以下をご確認ください
  • インテントフレーズは、ユーザーが実行したいリンク先のボットに関連するタスクです。

パターン

トリガーフレーズと呼び出し名の存在は、以下のパターンルールに従うものとします。

パターン <trigger words> <intent words> <connecting words> <呼び出し名> <question words>
<intent words><connecting words><Invocation name> Not relevant * by, from, in, with, using User defined Not relevant
Get nearby restaurants using Zomato
<Trigger words><Invocation name>
{ <connecting words> }
{ <question words> }
<intent words>
Ask, Tell * to, about, for, if, whether User defined what, when, where, how, which, why
Uberに乗車予約を依頼する
またはCleaに今日のスケジュールを確認したい旨を伝える
<Trigger words><Invocation name> <connecting words><intent words> Ask, Tell, Search, Open, Talk to, Launch, Start, Run, Resume, Load, Begin, Use * and, to User defined Not relevant
YouTubeを起動してFilterCopyの動画を再生

トリガーワード

プラットフォームでは、以下のトリガーワードがデフォルトでサポートされています(多言語サポートについてはこちらを参照してください)。

  • 許可を得る
  • 伝える
  • 検索
  • 開く
  • 読み込む
  • 始める
  • 稼働
  • 話す
  • 実行

呼び出し名

リンクされたボットの名前は、暗黙の呼び出し名とみなされます。

これとは別に、リンクされた各ボットに1つ以上の呼び出し名を定義することができます。これらは、リンクされたボット名に対して定義された特別な同義語のセットとして扱われ、ボットユーザーがリンクされたボットを参照する際にこれらを使用する場合があります。

アタランス

トレーニング発話とは、ユーザーがリンクされたボットにインテントを要求する際の典型的な方法を指します。これには通常、リンクされたボットのインテントをトレーニングするために使用される、主なトレーニング発話が含まれます。MLのトレーニングとは異なり、これらの発話は1つのボットを特定するのではなく、複数のリンクされたボットを特定できることにご留意ください。

最大500個のトレーニング発話を追加することができます。

リンクされたボットからコピーオプションを使用して、リンクされたボットの発話を選択して追加することもできます。

リンクされたボットの一覧ページから、トレーニング状況や呼び出し名、トレーニング発話の概要を確認することができます。

フレーズの終了

以下のトリガーワードは、ユーザーがリンクされたボットのコンテキスト全体を終了するために使用することができます。

  • 終了

設定

リンクされた各ボットに対して、インテントの識別プロセスでボットを認証するために必要な最小スコアとして、ボットの適格性判定基準を設定することができます。バージョン8.1で導入されたこの設定は、ユニバーサルボットレベルでのMLしきい値設定に代わるものです。

デフォルトでは0.3に設定されていますが、0~1の任意の値に設定することができます。

フォールバックボット

特定のボットをフォールバックボットとしてマークしておけば、別のトレーニングオプションで他のボットが検出されなかった場合に、インテントの検出に使用することができます。

注意

  • 一度にフォールバックボットとしてマークできるボット数は最大15です。
  • ビジネスニーズに応じて、優先するボット一覧をいつでも変更することができます

インクルーシブボット

インクルーシブボットは、ボットのスコーピングプロセスに参加するためのサンプル発話のトレーニングを必要としません。これらのボットは、ユーザーの発話を評価する際に、ユーザーが’「呼び出しフレーズ」または「トリガーフレーズ」を使用してリンクされたボットを起動した場合を除いて、常にインテント検出の対象となります。
インクルーシブボットとしてマークできるリンクされたボット数は最大15です。

注意: リンクされたボットは、フォールバックまたはインクルーシブのいずれかとしてマークされますが、両方マークされることはありません。

リンクされたボット

コンテキスト内のリンクされたボットに関連する情報は、以下のキーの下にあるセッションコンテキストで利用することができます。

  • リンクされたボットのIDに対してcurrentLinkedBotid
  • リンクされたボット名に対してcurrentLinkedBotName

対象ボット

ユニバーサル ボットの開発者は、特定のボットを特定のエンドユーザーに割り当てて、そのボットからのインテントのみが利用されるようにすることができます。

対象ボットに関連して、以下の関数が利用できます。

  • 与えられるユーザー コンテキストに対する、現在の対象ボットの一覧を取得する:
    UserContext.getEligibleBots()
  • 対象ボットを設定する:
    UserContext.setEligibleBots([""st-linkedBot1"",""st-linkedBot2""])
    st-linkedBot1st-linkedBot2 などは、 リンクされたボットの ID を示します。 ([設定] -> [構成設定] -> [一般設定] より取得されたもの)
    この関数は、現在の対象ボットを与えられるものと置き換えます。
  • 与えられるユーザー コンテキストに対する、現在の対象ボットの一覧を削除する:
    UserContext.removeEligibleBots()

ユーザーの承認に応じて、または組織が導入しているその他の手法で対象ボットを設定することができます。

設定で、ボットの割り当てが指定されていない場合のボットの動作を定義することができます。詳しくはこちらをご覧ください。

設定

環境設定は、左のナビゲーションメニューの自然言語 > トレーニング > 設定からアクセスすることができます。

以下の設定がボットビルダーに用意されており、これらのしきい値を設定することができます。

  • ボットの同義語の使用 – インテント検出におけるボットの同義語の使用を有効または無効にするためのトグルです。デフォルトでは無効になっています。
  • インテントを可能性の高い一致と見なすための最小 ML スコアを定義するMLしきい値は、0~1の任意の値に設定することができます。デフォルト設定は0.3です。
    バージョン8.1以降では、この設定はリンクされた各ボットのボットの適格性判定基準に置き換えられています。上記をご確認ください
  • 旧バージョンへの切り替えから、ユニバーサルボットの旧バージョンに切り替えることができます。詳細はこちらをご確認ください
  • トリガーフレーズは、ユーザーがトリガーフレーズを使用して、つまりインテントを指定せずに、リンクされたボットをトリガーすることを可能にします。有効にすると、ボットの動作を以下のように定義することができます。
    • リンクされたボットで定義済みのウェルカムメッセージを表示する
    • カスタムメッセージを表示する応答を管理を使用して、表示されるメッセージを定義します。
  • 最近使用されたボットの設定は、リンクされたボットがトレーニングデータから特定されなかった場合に、リンクされたボットのスコープを絞り込むために使用されます。ボットは、ユーザーが最近使用したボットのを5つまで記憶するように設定することができます。
  • インテントの再スコアリングは、リンクされたボットのインテントを処理する際に、ユニバーサルボットの動作を定義するために使用することができます。デフォルトでは、ユニバーサルボットは、リンクされたボットから受け取ったインテントを再スコアリングし、上位インテントを特定します。このインテントの識別プロセスは、UBとリンクされたボットの両方で提供されるトレーニングに依存します。ただし、ユニバーサルボットが適切にトレーニングされていない場合には、再スコアリングによって誤ったインテントの識別が行われる可能性があります。上位インテントの識別のための、インテントの再スコアリングを無効にするオプションがあります。以下の設定(バージョン8.0から導入)が可能です。
    • 適格なインテントを再スコアリングして最適な一致の可能性を見つける – これはデフォルトの選択であり、さらに設定を変更することができます。
      • 一致の可能性の近接性は、トップスコアのインテントと可能性が次に高いインテントの間の最大許容差を定義し、それらを同等に重要であると見なします。0~20の間でパーセンテージを設定することができます。デフォルト設定は2%です。
    • 選択用にすべての適格なインテントをエンドユーザーに提示する – これは、1つ以上のリンクされたボットから複数の確定的および/または確率の高い一致が返された場合に、曖昧なインテントの一覧をユーザーに提示します。単一のリンクされたボットから1つのインテントのみが返された場合、そのインテントが実行されます。

  • ボットの割り当ての動作は、適格なボットが特定のユーザーに設定されていない場合の動作を定義するために使用することができます(こちらをご確認ください)。以下の設定が可能です。
    • すべての子ボットを割り当てる:リンクされたすべてのボットが適格です。これはデフォルト設定です。
    • 子ボットを割り当てない:ユーザーはリンクされたボットに対して適格ではありません。

導入

ユニバーサルボットの仕組みを見てみましょう。

ユニバーサルボットは、ユーザー入力を複数のステージで処理し、適切なボットを特定し、適切なインテントを呼び出します。

ステージ1 – ボットのスコーピング

ユーザーは、「Salesforceと話す」、「Evaに尋ねる」(EvaはHRのボット)などのトリガーフレーズや、「会議を予定する」、「タスクを追加する」などのパターンを使用して、リンクされたボットを呼び出すことができます。

  • ユーザーの発話(呼び出しフレーズ)が、リンクされたボット名(呼び出し名)に対して評価されます。
  • このボット名は、すべてのリンクされたボット名または適格なボット名(ユーザの適格性基準が定義されている場合)と比較され、1つ以上のスコーピング済みのリンクされたボットを絞り込みます。
    ボット適格性:組織内での役割またはチームとの関連性に基づき、様々なユーザーが様々なボットとスキルのセットにアクセスできる場合があります。制限されたスコープを使用することで、ユニバーサルボットは、ユーザーのアクセス制御に基づいて、より適切なボットを特定することができます。

ステージ2 – リンクされたボットに対するフォーク入力

ボットのセットがスコーピングされると、ユーザー入力はスコーピング済みのリンクされたボットすべてに送信されます。リンクされた各ボットからのインテントのランキングが蓄積され、さらに評価されます。

  • 発話は、インテントを識別するためにスコーピング済みのリンクされたボットに送信されます。
  • 識別されたインテントは、その後の評価および動作のために、ユニバーサルボットのランキングおよび解決に転送されます。

ステージ3 – ランキングおよび曖昧さの解消

リンクされたボットからの応答はランク付けされます。複数のボットがユーザー入力に対して適格である場合には、追加のコンテキストによって曖昧さを解消します。それができない場合は、曖昧さの解消のためのダイアログがボットユーザーに表示されます。

ステージ4 – 達成度の呼び出し

  • 上位インテントが実行されます。
  • 上位インテントがない場合:
    • ユニバーサルボットは、スモールトークのインテントが一致しているかどうかを確認します。
    • フォールバックボットが実行されます。

メニュー
Kore.ai Named a Leader in 2022 Gartner® Magic Quadrant™ for Enterprise Conversational AI PlatformsGet the Report