チャット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. 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 – 達成度の呼び出し

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

メニュー