はじめに
対話型AIプラットフォーム
チャットボットの概要
自然言語処理(NLP)
ボットの概念と用語
クイックスタートガイド
プラットフォームへのアクセス
ボットビルダーの操作
リリースノート
最新バージョン(英語)
以前のバージョン(英語)
廃止機能(英語)
コンセプト
設計
ストーリーボード
ダイアログタスク
ダイアログタスクとは
ダイアログビルダー
ノードタイプ
インテントノード
ダイアログノード
エンティティノード
フォームノード
確認ノード
ロジックノード
ボットアクションノード
サービスノード
Webhookノード
スクリプトノード
グループノード
エージェント転送ノード
ユーザープロンプト
音声通話プロパティ
イベント ハンドラー
ナレッジグラフ
ナレッジグラフの抽出
ナレッジグラフの構築
ボットにナレッジグラフを追加
グラフの作成
ナレッジグラフの構築
既存のソースからFAQを構築
特性、同義語、停止用語
変数ネームスペースの管理
更新
ノード間の質問と回答の移動
用語の編集と削除
質問と応答の編集
ナレッジグラフの分析
通知タスク
スモールトーク
デジタルスキル
デジタルフォーム
デジタルビュー
デジタルビューとは
パネル
ウィジェット
トレーニング
トレーニングとは
機械学習
機械学習とは
モデル検証
ファンダメンタルミーニング
ナレッジグラフ
示唆
ランキングおよび解決
NLPの詳細設定
NLPのガイドライン
インテリジェンス
インテリジェンスとは
コンテキスト
コンテキストインテント
割り込み
複数インテントの検出
エンティティの変更
デフォルトの会話
センチメント管理
トーン分析
テストとデバッグ
ボットと会話
発話テスト
バッチテスト
会話テスト
デプロイ
チャネル
公開
分析
ボットの分析
NLPメトリクス
会話フロー
Usage Metrics
封じ込め測定
カスタムダッシュボード
カスタムダッシュボードとは
メタタグ
カスタムダッシュボードとウィジェット
ユニバーサルボット
ユニバーサルボットとは
ユニバーサルボットの定義
ユニバーサルボットの作成
ユニバーサルボットのトレーニング
ユニバーサルボットのカスタマイズ
他言語の有効化
ストア
プラントと使用
Overview
Usage Plans
Support Plans
Invoices
管理
ボット認証
複数言語対応ボット
個人を特定できる情報の編集
ボット変数の使用
IVRのシステム連携
一般設定
ボット管理
ハウツー
会話スキルの設計
バンキングボットを作成
バンキングボット – 資金の振り替え
バンキングボット – 残高を更新
ナレッジグラフを構築
スマートアラートの予約方法
デジタルスキルの設計
デジタルフォームの設定方法
デジタルビューの設定方法
データテーブルのデータの追加方法
データテーブルのデータの更新方法
Add Data from Digital Forms
ボットのトレーニング
示唆の使用方法
インテントとエンティティのパターンの使用方法
コンテキスト切り替えの管理方法
ボットのデプロイ
エージェント転送の設定方法
ボット関数の使用方法
コンテンツ変数の使用方法
グローバル変数の使用方法
Web SDK Tutorial(英語)
Widget SDK Tutorial(英語)
ボットの分析
カスタムダッシュボードの作成方法
カスタムタグを使ってフィルタリング
管理
ボット管理者コンソール
ダッシュボード
ユーザーの管理
ユーザーの管理
グループの管理
ロール管理
ボット管理モジュール
登録
ユーザーの招待
招待状の一括送信
ユーザーデータのインポート
Active Directoryからユーザーを同期
セキュリティ/コンプライアンス
シングル サインオンの使用
セキュリティ設定
Billing(日本未対応)
  1. ホーム
  2. Docs
  3. Virtual Assistants
  4. Test your Bot
  5. 発話テスト

発話テスト

ユーザーの発話に関連したタスクでボットが応答することを確認するには、さまざまなユーザー入力でボットをテストすることが重要です。想定されるユーザー入力の大量のサンプルでボットを評価することは、ボットレスポンスへのインサイトが得られるだけでなく、人間のさまざまな表現を解釈できるようにボットをトレーニングする絶好の機会となります。発話テストモジュールから、ボットのトレーニング関連のすべてのアクティビティを実行することができます。テストとトレーニングの記事全体の例として、以下のタスクから成るフライト予約 ボットのサンプルを、使用してみましょう。

ボットのテスト

ボットのテストとは、簡単に言うと、ボットがユーザーの発話に対して最も適切なタスクで応答できるかどうかをチェックすることです。言語の柔軟性から見ると、ユーザーは同じインテントを表現するためにさまざまなフレーズを使用します。例として、“サンフランシスコ発ロサンゼルス着の1月1日便のチケットを変更したい”というフレーズを“旅行日を変更してくださいと言い換えることができます。1月1日の便はできません。”そのトリックは、この両方の発話を同じインテントでマッピングするためにボットをトレーニングするか、あるいは予約の変更タスクを実行することです。そこで、ボットのテストを開始するための最初のステップは、ボットレスポンスをテストするためのユーザーの発話の代表的なサンプルを特定することです。サポートチャットのログ、オンラインコミュニティ、関連ポータルサイトのFAQページなど、実際の言語の使用状況を反映しているデータソースを探します。

ボットのテスト方法

以下の手順でボットをテストします。

  1. テストしたいボットを開きます。
  2. トップメニューから構築タブを選択します。
  3. 左メニューから、テスト->発話のテストをクリックします。
  4. 複数インテントモデルがある場合は、発話をテストしたいインテントモデルを選択できます。機械学習エンジンは、選択されたモデルからのみインテントを検出します。
  5. ユーザーの発話を入力フィールドの中に、テストしたい発話を入力します。例:フライトを予約する
  6. 結果は、単数、複数、または不一致のインテントで表示されます。

テスト結果のタイプ

ボットに対するユーザーの発話をテストする際は、NLPエンジンがインテントに一致するボットタスクを発見しようとします。NLPエンジンは、機械学習、ファンダメンタルミーニング、ナレッジグラフ(ボットにある場合)の3つのモデルを用いたハイブリッドなアプローチで、一致するインテントの関連性をスコアリングします。このモデルでは、ユーザーの発話を一致の可能性完全一致のいずれかに分類します。

完全一致は高い信頼度のスコアを取得し、ユーザーの発話と完全に一致すると考えられます。公開済みボットでは、ユーザー入力が単一の完全一致であった場合、ボットが直接タスクを実行します。発話に複数の完全一致がある場合は、オプションとして、エンドユーザーが1つを選択して送信します。他方、一致の可能性 は、ユーザー入力に対してかなり良いスコアを出すインテントですが、完全一致と呼ばれるほどの信頼度は得られません。システムの中ではさらに、一致の可能性を、そのスコアに基づいて「良い一致」と「不確かな一致」に分類します。エンドユーザーの発話が、公開済みボットの中で一致の可能性を生成していた場合、ボットはこれらの一致をエンドユーザーに 「そう言う意味でしたか?」 という参考意見を送信します。以下は、ユーザーの発話テストで可能性のある結果です。

    • 単一の一致(一致の可能性、または完全一致):NLPエンジンは、ユーザーの発話が単一のインテントやタスクに一致するものを見つけます。インテントは、「ユーザー発話」フィールドの下に表示されます。正しく一致していれば、次の発話のテストに移ることができ、あるいはスコアを向上させるためにタスクをさらにトレーニングすることもできます。不適切な一致の場合は、不正確とマークして、適切なインテントを選択することができます。
    • 複数の一致(一致の可能性、または完全一致、または両方):NLPエンジンは、ユーザー発話に一致する複数のインテントを識別します。その結果から、一致タスクのラジオボタンを選択し、トレーニングを行います。
  • 未特定のインテント:ユーザー入力は、リンクされたボットのいずれのタスクとも一致しませんでした。インテントを選択し、ユーザー発話に一致するようにトレーニングします。

エンティティの一致

ボットのテスト中に、一致したエンティティが表示されます。発話のエンティティは、最初にNERとパターンエンティティ、次に残りのエンティティという順で処理されます。rel8.0以降のプラットフォームでは、エンティティがどのような一致であったのか、また、どのような自信のあるスコアであったのかを含めて、詳細が表示されます。詳細には以下が含まれます。

  • 識別エンジン – 機械学習またはファンダメンタルミーニング。
  • トレーニングタイプ – NER、パターントレーニング、エンティティ名、システムコンセプトなどから一致できます。パターンが一致した場合、その行をクリックすると同じ行の詳細が表示されます。
  • NERトレーニングを使用する機械学習エンジンで識別される信頼度スコア(「条件付きランダム」フィールドがNERモデルとして選択されている場合のみ)

テスト結果の分析

ユーザーの発話をテストすると、一致したインテントに加えて、NLP分析ボックスが表示され、ショートリストされたインテント、ショートリストされたNLPモデル、対応するスコア、そして最終的な勝者の概要が表示されます。“ファンダメンタルミーニング”タブでは、ショートリストされていなくても、すべてのインテントのスコアを見ることができます。 前述したように、Kore.aiのNLPエンジンは、機械学習、ファンダメンタルミーニング、およびナレッジグラフ(存在する場合)のモデルを使用して、インテントを照合します。NLPエンジンが、基礎となるモデルの1つを通して単一の完全一致を発見した場合、そのタスクが一致のインテントとして表示されます。テストの結果、複数の完全一致があった場合は、正しいインテントを選択するためのオプションとして、それらを受け取ることができます。これらのモデルによって複数の一致の可能性と判断された場合、最終的な勝者を決定するために、 ファンダメンタルミーニングモデルを使用して、 ランキングおよび解決 によってすべてのショートリストされたインテントが再スコアリングされます。場合によっては、複数の一致の可能性が再スコアリング後も同じスコアを確保していることがあり、その場合は複数の一致として表示され、開発者は1つを選択することになります。NLP分析ボックス内の学習モデル名のタブをクリックすると、インテントスコアが表示されます。

メモ:NLPスコアは絶対値であり、同じ入力の他のタスクとの比較にのみ使用できます。タスクのスコアは、異なる発話間で比較することはできません。

各モデルのダイアログでは、右上のアイコンをクリックすると、対応するエンジンに定めれられている設定としきい値が表示されます。

機械学習モデル

機械学習モデルは、ユーザー入力とタスクラベルおよび各タスクのトレーニング発話の一致を試みます。ユーザー入力が複数の文から成り立っている場合は、それぞれの文はタスク名およびタスク発話に対して別々に実行されます。機械学習モデルのボタンをクリックすると、NLP分析の[機械学習モデル]セクションが表示されます。ここには、プラスのスコアを確保したタスクの名前だけが表示されています。一般的に、タスクに追加するトレーニング発話の数が多くなればなるほど、発見の可能性がますます高まります。詳細情報ついては、機械学習をお読みください。

FMモデル

ボットの各タスクは、機械学習モデルとは別に、タスク名、同義語、パターンのさまざまな組み合わせを含む総合カスタムNLPアルゴリズムを用いて、ユーザー入力に対してスコアリングします。ファンダメンタルミーニングモデルのタブでは、ボットにおけるすべてのインテントに対して分析結果が表示されます。タブをクリックすると、各タスクのスコアが表示されます。処理済み発話をクリックすると、ユーザー発話がどのように分析および処理されたかが表示されます。rel 7.2以降では、FMエンジンは、ボットの言語に対応して、2種類の方法でモデル生成を行っています。アプローチ1:ドイツ語およびフランス語に対してサポート済み。原語、普遍的な品詞、従属関係詞、関連語にかかわる単語分析 要素を詳しく説明しています。次に、各処理済みインテントのスコアの内訳が表示されます。スコアリング済みのインテント(一致または除外)を選択すると、各単語に対するスコアリング詳細が表示されます。これには、発話からの単語と、係り受け解析に基づいてそれぞれに割り当てられたスコアが含まれます。

アプローチ2:上記以外の言語に対してもサポート済み。オリジナルの単語、文中の役割、処理済み単語(スペル修正の場合)に関連する単語分析要素が詳しく説明されています。次に、各処理済みインテントのスコアの内訳が表示されます。スコアリング済みのインテント(一致または除外)を選択すると、各単語に対するスコアリング詳細が表示されます。詳細な内訳は以下のとおりです。

  • 一致した単語:ユーザー入力の中で、タスク名の単語やタスク用のトレーニング発話において一致した単語の数に対して与えられるスコア。
  • 単語の範囲:タスク名、分野名、発話、同義語などを含むタスクにおける単語全体の比率と、一致する単語の比率に与えられるスコア。
  • 正確な単語:同義語ではなく、正確に一致した単語の数に対して与えられるスコア。
  • ボーナス
    • 文の構造:ユーザー入力に文の構造が一致した場合のボーナス。
    • 単語の位置:文の中で単語の位置をベースに与えられるスコア。 文の最初に位置する単語にはより高い優先度。文頭に近い位置に単語がある場合は、追加のクレジット。
    • オーダーボーナス:タスクのラベルと同じ順番の単語の数でボーナス。
    • 役割ボーナス:プライマリ役割とセカンダリ役割(主語/動詞/目的語)が一致した数にボーナス。
    • スプレッドボーナス:パターンの中で最初に一致した単語と最後に一致した単語の位置の差にボーナス。その差が大きければ大きいほど、スコアも大きくなります。
  • ペナルティ:タスク名の前に複数のフレーズがある場合、またはタスクラベルの中央に接続詞がある場合はペナルティ。

ナレッジグラフ

ボットがナレッジグラフから成り立つ場合は、ユーザー発話を処理して用語を抽出し、ナレッジグラフにマッピングして関連パスを取得します。事前設定されたしきい値より大きい用語数を含むパスはすべて、さらなるスクリーニングのためにショートリストに登録されます。100%の用語がカバーされているパスで、パスの中に類似するFAQがある場合は、完全に一致していると考えられます。発話がダイアログをトリガーする場合(ナレッジグラフにおけるダイアログの実行オプションによる)、同一のものが “一致したインテント”および“一致した発話”として表示されます。さらに、機械学習エンジンやFMエンジンのインテントと同じように、ボットのトレーニングを行うことができます( 以下のトレーニングセクションをご参照ください)。ナレッジグラフトレーニングの詳細は、こちらからご覧ください

ランキングおよび解決

ランキングおよび解決によって、NLP計算全体の最終勝者が決定されます。機械学習モデルとナレッジグラフのどちらかが完全に一致した場合、ランキングと解決はインテントの再スコアリングを行わず、一致したインテントとして提示します。複数の完全一致があったとしても、開発者には選択できるオプションとして提示されます。ランキングおよび解決は、3つのモデルで特定された他のすべての正確・不正確な一致を、ファンダメンタルミーニングモデルを用いて再スコアリングします。再スコアリングの結果、あるインテントの最終スコアがあるしきい値を超えれば、そのインテントも一致していると見なされます。ランキングおよび解決のタブを選択すると、詳細が示されます。   一致した発話を選択することにより、各一致のランキングと詳細を見ることができます。

ボット言語により、スコアリングモデルは以下のようになります。

  • 単語の役割、文と単語の位置関係、および単語の順序の組み合わせに基づく、または
  • 係り受け解析に基づく(ドイツ語、フランス語向けにサポート)

3つのエンジンが異なる完全一致/一致の可能性を返す場合のランキング・解決によるインテントの排除の根拠は、以下のとおりです。

  • 機械学習モデルによって、日付や数字などのエンティティ値をベースに照合されたインテントは排除されます。
  • 3つのエンジンのいずれかによって特定されたすべての一致の可能性は、完全一致が発見された場合は、排除されます。
  • ユーザーの発話の中で、これより前に別の完全一致が発見されていた場合、完全一致は排除されます – ユーザーの発話に2つのインテントが含まれるケース。例として、「フライトを予約して、次にタクシーを予約する」では、「フライトを予約」と「タクシーを予約」に一致しますが、「フライトを予約」よりも「タクシーを予約」の方が排除されます。
  • 完全なインテントの一致に続くインテントのパターンの一致は、排除されます。例として、「メールを送信するタスクを作成する」というユーザーの発話は、「タスクを作成する」と「メールを送信する」というインテントと一致する可能性があります。このような場合、「メールを送信する」は「タスクを作成する」というインテントに従うため、削除されます。
  • 「しきい値と設定」セクションにおいて設定された最小値を下回るスコアのインテントは、排除されます。
  • ネガティブパターンに一致する完全一致。
  • 前提条件(定義されている場合)が満たされていないインテントは、排除されます。
  • 完全一致が回答における検索によってナレッジグラフエンジンから得られた場合は、別の一致したインテントが存在します。

ボットのトレーニング

トレーニングとは、ユーザー入力に基づいて、あるボットのタスクやユーザーインテントを他のものよりも優先させるために、NLPエンジンのパフォーマンスを高めることです。可能性のあるすべてのユーザーの発話および入力に対してボットをテストし、必要に応じてトレーニングを行う必要があります。

ボットのトレーニング

  1. ユーザーの発話を入力後、テストの結果に従って、トレーニングオプションを開くために、以下のうち1つを実行します。
    • 不一致のインテントにはインテントの選択ドロップダウンリストから、ユーザーの発話に一致させたいと思うインテントを選択します。
    • 複数の一致したインテントには:照合したいインテントのラジオボタンを選択します。
    • 単一の一致したインテントには:一致したインテントの名前をクリックします。
  2. 入力したユーザー発話は、機械学習発話セクションの下のフィールドに表示されます。インテントに発話を追加するには、保存をクリックします。次々と好きなだけ発話を追加することができます。詳細情報は、機械学習をお読みください。
  3. インテント同義語セクションでは、タスク名における各単語は個別の行アイテムとして表示されます。正しいタスクを認識するためのNLPインタプリターの精度を最適化するには、単語の同義語を入力します。詳細情報については、同義語の管理をお読みください。
  4. インテントパターンセクションで、インテントのタスクパターンを入力します。詳細情報については、パターンの管理をお読みください。
  5. 関連するトレーニングエントリの作成が完了したら、 発話の再実行をクリックして、信頼度の高いスコアを得るためにインテントを改善できたかどうかを確かめます。

FAQでトレーニング

FAQによるユーザーの発話に対してボットが応答するようにしたい場合、2つの方法があります。

  • FAQページから用語や用語構成やクラスを設定し、さらにナレッジグラフのトレーニングおよび発話の再テストを実行します。
  • ナレッジグラフのページから選択したFAQに対して、代わりの質問として発話を追加し、さらにナレッジグラフのトレーニングしおよび発話の再テストを実行します。

ナレッジグラフトレーニングの詳細については、こちらからご覧ください

不正確な一致をマーク

ユーザー入力が不正確なタスクに一致した場合、次のようにして正しいインテントに一致させます。

  1. 一致したインテント名の上にある不正確な一致としてマークリンクをクリックします。
  2. 一致したインテントのドロップダウンリストが表示され、別のインテントを選択することができます。
  3. ユーザー入力に対応するインテントを選択して、ボットをトレーニングします。
メニュー