スキルの会話インサイト

音声およびテキストの会話を期間別とチャネル別にトラッキングするスキルの会話レポートにより、実行パスの識別、インテント解決の正確性の判断および会話記録全体へのアクセスが可能になります。

セッション・レベルのメトリックにアクセスするには、概要レポートの「メトリック」フィルタから「照合」を選択します。
メトリック・フィルタの会話オプション。

Voice Insightsは、音声認識用に構成され、バージョン20.8以上のOracle Web、iOSまたはAndroid SDKで実行されているチャット・クライアントにルーティングされるスキルについて追跡されます。

レポート・タイプ

  • 概要– このダッシュボードを使用して、チャネル別と期間別の音声およびテキストの会話の合計数をすばやく確認します。レポートのメトリックでは、完了、未完了および進行中の会話の数ごとにこの合計が分けられます。また、このレポートでは、棒グラフとワード・クラウドでスキルのトランザクションおよび回答のインテントの使用状況をランク付けすることで、スキルがどのように会話を完了したか、またはどのように完了に失敗したかが示されます。
  • カスタム・メトリック– スキルに適用されたカスタム・ディメンションを測定できます。
  • インテント– 実行メトリック(状態、会話期間、最も人気のあるパスと最も人気のあるパスおよび最も人気のないパス)のインント固有のデータおよび情報を提供します。
  • パス– インテントの会話フローの視覚表現が表示されます。
  • 会話– ダイアログ・フローおよびチャット・ウィンドウのコンテキストで表示される、スキルとユーザー・ダイアログの実際の記録が表示されます。
  • リトレーナ– ライブ・データおよび取得したインサイトを使用して、モデレートされた自己学習によってスキルを改善する場所。
  • エクスポート– Oracle Digital Assistantによって収集されたインサイト・データのCSVファイルをダウンロードできます。CSVからカスタム・インサイト・レポートを作成できます。

サマリー・メトリックおよびグラフのレビュー

概要レポートのメトリック、グラフ、チャートおよびワード・クラウドは、全体的な使用状況を表します。スキルがテキストと音声の両方の会話を処理している場合、このダッシュボードのデフォルト・ビューにはテキストと音声の両方が含まれます(表示は「すべて」オプションによって有効になります)。それ以外の場合、デフォルトはテキストまたは音声のいずれかです。

このビューは、音声モードとテキスト・モードを切り替えることで調整することも、次を有効にすることで2つを比較することもできます。「テキストと音声の会話を比較」

「テキスト」を選択すると、レポートには一連の共通メトリックが表示されます。「音声」を選択すると、レポートには音声固有のメトリックが追加で含まれます。これらのメトリックは、音声会話にのみ適用されるため、「テキストと音声の会話を比較」を選択した場合は表示されません
ノート

「モード」オプションは、音声またはテキストのメッセージの有無によって決まります。たとえば、テキスト・メッセージしかない場合は、「テキスト」オプションのみが表示されます。

共通メトリック

概要レポートには、テキストと音声の両方の会話について、次のKPIが含まれます
  • 会話の合計数— 会話の合計数。完了、未完了および進行中の会話で構成されます。ステータスに関係なく、会話は1つ以上のダイアログ・ターンで構成できます。各ターンは、ユーザーとスキルの間の単一の交換です。
    ノート

    会話は従量制リクエストとは異なります。従量制の詳細は、Oracle PaaSおよびIaaS Universal Credit Serviceの説明を参照してください。
  • 完了した会話– ユーザーの問合せに正常に回答することで終了した会話。終了フロー状態または終了フロー(暗黙的)が遷移として選択されている状態で終了する会話は、完了とみなされます。YAMLオーサリング・スキルでは、ダイアログ・フローのトラバーサルがreturn遷移で終了するか、insightsEndConversationプロパティがある状態で終了すると、会話は完了としてカウントされます。
    ノート

    このプロパティおよびreturn遷移は、ビジュアル・フロー・デザイナでは使用できません。
  • 未完了の会話– ユーザーがスキルを中止したために完了しなかった会話、またはシステムレベルのエラー、タイムアウトまたは無限ループのためにユーザーが完了できませんでした。
  • 進行中の会話– 進行中の会話(完了もタイムアウトもしていない会話)。このメトリックは、複数ターンの会話をトラッキングします。進行中の会話は、セッションが期限切れになるとタイムアウトになります。
  • 会話に費やされた平均時間– スキルの会話すべての平均時間。
  • 合計ユーザー数および一意のユーザー数ユーザー・ベース・メトリック。これは、スキルを持つユーザー数およびこれらのユーザーのうち何人がユーザーを返しているかを示します。


音声メトリック

音声対話で始まる会話は音声会話とみなされます。音声で開始されてもテキストで完了した会話は、切り替えられた会話とみなされます。他のすべての会話はテキストとみなされます。概要レポートには、標準メトリックに加えて、音声および切り替えられた会話に固有の次のメトリックが含まれています。
ノート

これらのメトリックは情報提供のみを目的としており、操作はできません。
これらのメトリックを表示するには、「テキストと音声の操作を比較」を無効にし、「すべて」または「音声」のいずれかをモードとして選択します。
  • 会話に費やされた平均時間– 音声会話の平均時間。
  • 平均リアルタイム・ファクタ(RTF)–CPU時間に対するオーディオ入力の処理に要した時間の比率。たとえば、1秒のオーディオの処理にCPU時間が1秒かかる場合、RTFは1 (1/1)です。1秒のオーディオの処理に500ミリ秒の場合のRTFは.5または½です。処理がオーディオ入力より遅れないように、RTFを1未満にすることが理想的です。RTFが1を超える場合は、Oracle Supportに連絡してください。
  • 平均音声レイテンシ – 発話の終わりを検出してから最終結果(またはトランスクリプション)を生成するまでの遅延(ミリ秒)。レイテンシが発生した場合は、Oracle Supportに連絡してください。
  • 平均オーディオ時間– すべての音声会話の平均期間(秒単位)。
  • 切り替えられた会話– 音声コマンドで開始されたが、対話を完了するためにテキストに切り替える必要があったスキルの会話の割合。このメトリックは、音声からテキストへの切替えに関連する複数の実行パスが存在したことを示します。

未完了の会話の内訳

選択した期間中に未完了の会話がある場合、合計数は次のエラー・カテゴリに分類されます:
  • タイムアウト – 進行中の会話がアイドル状態になってから1時間を超えると、セッションが期限切れになり、タイムアウトがトリガーされます。
  • システム処理エラー – システム処理エラーは、スキルではなくシステムによって処理されます。これらのエラーは、ダイアログ・フロー定義にエラー処理が組み込まれていない場合に発生します。
  • 無限ループ – ダイアログ・フロー定義の不備(誤って定義された遷移など)によって、無限ループが発生する可能性があります。
  • 取消済 - ユーザーが明示的に会話を取り消してスキルを終了した回数。


表のエラー・カテゴリまたはグラフのいずれかの部分をクリックすると、会話レポートにドリルダウンして、未完了の会話のコンテキストでこれらのエラーを確認できます。ここから会話レポートにアクセスすると、会話レポートの「結果」および「エラー」フィルタが「未完了」と選択したエラー・カテゴリに設定されます。たとえば、「無限ループ」をクリックすると、会話レポートは「未完了」および「無限ループ」でフィルタされます。レポートの「インテント」および「結果」フィルタは「すべて表示」に設定され、「ソート基準」フィールドは「最新」に設定されます。

ユーザー基準

次のメトリックを使用して、スキルが選択した時点のユーザー数を確認できます。レポートをチャネルおよび期間でフィルタしながら、「会話の合計数」メトリックに表示される累計と比較できます。ライブ・エージェント統合では、エージェントに転送された一意のユーザーの数を、ライブ・エージェント転送およびスキル処理された会話を含む合計会話数と比較できます。
  • ユーザー数– スキルと対話したすべてのタイプのユーザー(セッション間で永続するチャネル割当IDを持つユーザー(一意のユーザー)、および自動的に割り当てられたIDが1つのセッションにのみ続くユーザー)の累積合計。
  • 一意のユーザー数– スキルにアクセスしたユーザーのうち、一意のユーザーIDで識別されるユーザーの数。各チャネルには、IDをユーザーに割り当てる様々な方法があります。たとえば、Webチャネルを介してスキルとチャットするユーザーは、userIdフィールドに定義された値によって識別されます。スキル・テスターのテスト・チャネルでは、「リセット」をクリックしてチャット・セッションを終了するたびに、新しいユーザーIDが割り当てられます。
    一度割り当てると、これらの一意のIDはチャット・セッション間で保持されるため、ユーザーがスキルを再訪問しても、このメトリックで集計された一意のユーザー数は増加しません。カウントは、一意のIDで割り当てられた別のユーザーがユーザープールに追加された場合にのみ増加します。

    ヒント:

    ユーザーIDはチャネル内でのみ一意であるため(2つの異なるチャネルで同じIDを持つユーザーは2人のユーザーとしてカウントされ、1人としてカウントされません)、レポートをチャネルでフィルタ処理することでユーザー・ベースをよりよく理解できます。

新規ユーザー・トラッキングの有効化

スキルまたはデジタル・アシスタントと対話したことがないユーザーを追跡するには、「設定」「構成」「インサイト・ユーザー・メトリックの有効化」をオンにします。スキルに対してこの機能をオンに切り替える前に、ルーティングされたチャネルでなんらかのタイプのユーザーIDが割り当てられていることを確認してください。それ以外の場合は、この機能をオフのままにします(デフォルト・モード)。チャネルでユーザーIDが指定されない場合、デジタル・アシスタントは各チャット・セッションに新しいユーザーIDを割り当てます。これらのタイプのチャネルが使用されている場合にこの機能を有効にすると、新しいチャット・セッションごとに新しいユーザーが追加され、その結果、新しいエントリでユーザー表が膨張するため、レポートが偏ります。新しいユーザー・データはストレージから自動的にパージされないため、かわりにOracle Digital Assistant APIを使用する必要があります。新しいユーザー・データをパージするには、エクスポート・タスクPOSTリクエストの開始のペイロードに"purgeUserData": trueを含めます。
ノート

新しいユーザー・データの収集は、この機能がリリース23.10に付属していた日付からのみ開始されます。

会話トレンド・インサイトのレビュー

「会話のトレンド」チャートには、トランザクション・インテント(エージェント転送インテントを含む)および回答インテントについて次のものが表示されます:
  • 完了– ユーザーが正常に完了した会話。終了フロー状態または終了フロー(暗黙的)が遷移として選択されている状態で終了する会話は、完了とみなされます。YAMLオーサリング・スキルでは、ダイアログ・フローのトラバーサルがreturn遷移で終了するか、insightsEndConversationプロパティがある状態で終了すると、会話は完了としてカウントされます。
    ノート

    このプロパティおよびreturn遷移は、ビジュアル・フロー・デザイナでは使用できません。
  • 未完了 – ユーザーがスキルを中止したために完了しなかった会話、またはシステムレベルのエラー、タイムアウトまたはスキルの設計上の不具合のためにユーザーが完了できなかった会話。
  • 進行中– 進行中の会話(完了もタイムアウトもしていない会話)。このメトリックは、複数ターンの会話をトラッキングします。

インテントの使用状況の表示

「インテント」棒グラフでは、会話を完了したトランザクションおよび回答のインテントだけでなく、未完了の会話の原因となったインテントも見つけることができます。このチャートを使用すると、これらのインテントの使用状況全体がユースケースを裏付けているかどうかを確認することもできます。たとえば、2次目的を提供するインテントに対して完了した会話の数は、1次インテントに対して完了した会話の数を上回っていますか。具体的に言うと、ピザのオーダー・スキルは、ほとんどのユーザーをライブ・エージェントにルーティングする"苦情の申立て"スキルになっていますか。
ノート

すべての会話がインテントに解決するわけではありません。「インテントなし」をインテント棒グラフおよびワード・クラウドに表示すると、インテントがユーザー入力によって解決されず、遷移アクション、スキルによって開始された会話またはデジタル・アシスタントからのルーティングによって解決されたことを示します。

棒グラフの「すべてのインテント」「回答インテント」および「トランザクション・インテント」オプションを使用して、インテント棒グラフおよびワード・クラウドがフィルタできます。
all-intents.pngの説明が続きます
図all-intents.pngの説明

これらのオプションを使用すると、使用状況をすばやく分類することができます。For example, for mixed skills – ones that have both transactional and answer intents – you can view usage for these two types of intents using the Answer Intents and Transaction Intents options.
transactional-intents.pngの説明が続きます
Description of the illustration transactional-intents.png

The key phrases rendered in the word cloud reflect the option, so for example, only the key phrases associated answer intents display when you select Answer Intents.
answer-intents.pngの説明が続きます
Description of the illustration answer-intents.png

キー・フレーズ・クラウドを使用したインテントのレビューと再トレーニング

「最も人気のあるインテント」ワード・クラウドには、インテント棒グラフに対する付属ビューがあり、インテントの完了および未完了の会話の数が表示されます。最も頻繁に起動されるインテントをサイズおよび色で重み付けします。サイズは、指定された期間の呼出し回数を表します。

色は、インテント解決の成功のレベルを表します:
  • 緑は、リクエストの解決の平均値が高く、指定した期間内で信頼度ウィン・マージンしきい値以上であることを表します。
  • 黄色は、指定した期間内で平均として信頼度ウィン・マージンしきい値を満たさないインテント解決を表します。この色は、インテントの再トレーニングが必要であることの適切な指標です。
  • 赤は、unresolvedIntent用に予約されています。これは、どのインテントにも一致しなかったが、コーパスに組み込むことができるかもしれないユーザー・リクエストのコレクションです。
「最も人気のあるインテント」ワード・クラウドは、インテントがユーザー・メッセージをどのように解決したかに関する詳細ビューへのゲートウェイです。キー・フレーズ・クラウドを使用したインテントのレビューと再トレーニングでは、「最も人気のあるインテント」ワード・クラウドからドリルダウンして、使用状況、ユーザー対話および再トレーニングに関する詳細を確認する方法について説明します。

それ以外の場合は、実際のユーザー入力の表現であるキー・フレーズを使用して、インテント使用状況がより詳細に表示されます。英語のフレーズの場合は、リトレーナにアクセスできます(インテントに解決された英語以外のフレーズでは動作が異なります)。

キー・フレーズのレビュー

インテントをクリックすると、キー・フレーズのセットにドリルダウンできます。これらのフレーズは、元のインテントを保持する元のユーザー・メッセージの抽象化です。たとえば、キー・フレーズの「オーダーを取り消します」は、「オーダーを取り消したい」という元のメッセージからレンダリングされます。類似するメッセージは、1つのキー・フレーズ内にグループ化できます。たとえば、「オーダーを取り消したい」「オーダーを取り消してもらえますか」「オーダーを取り消してください」というフレーズは、「オーダーを取り消します」というキー・フレーズ内にグループ化できます。インテントと同様に、サイズは問題となっている期間のプロミネンスを表し、色は信頼度レベルを反映しています。
key-phrases-intent.pngの説明が続きます
図key-phrases-intent.pngの説明

You can see the actual user message (or the messages grouped within a key phrase) within the context of a conversation when you click a phrase and then choose View Conversations from the context menu.
view-conversations-option.pngの説明が続きます
Description of the illustration view-conversations-option.png

This option opens the Conversations Report.
key-phrases-conversation-report.pngの説明が続きます
Description of the illustration key-phrases-conversation-report.png

Anonymized values display in the phrase cloud when you enable PII Anonymization.
pii-skill-phrase-cloud.pngの説明が続きます
Description of the illustration pii-skill-phrase-cloud.png

ワード・クラウドからの再トレーニング

コンテキストでフレーズによって表されるメッセージを表示するだけでなく、「再トレーニング」をクリックしてトレーニング・コーパスにメッセージ(またはキー・フレーズ内でグループ化されたメッセージ)を追加することもできます。

このオプションにより、実際のフレーズをトレーニング・コーパスに追加できるリトレーナが開きます。

ネイティブ言語フレーズの確認

キー・フレーズ・クラウドの動作は、英語以外のフレーズではリトレーナにアクセスできないという点で、ネイティブ言語サポートのスキルによって異なります。異なる言語のフレーズが1つのインテントに解決された場合、インテントをクリックすると、キー・フレーズではなく言語がクラウドに表示されます。たとえば、unresolvedIntentをクリックした後、フランス語と英語が表示される場合は、インテントに解決できなかったフレーズが英語とフランス語の両方にあることを意味します。
ml-phrase-cloud.pngの説明が続きます
図ml-phrase-cloud.pngの説明

英語がそれらの言語に含まれる場合は、「英語」をクリックしてキー・フレーズ・クラウドにドリルダウンします。キー・フレーズ・クラウドから、コンテキスト・メニューの「会話の表示」および「再トレーニング」オプションを使用して、会話レポートおよびリトレーナにドリルダウンできます。ただし、英語以外の言語からドリルダウンしたときは、インテントと言語でフィルタされた会話レポートにドリルダウンします。リトレーナに直接アクセスすることはできません。unresolvedIntentの例に戻ると、「英語」をクリックした場合は、キー・フレーズ・クラウドにドリルダウンします。If you clicked French, you'd drill down to the Conversations report, filtered by unresolvedIntent and French.
ml-conversation-report.pngの説明が続きます
Description of the illustration ml-conversation-report.png

If you want to incorporate or reassign a phrase after reviewing it within the context of the conversation, you'll have to incorporate the phrase directly from the Retrainer by filtering on the intent, the language (and any other criteria).

言語の使用状況のレビュー

複数言語スキルの場合、「言語」グラフのセグメントを使用して、サポートされている言語の使用状況を比較できます。各セグメントは、現在使用されている言語を表します。
languages-chart-overview-skill.pngの説明が続きます
図languages-chart-overview-skill.pngの説明
グラフの言語で表される会話をレビューする場合は、セグメントまたは凡例をクリックして、選択した言語でフィルタされた会話レポートにドリルダウンできます。
conversation-report-filtered-language.pngの説明が続きます
図conversations-report-filtered-language.pngの説明

ユーザー・フィードバックおよび評点のレビュー

「ユーザー評価」ドーナツ・チャートおよび「ユーザー・フィードバック」ワード・クラウドでは、コンポーネントによって収集された直接フィードバックおよびスコアが追跡されます。ダイアログが「ユーザー・フィードバック」状態に遷移すると、スキルによってユーザーに評価システムが表示され、オプションでフィードバックを入力する機能が提供されます。デフォルトでは、ユーザーは1から5の範囲を選択して、スキルとの対話を評価できます。ODAバージョン21.10以上では、フィードバック・コンポーネントはデフォルトで星評価システムです。以前のバージョンの場合、フィードバック・コンポーネントはリストとして表示されます。

評価ごとの会話数に比例する平均顧客満足度スコアは、ドーナツ・チャートの中央に表示されます。範囲の各数値の会話単位での個々の合計は、発生に応じて長さが異なるユーザー評価ドーナツ・チャートの円弧としてグラフ化されます。これらのアークの1つをクリックすると、スコアでフィルタされた会話レポートが開きます。
ノート

スキルがリリース21.12より前のプラットフォームで実行されている場合は、「マスキングの有効化」をオフに切り替えて、会話記録でユーザー評価を確認する必要があります。プラットフォーム21.12以上(「マスキングの有効化」は非推奨)で実行されているスキルのトランスクリプトで実際のユーザー評価を保持するには、PII匿名化を有効にするときにPIIとして扱われるエンティティのリストからNUMBERエンティティを削除する必要があります。


デフォルトでは、ポジティブ反応またはネガティブ反応を決定するためのユーザー・フィードバック・コンポーネントの最小しきい値は2に設定されています(不満)。コンポーネントに対してユーザー・フィードバックが有効になっている場合、「ユーザー・フィードバック」ワード・クラウドには、マイナスの評価に付随するユーザー・コメントが表示され、その頻度に応じてサイズが設定されます。これらのコメントは、しきい値未満の評点(コンポーネントのデフォルト設定ごとに1つまたは2つ)を表すユーザー評価チャートの円弧をクリックしてから、選択したスコアでフィルタされた会話レポートにドリルダウンすることで、全体的な対話のコンテキストで確認できます。
conversation-report-user-feedback.pngの説明が続きます
図conversation-report-user-feedback.png

ダイアログ・フローにフィードバック・コンポーネントを追加する方法

「ユーザー評価」グラフおよび「ユーザー・フィードバック」ワード・クラウドのデータを取得するには、一連の状態をダイアログ・フローに追加する必要があります。最初の状態は「ユーザー・フィードバック」状態です。この状態を追加するには、「ユーザー・メッセージング」「ユーザー・フィードバック」を選択し、遷移タイプとして「次」を選択します。(YAMLフローでは、next遷移を使用してSystem.Feedback状態への明示的な遷移を設定する必要があります。)ダイアログ・フローは、ユーザーの反応を測るたびに、状態のユーザー・フィードバック・シーケンスに移行できます。たとえば、ユーザーがトランザクションを完了またはキャンセルした後などです。
ノート

「ユーザー・フィードバック」状態の前の状態が「回転の維持」プロパティの場合は、フローがユーザー・フィードバックに遷移する前にスキルが会話をユーザーに渡さないように、Trueに設定します。YAMLオーサリング・フローでスキルの制御を維持するには、System.Feedback状態の前の状態でkeepTurn: trueを設定します。


「ユーザー・フィードバック」状態の後、そのabovebelowおよびcancel遷移に対応する状態を追加する必要があります。YAMLダイアログ・フローでは、これらの各状態にはreturn: done遷移があります。

これらの状態は、「しきい値」プロパティによって決定される評価の上限と下限に対応します。これらの状態は、ユーザー評価の受信を確認するユーザー・メッセージとして追加できます。
フィードバック・タイプ メッセージの例
above Thank you for rating us ${system.userFeedbackRating.value}
below You entered: ${system.userFeedbackText.value} We appreciate your feedback.
cancel Skipped giving a rating or feedback? Maybe next time.
ユーザー・フィードバック・コンポーネントの出力をカスタマイズするには、「リソース・バンドル構成」ページからアクセスするフィードバック関連のリソース・バンドルを編集するか、リソース・バンドルCSVファイルでsystemComponent_Feedback_キーを編集します。

カスタム・メトリックを使用したユーザー・フィードバックの測定

「カスタム・メトリックの設定」状態のセット全体で単一のユーザー・フィードバック関連ディメンションを定義することで、正、負およびスキップされたフィードバックの高レベル・ビューを取得できます。

これらのカスタム・メトリックの設定の各状態は、ユーザー・フィードバック・コンポーネントのabovebelowおよびcancel遷移アクションで指定された状態のいずれかに対応します。そのため、たとえば、「フィードバック・タイプ」というメトリックをカスタム・メトリック・レポートに追加する場合は、次のようにします。
  1. 「カスタム・メトリックの設定」状態を、ユーザー・フィードバック・コンポーネントのabovebelowおよびcancel遷移アクションで指定された各状態の前に挿入します。
  2. 状態ごとに、ディメンション名としてフィードバック・タイプを入力します。
  3. 必要に応じて、遷移タイプ(CanceledPositiveNegativeなど)に状態ごとに個別の値を追加します。フィードバック・データを記録するダイアログ・フローをインストゥルメントしたので、カスタム・メトリック・レポートの様々な値を問い合せることができます。


YAMLベースのフローでは、System.SetCustomMetrics状態を追加してフィードバック・メトリックを追跡します。

カスタム・メトリックの確認

カスタム・メトリック・レポートでは、スキル固有のディメンションの会話データを追跡することで、インサイト・データのパースペクティブを追加できます。このレポートによって追跡されるディメンションは、カスタム・メトリックの設定コンポーネント(およびYAMLフローのSystem.SetCustomMetricsコンポーネント)を使用してダイアログ・フロー定義に作成されます。このコンポーネントを使用して、スキルに固有のビジネスおよび開発のニーズを調べるディメンションを作成できます。たとえば、製品またはサービスの消費量(最も要求されたピザ生地または最もよく提出される経費精算書のタイプ)をレポートするディメンションを構築したり、スキルがユーザーを強制的に終了するか、ライブ・エージェントに渡すことによってユーザーに失敗するタイミングを追跡できます。



カスタム・メトリック・レポートは、会話データに定義されたディメンションをドーナツ・チャート、棒グラフおよび折れ線トレンド・グラフの両方としてグラフ化します。各ディメンションには、独自の会話の合計があります。この集計には、完了済、未完了または進行中の会話が含まれます。ディメンション値(またはカテゴリ)は、ドーナツ・チャートのセグメントとして、および折れ線トレンド・チャートのポイントとして表されます。これらの値を使用して、レポート・ビュー(およびCSVファイルにダウンロードできるカスタム・メトリック・データ)をフィルタできます。 ドーナツ・チャートでは、円弧の長さは、会話の合計数の割合としてディメンション値のオカレンスを表します。ディメンション値の実際の数は、折れ線グラフで追跡されます。円弧とトレンド線の両方が、会話レポートへのアクセス・ポイントです。どちらかをクリックすると、選択したディメンション値でフィルタされた会話レポートが開きます。

ノート

ディメンションおよびカテゴリは、ディメンションおよびカテゴリによって測定された会話が発生した場合にのみレポートに表示されます。

カスタム・メトリックのスキルの計測

カスタム・メトリック・レポートを生成するには、カスタム・メトリックの設定コンポーネント(YAMLダイアログで「変数」「カスタム・メトリックの設定」または「変数」「インサイト・カスタム・メトリックの設定」をクリックしてアクセス)を使用して、1つ以上のディメンションを定義する必要があります。
set-insights-component-dialog.pngの説明が続きます
図set-insights-component-dialog.pngの説明

カスタム・メトリック・レポートにデータがない場合、「カスタム・メトリックの設定」状態が定義されていないか、これらの状態への遷移が正しく設定されていない可能性があります。

「カスタム・メトリックの設定」状態は、実行フロー内のエンティティ値またはアクティビティを追跡する任意の場所に追加できます。
ノート

スキルごとに最大6つのディメンションを定義できます。
ダイアログ・フローの構造およびユースケースに応じて、単一の「カスタム・メトリックの設定」状態内に複数のディメンションを定義することも、単一のダイアログ・フロー全体または複数のフローにまたがる複数の「カスタム・メトリックの設定」状態で定義することもできます。

変数値のディメンションの作成

エンティティ値を追跡するには、値設定状態(コンポジット・バッグの解決状態など)の後にnext遷移を「カスタム・メトリックの設定」状態に設定します。カスタム・メトリックの設定レポートのディメンションおよびフィルタは、カスタム・メトリックの設定コンポーネントで定義されたディメンションおよびディメンション値からレンダリングされます。

値設定状態がコンポジット・バッグ・エンティティを参照する場合、Apache Freemarker式を使用してバッグ・アイテムを追跡し、ディメンション値を定義できます。たとえば、ピザ・サイズ・ディメンションの値は、${pizza.value.pizzaSize.value}として定義できます。この式によって返される個々の値(小、中、大)は、カスタム・メトリック・レポートのデータ・セグメントとしてレンダリングされ、フィルタとして適用することもできます。たとえば、ピザ・スキルを計測した結果、ピザのオーダーがサイズ、タイプおよびピザ生地別に分類されます。これらの追加された詳細は、Order Pizzaインテントについてすでにレポートされているメトリックを補足します。
custom-metrics-example.pngの説明が続きます
図custom-metrics-example.pngの説明

ダイアログ・フロー定義の構成および複雑さによっては、追跡するエンティティ値が同じダイアログ・フロー内で解決されない場合があります。このような状況では、単一の「カスタム・メトリックの設定」状態ですべてのディメンションを定義できない場合があります。かわりに、ダイアログ・フロー定義の様々な部分(または異なるフロー全体)に「カスタム・メトリックの設定」状態を追加する必要があります。
ノート

エンティティ値ベースのディメンションは、エンティティ値の設定後にのみカスタム・メトリック・レポートに記録されます。値が設定されていない場合、または値設定状態が「カスタム・メトリックの設定」状態に遷移しない場合、レポートのグラフは欠落しているデータを<not set>として記録します。

スキル使用を追跡するディメンションの作成

変数値に基づくディメンションに加えて、ユーザーがスキルとどのように相互作用するかだけでなく、その全体的な有効性を追跡するディメンションを作成できます。たとえば、ユーザーがライブ・エージェントに転送される頻度と理由を示すディメンションを追加できます。
custom-metrics-agent-transfer-example.pngの説明が続きます
図custom-metrics-agent-transfer-example.pngの説明

このようなディメンションは、ユーザー・エクスペリエンスを通知します。フロー全体で、同じディメンションを異なる「カスタム・メトリックの設定」状態に追加できます。「カスタム・メトリックの設定」の各状態は、異なるカテゴリ(またはディメンション値)を定義します。たとえば、2つの異なるフローにエージェント転送ディメンションがあります。1つはオーダー・ピザ・フローで、スキルがオーダーを正常に完了したときに値エージェント不要を持ち、もう1つはUnresolvedIntentフローで値「不良入力」を持ち、未解決の入力のためにスキルがいつユーザーをライブ・エージェントに転送するかを追跡します。カスタム・メトリック・レポートは、これらの状態が実行フローに含まれている場合に、これらのメトリックのデータを記録します。

エージェント転送ディメンションのカスタム・メトリック状態 フロー 使用
setInsightsCustomMetricsNoAgent ピザのオーダー(コンポジット・バッグの解決状態のnext遷移から、 エージェント不要 注文が支援なしで行われた会話の成功数を反映します。
setInsightsCustomMaxErrors ピザのオーダー(コンポジット・バッグの解決状態のcancel遷移から) 最大エラー数 ユーザーがライブ・エージェントに到達したためにライブ・エージェントに誘導された会話の数を反映します。
setInsightsCustomMetricsBadInput UnresolvedIntent 不正な入力 未解決の入力によってユーザーがライブ・エージェントに転送された会話の数を反映します。
setInsightsCustomMetricsLiveAgent コールエージェント(エージェント開始シーケンス前) エージェントがリクエストされました ユーザーがライブ・エージェントをリクエストした会話の数を反映します。

カスタム・メトリック・データのエクスポート

「エクスポート」をクリックすると、独自のオフライン分析およびレポートに使用できるカスタム・メトリック・データがCSVファイルにダウンロードされます。CSVにダウンロードしたデータをディメンション値でフィルタできます。このダウンロードしたCSVには、次のフィールドがあります。

説明
CREATED_ON データ・エクスポートの日付。
USER_ID スキル・ユーザーのID。
SESSION_ID 現在のセッションの識別子。これはランダムGUIDです。このため、このIDはUSER_IDとは異なります。
BOT_ID スキルの作成時に割り当てられたスキルID。
CUSTOM_METRICS 各カスタム・メトリック・ディメンションのオブジェクトを含むJSON配列。nameはディメンション名、valueは会話から取得されたディメンション値です。 [{"name":"Custom Metric Name 1","value":"Custom Metric Value"},{"name":"Custom Metric Name 2","value":"Custom Metric Value"},...]例: [{"name":"Pizza Size","value":"Large"},{"name":"Pizza Type","value":"Hot and Spicy"},{"name":"Pizza Crust","value":"regular"},{"name":"Agent Transfer","value":"No Agent Needed"}]
QUERY ユーザー発話またはカスタム・メトリック値を含むスキル・レスポンス。
CHOICES UIコンポーネントのメニュー選択肢。
COMPONENT カスタム・メトリックを実行するダイアログ・コンポーネントSystem.setCustomMetrics (ビジュアル・フローでのカスタム・コンポーネントの設定)
CHANNEL セッションを実施したチャネル。

インテント・インサイトのレビュー

概要レポートでは、インテントごとに完了および未完了の会話の合計数を確認できます。インテント・レポートを使用すると、ユーザー・トラフィックがインテントの実行パスに沿ってどのように流れたか、および故障状態によってブロックされた場所を確認できます。
ノート

このレポートは、指定された期間にスキルに定義されたインテントを返すため、その内容は様々な時点でスキルに追加、名前変更または削除されたインテントを反映するように変更される場合があります。

完了したパス

完了した会話の場合、レポートは、消費時間および訪問した状態の数に関する統計を使用して、ユーザーがこれらの会話を完了するためにトラバースした実行パスの数を示します。

これらの統計をユーザー・エクスペリエンスのインジケータとして使用できます。たとえば、このレポートを使用して、タスクに費やされた時間が適切かどうかや、最短パスでもユーザー・エクスペリエンスが低下している(ユーザーの離脱を促進している可能性がある)かどうかを確認できます。たとえば、プロンプトや値の設定コンポーネントではなく、コンポジット・バッグ・エンティティを使用して値を入力することにより、スキルを介してユーザーをより迅速に誘導します。

完了した会話の詳細:
  • 選択したインテントの実行パスをトレースするには、「パスの表示」をクリックします。これにより、インテントの完了した会話でフィルタされたパス・レポートが開きます。実行パスへのフォーカスを改善するために、関心のない状態をフィルタで除外できます。
  • インテントについて完了した会話のトランスクリプトを読み取るには、「会話の表示」をクリックします。これにより、インテントの完了した会話でフィルタされた会話レポートが開きます。

未完了のパス

未完了の会話の場合、インテントの実行パスに沿った状態を識別するには、「未完了の状態」横棒グラフを使用します。このチャートは、左側のナビゲーション・バーにリストされているトランザクション・インテントに対してレンダリングされ、状態(ダイアログ・フローで定義された状態)または会話の終了を示す内部状態(System.DefaultErrorHandlerなど)別に未完了の会話の分布がプロットされます。これを使用すると、ダイアログ・フローの状態が継続的な障害点であるかどうか、および理由(エラー、タイムアウトまたは不正なユーザー入力)を確認できます。このレポートには未完了パスのパスまたは速度は表示されません(これらはこのユーザー入力に適用されないため)。かわりに、棒グラフでは、どのインテントにも解決できなかったメッセージ、または解決できる可能性があった(システムがインテントを推測できる)が信頼度スコアが低いために解決できなかったメッセージの数に基づいて、各インテントがランク付けされます。
ノート

「未完了状態」チャートでは、YAMLベースのフローでアンサー・インテント(静的インテント)はレンダリングされません。これは、結果がダイアログ・フロー定義の一連の状態によってではなく、System.Intentコンポーネントの状態によってサポートされるためです。
YAMLフローでは、最終状態が空(または暗黙的)遷移({})の場合、インサイトでは会話が不完全とみなされます。スキルがトランザクションを正常に処理した場合でも、インサイトは会話を未完了として分類し、最終状態をSystem.DefaultErrorHandlerとしてチャート化します。
インテントの未完了の会話の詳細:
  • 「パスの表示」をクリックすると、選択したインテントの未完了の会話でフィルタされたパス・レポートが開きます。このパスの終了状態には、ダイアログで定義された状態、または会話の終了を示す内部状態(System.EndSessionSystem.ExpiredSessionSystem.MaxStatesExceededHandlerSystem.DefaultErrorHandlerなど)が含まれる場合があります。

  • 失敗の原因となった会話のトランスクリプトにアクセスするには、「会話の表示」をクリックします。このオプションは、選択したインテントの未完了の会話でフィルタされた会話レポートを開きます。フィルタを適用することで、結果をさらに絞り込むことができます。たとえば、エラー条件でレポートをフィルタできます。

unresolvedIntent

インテント・レポートは、タスク指向インテントの期間およびルートに加えて、解決できなかったメッセージも返します。これらのメッセージを表示するには、左側のナビゲーション・バーでunresolvedIntentをクリックします。「最も近い予測」棒グラフでインテントをクリックすると、「未解決メッセージ」ウィンドウが更新され、そのインテントの未解決のメッセージが確率スコアでソートされます。

これらの未解決メッセージのパスおよび会話は、「パスの表示」および「会話の表示」で表示できますが、「リトレーナ」レポートを使用して未解決のメッセージにアクセスすることもできます。このレポートでは、トレーニング・データに追加できるかぎり評価できます。「再トレーニング」をクリックすると、未解決のメッセージでフィルタされたリトレーナ・レポートが開きます。

パス・インサイトのレビュー

パス・レポートでは、任意の期間のインテントの実行パスを通過した会話の数を確認できます。このレポートは、ストップがインテントを表すことができるトランジット・マップと同様のパス、ダイアログ・フロー定義で定義された状態、および進行中として分類されていないすべての会話の開始と終了を示す内部状態をレンダリングします。
path-report.pngの説明が続きます
図パスreport.pngの説明

このパスをスクロールすると、ユーザー入力した値によって会話が進んだ箇所、不正なユーザー入力、ユーザー入力がないために発生したタイムアウト、システム・エラーまたはその他の問題のために会話行き詰まった箇所を確認できます。完了したパスの最後のストップは緑色ですが、これらの問題が発生した未完了のパスではこれは赤色になります。このレポートを使用すると、各状態の間で会話の数が変わらない箇条書きを見つけ、値が設定された箇所、またはカスタム・コンポーネントが正しく機能していないまたはタイムアウトなどのその他の問題が原因で行き詰まった箇所を特定できます。

パス・レポートの問合せ

「パス」レポートには、問合せパラメータに従ってインテント実行パスがレンダリングされます。このレポートに、いずれかまたはすべてのインテントの完全実行パスと未完了実行パスの両方を問い合せたり、最終状態を選択してパスの長さを設定したり、二次的に重要な状態を除外して実行パスの一部を分離できます。たとえば、変数を設定したり、カスタム・メトリックのスキルを「フィラー」状態として計測する状態が調査の焦点から逸脱していると考えることができます。

すべての実行フローは、問合せの入力後にデフォルトでレンダリングされます。緑色の「開始」矢印これはBeginパス・アイコンのイメージです。は、各会話を開始するシステム状態であるSystem.BeginSessionを表します。System.IntentアイコンSystem.Intentアイコン。は、フィルタに応じて異なるインテントを表すことができます。フィルタとして選択した特定のインテントを参照することも、レポートを「すべて」(デフォルト設定)でフィルタする際にスキルに定義されているすべてのインテントを表すこともできます。

不完全な会話の場合、パスは、会話を終了したエラーを表すSystem.ExpiredSessionSystem.MaxStatesExceededHandlerSystem.DefaultErrorHandlerなどの内部状態で終了することがあります。
ノート

YAMLオーサリング・フローの最終状態が空(または暗黙的)トランザクション({})を使用する場合、インサイトは、この状態をSystem.DefaultErrorHandler状態として分類し、スキルがトランザクションを正常に処理した場合でも会話を未完了とみなします。
最終状態をクリックすると、詳細パネルが開き、統計、エラー、警告および最終ユーザー・メッセージが表示されます。

レポートでは、空白である(またはプレーン・テキストではない)または予期しない入力が含まれている顧客メッセージについては「Nullレスポンス」が表示されます。ポストバック・アクションであるテキスト以外のレスポンスについては、最新のアクションのペイロードが表示されます。例:
{"orderAction":"confirm""system.state":"orderSummary"}
「会話の表示」をクリックすると、パスで問い合せた会話レポートが開き、トランスクリプトのコンテキスト内で会話を終了したメッセージを確認できます。

シナリオ: パス・レポートの問合せ

財務スキルの概要レポートを見ると、不完全な会話が突然増加していることがわかります。積上げ棒グラフのオレンジ色の未完了セグメントで表される値を合計することで、スキルのSend MoneyおよびBalancesインテントの実行パスで会話が失敗していることがわかります。

インテントの失敗をさらに調査するには、パス・レポートを開き、最初の問合せ(結果が不完全なすべてのインテントをフィルタする)を入力します。パスは2つのブランチ(startPaymentsで始まり、SystemDefaultErrorHandlerで終わるブランチと、startBalancesで始まり、System.DefaultErrorHandlerで終わるブランチ)でレンダリングされます。どちらのパスでも最終ノードをクリックすると、エラー数を示す詳細ペインが開き、これらのエラーが発生する前にスキルが受信したユーザー・メッセージのスニペットが表示されます。これらのスニペットをコンテキストで表示するには、詳細パネルの「会話の表示」をクリックして記録を表示します。すべての会話で、スキルは予期しないエラー・プロンプトで応答するように強制されました(Oops!I'm encountering a spot of trouble…)。これは、システム・エラーによりユーザー・リクエストを処理できなかったためです。

これらのエラーにつながる状態(およびこれらの失敗を引き起こす可能性のある役割)の詳細は、ダイアログ・フロー定義を参照して各インテントの実行パスを開始する状態を特定してください。これらの状態は、startBalancesstartTxnsstartPaymentsstartTrackSpendingおよびsetDateです。

ダイアログ・フロー定義へのパスを比較すると、startPaymentsフローとstartBalancesフローの両方で、パスにレンダリングされた最後の状態がカスタム・コンポーネントを使用する状態より前にあることがわかります。「コンポーネント」これは、左側のナビゲーション・バーにある「コンポーネント」アイコンのイメージですページを確認すると、サービスが無効になり、会話を完了するために必要なアカウント情報がスキルによって取得されないことがわかります。

スキルの会話インサイトのレビュー

会話レポートを使用して、会話の実際の記録を調べて、ユーザー入力がインテント関連のパスをどのように完了したか、またはどうして完了しなかったかを確認できます。チャネル、モード(音声、テキスト、すべて)、タイプ(インテント・フローまたはLLMフロー)および期間で会話をフィルタできます。

このレポートをインテントでフィルタすると、会話記録をレビューできます。会話の長さや結果などのディメンションを追加でき、ディメンションは完了、未完了または進行中として示されます。未完了の会話の原因となったエラー・タイプを確認するには、「結果」を「未完了」でフィルタ処理してから、「エラー」フィルタにいずれかのエラー・カテゴリ(「タイムアウト」「無限ループ」および「システム処理エラー」)を選択します。音声として始まり、テキストとして終わるメッセージが含まれる会話の場合は、「切り替えられた会話」でフィルタすることもできます。
ノート

1つのインテントの場合、会話レポートには完了した様々な会話がリストされます。ただし、YAMLオーサリング・ダイアログ・フローでは、完了は、ユーザー・メッセージおよびreturn遷移(会話を終了して会話コンテキストを破棄する)に応じて様々なことを意味します。たとえば、OrderPizzaインテントの場合、会話レポートには、正常に完了した2つの会話が表示されることがあります。そのうちの1つのみがオーダーを完了して終了します。もう1つの会話も正常に終了しますが、オーダーを処理するかわりに、間違ったユーザー入力を処理します。

会話記録の表示

「会話の表示」をクリックすると、チャット・ウィンドウのコンテキストで会話が開きます。棒グラフ・アイコンをクリックすると、そのインタラクションの音声メトリックが表示されます。
view-conversation-window.pngの説明が続きます
図view-conversation-window.pngの説明

音声メトリックの表示

「音声メトリックの表示」をクリックすると、会話全体で平均される音声メトリックのサブセットが表示されます。これらのメトリックを個々の音声対話別に分類して表示するには、「会話の表示」をクリックしてアクセスする記録ビューの棒グラフ・アイコンをクリックします。

PII匿名化

ユーザー・メッセージには、個人識別可能情報(PII)、姓名、電話番号、Eメール・アドレスなどの情報を含めることができます。ユーザーのプライバシーを保護し、メッセージのコンテキストを保持するために、データベースに永続化する前に、同等の値(匿名)でPII値を匿名化できます。これらの匿名性は、セッション内で一貫して使用されます。たとえば、会話中の「John Smith」のすべての出現は、匿名「davis」に置き換えられます。この場合、John Smithではなくdavisがデータベースに格納され、エクスポート・ログ全体に表示され、InsightsはConvevrsationsレポート、リトレーナおよびキーワードphrase cloudなどをレポートします。
ノート

CURRENCYおよびDATE_TIME値は、数値を含む場合でも匿名化されません。また、コンポジット・バッグ・エンティティのデフォルト・プロンプト("Please select one value for...")の"one"は、数値として匿名化されます。これを回避するには、カスタム・プロンプトを追加します(「a値の選択」など)。
次のシステム・エンティティによって認識される値を匿名化できます。
  • PERSON
  • NUMBER
  • 電子メール
  • PHONE_NUMBER
  • URL
ノート

マスキングの有効化は、リリース21.12で非推奨になりました。インサイト・レポートおよびエクスポート・ログの数値をマスクするには、かわりにPII匿名化を使用します。21.12リリースより前に記録された会話には匿名化を適用できません。

PII匿名化の有効化

  1. 「設定」「一般」をクリックします。
  2. 「PII匿名化の有効化」をオンにします。
  3. 「エンティティの追加」をクリックして、インサイト・レポートおよびログで匿名化するエンティティ値を選択します。
    ノート

    匿名化された値は、選択したエンティティのPII値の匿名化を有効にした後にのみデータベースに保持されます。以前の会話には適用されません。インサイト・レポートまたはエクスポート・ファイルに選択した日付範囲によっては、PII値が実際のフォームと匿名フォームの両方に表示される場合があります。エクスポート・タスクを作成するときに、匿名化されていないPII値(スキルまたはデジタル・アシスタント設定で匿名化を有効にする前に発生した会話内の値を含む)に匿名化を適用できます。これらの匿名性は、エクスポートされたファイルにのみ適用され、データベースには保持されません。
    PII値の匿名化を中止する場合、または匿名をまったく使用しない場合は、対応するエンティティを選択し、「エンティティの削除」をクリックします。エンティティを削除すると、その後の会話について、インサイト・レポート全体に実際のPII値が表示されます。しかし、その匿名化された形式は、以前の会話のために残ります。
    ノート

    匿名化は永続的です(エクスポート・タスクによって適用される匿名化は、それにもかかわらず)。匿名化を有効にした後はPII値をリカバリできません。


エクスポート・ファイルのPII匿名化

エクスポートされたインサイト・ファイルの匿名化は、「設定」でスキルまたはデジタル・アシスタントのPII匿名化を有効にしたかどうか(およびいつ)によって異なります。

スキルまたはデジタル・アシスタントのPII匿名化設定を有効にした場合:
  • 選択したエンティティに対して認識されるPII値は、匿名で置き換えられます。これらの匿名性はデータベースに保持され、ログおよびインサイト・レポートのPII値を置き換えます。この匿名化は、「設定」で匿名化を有効にした後(前ではなく)に発生する会話に適用されます。
  • エクスポート・タスクの「ファイル・オプションのPII匿名化の有効化」は、デフォルトで有効になっており、「設定」で選択したエンティティに認識されるPII値が、PII匿名化が設定される前に発生した会話に適用されるようにします。PII匿名化より前の会話へのエクスポート中に適用される匿名が、エクスポート・ファイルにのみ存在します。元のPII値は、データベース、インサイト・ログおよびインサイト・レポートに残ります)。
  • 「ファイルのPII匿名化の有効化」をオフにすると、「設定」で選択したエンティティに対して認識されたPII値のみが匿名化されます。ログ・ファイルには、匿名化設定がスキルまたはデジタル・アシスタントに対して有効になった後に発生した会話の匿名が含まれます。以前の会話は、元の未変更の発話として、PII値がそのまま表示されます。そのため、エクスポート・タスクの日付範囲の一部が匿名化より前である場合、エクスポート・ファイルには匿名化された会話と匿名化されていない会話の両方が含まれることがあります。
    ノート

    エクスポート・タスクにリリース22.04より前に発生した匿名化された会話が含まれている場合、エクスポート・タスクに対して「ファイルのPII匿名化の有効化」を選択すると、エクスポート・ファイルで22.04より前の会話に適用された匿名が変更されるか、または再匿名化されます。エクスポートされたファイル内の匿名が、22.04より前のエクスポート・ファイルの匿名またはインサイト・レポートに表示される匿名と一致しません。
スキルまたはデジタル・アシスタントのPII匿名化設定を無効化または構成しない場合:
  • エクスポート・タスクの「ファイルのPII匿名化の有効化」オプションは、PII値を含むすべての元の未変更の発話がエクスポート・ファイルに含まれるように、デフォルトで無効になります。
  • 「ファイルのPII匿名化の有効化」を選択すると、PII値は、デフォルトのエンティティであるPERSON、EMAIL、URLおよびNUMBERに対してのみ、エクスポートされたファイルで匿名化されます。PII値は、データベース、ログおよびインサイト・レポートに残ります。

リトレーナの適用

顧客は様々なフレーズを使用して、同じリクエストを要求できます。このユーザー入力をインテントに解決できない(または間違ったインテントに解決された)場合は、リトレーナを使用して正しいインテントに送ることができます。支援するために、リトレーナはユーザー入力用のインテントを提案します。実際のユーザー入力を追加しているため、新しい各バージョンでスキルのパフォーマンスを改善できます。
次の1つ以上を使用して、会話履歴をフィルタできます:
  • 期間
  • 言語 – ネイティブ言語サポートまたは翻訳サービスを介して有効になる複数言語機能用。デフォルトでは、レポートはプライマリ言語でフィルタされます。
  • インテント – 上位2つのインテントの名前と照合し、解決に関連するプロパティ、信頼度およびウィン・マージンに対して比較演算子を使用して、フィルタします。
  • チャネル – Oracle Service Cloud統合用に作成されたエージェント・チャネルを含みます。
  • テキストまたは音声モード – 切り替えられた会話を含みます。
レポートには、返される発話ごとの上位2つのインテントと、それらの基準となった「ウィン・マージン」の他に、横棒グラフに信頼度スコアの違いが表示されます。棒の上にカーソルを置くと、実際のスコアが表示されます。 グラフと交差する横線は、スキルの信頼度しきいをスコア超過したか下回った箇所を示します。

リトリーナによるインテントの更新

ユーザー・メッセージをトレーニング・コーパスに追加する際は、次のいくつかの点に注意する必要があります:
  • ユーザー入力を追加できるのは、公開済バージョンではなく、スキルのドラフト・バージョンに属するトレーニング・コーパスのみです。
  • トレーニング・コーパスにすでに存在している、またはリトレーナを使用してすでに追加したユーザー入力は追加できません。
リトレーナを使用してトランザクション・インテントまたは回答インテントを更新するには:
  1. 公開済スキルは更新できないため、新しいデータをコーパスに追加するには、ドラフト・バージョンを作成する必要があります。

    ヒント:

    「すべてのバージョンの比較」 これは、すべてのバージョンの比較アイコンのイメージです。をクリックするか、「最新のみ表示」トグルをオフに切り替えて、スキルのドラフト・バージョンと公開済バージョンの両方にアクセスします。
    スキルの公開済バージョンをレビューしている場合は、スキルのドラフト・バージョンを選択します。
    これは「バージョンの選択」ドロップダウン・メニューのイメージです。

  2. スキルのドラフト・バージョンで、必要に応じてフィルタを適用し、「検索」をクリックします。
  3. ユーザー・メッセージを選択し、「インテントの選択」メニューからターゲット・インテントを選択します。スキルによって複数のネイティブ言語がサポートされている場合は、「言語の選択」メニューから言語を選択して、言語に適したトレーニング・セットに追加できます。

    ヒント:

    個々のインテントに発話を追加することも、複数のインテントを選択してから、表の左上にある「追加先」メニューからターゲット・インテントと、必要に応じて言語を選択することもできます。返されたすべてのリクエストをインテントに追加する場合は、「発話」(表の右上にある)を選択してから、「追加先」メニューからインテントと言語を選択します。
  4. 「例の追加」をクリックします。
  5. スキルを再トレーニングします。
  6. スキルを再公開します。
  7. 新しいスキルでデジタル・アシスタントを更新します。
  8. 概要レポートでメトリックに対する一定期間の変更をモニターし、スキルの様々なバージョンを比較して、新しいバージョンがスキルの全体的な成功に実際に加わったかどうかを確認します。再トレーニング・プロセスを繰り返すと、新しいバージョンごとにスキルの応答性が向上します。たとえば、Oracle Service Cloudチャットと統合されたスキルの場合、再トレーニングは、エスカレーションの下降トレンドをもたらし、これは、エージェント・ハンドオフ・インテントの使用状況の下降トレンドによって示されます。

モデレートされた自己学習

スキルに設定された信頼性しきい値の下に「上位の信頼性」フィルタを設定するか、デフォルトのフィルタである「インテントがunresolvedIntentと一致する」を使用して、インテント処理フレームワークによって作成された信頼性ランキングを使用してトレーニング・コーパスを更新できます。たとえば、unresolvedIntentの検索で「someone used my credit card」が返された場合は、これをDisputeインテントに割り当てることができます。これはモデレートされた自己学習で、スキルの整合性を保ちながらインテント解決を向上させます。

たとえば、レポートのデフォルトの検索基準では、不適切か、トピックから外れているか、スペルミスが含まれているため信頼度レベルに解決できないランダムなユーザー入力が表示されます。棒グラフを参照して、ユーザー入力を割り当てることができます。不明な内容で構成された入力を割り当てることにより、未解決インテントを処理するためのスキルのインテントを強化したり、適切なタスク指向インテントにスペルミスのあるエントリを追加できます(たとえば、Send Moneyインテントに対してsend moneey)。たとえば、スキルにWelcomeインテントがある場合は、スキルが「それについてはわかりませんが、花をオーダーするお手伝いはできます」のような応答を返すことができる、不適切でトピックから外れたメッセージを割り当てることができます。

翻訳サービスのサポート

スキルで翻訳サービスを使用すると、リトレーナにターゲット言語でユーザー・メッセージが表示されます。ただし、リトレーナは、トレーニング・コーパスに翻訳済メッセージを追加しません。かわりに、トレーニング・モデルで許容される言語である英語で追加します。これは翻訳の表示アイコンのイメージですをクリックすると、コーパスに追加できる英語バージョンが表示されます。たとえば、contester (フランス語)に対してこのアイコンをクリックすると、dispute (英語)が表示されます。

データ製造ジョブの作成

インテントに発話を割り当てるかわりに、インテント注釈およびインテント検証ジョブを作成して、このタスクをクラウド・ソース化できます。これらのジョブを作成するために、会話ログをCSVにコンパイルする必要はありません。かわりに、「作成」「データ製造ジョブ」の順にクリックします。
リトレーナ・レポートの「作成」オプションのイメージです。
次に、リトレーナ・レポートでフィルタされたユーザー入力のジョブ・タイプを選択します。たとえば、unresolvedIntentに一致する最上位インテントでフィルタされたレポートからインテント注釈ジョブを作成したり、インテントに一致した発話でフィルタされたレポートからインテント検証ジョブを作成できます。
retrainer-data-manufacturing-job-dialog.pngの説明が続きます
図retrainer-data-manufacturing-job-dialog.pngの説明

ヒント:

「発話の選択」オプションを使用して、データ製造ジョブのリトレーナに適用されたフィルタによって返されるすべての結果を選択するか、発話のランダム・サンプリングを含む可能性のあるこれらの結果のサブセットからジョブを作成できます。「以前のジョブからの発話の除外」を選択すると、以前のデータ製造ジョブに対して選択された発話は後続のジョブで使用できなくなります。たとえば、1つのインテント注釈ジョブに含まれる発話は、後のインテント注釈ジョブでは使用できません。このオプションは、大規模な結果セットを確認するために複数の職務を作成する場合に使用します。
ジョブを作成すると、「データ製造ジョブ」ページに表示されます。このページでは、リンクを共有してクラウド・ワーカーにジョブを配布できます。

テスト・スイートの作成

リトレーナ・レポートで問い合せた結果のデータ製造ジョブと同様に、問合せによって返された発話からテスト・ケースを作成することもできます。これらのテスト・ケースのスイートは、「作成」「テスト・スイート」の順にクリックして、発話テスターに追加できます。
これは「テスト・スイート」オプションのイメージです。
「テスト・スイートの作成」ダイアログの「発話の選択」オプションを使用して、テスト・スイートの発話をフィルタできます。リトレーナに適用されたフィルタによって返されるすべての発話をテスト・スイートに含めるか、これらの結果のサブセット(発話のランダム・サンプリングを含む)を含めることができます。「言語タグを含める」を選択して、テスト・ケースに関連付けられている言語がテスト全体で同じままであることを確認します。
create-test-suite-dialog-insights.pngの説明が続きます
図create-test-suite-dialog-insights.pngの説明

発話テスターの「テスト・ケースに移動」をクリックすると、完了したテスト・スイートにアクセスできます。

言語の使用状況のレビュー

複数言語スキルの場合、「言語」グラフのセグメントを使用して、サポートされている言語の使用状況を比較できます。各セグメントは、現在使用されている言語を表します。
languages-chart-overview-skill.pngの説明が続きます
図languages-chart-overview-skill.pngの説明
グラフの言語で表される会話をレビューする場合は、セグメントまたは凡例をクリックして、選択した言語でフィルタされた会話レポートにドリルダウンできます。
conversation-report-filtered-language.pngの説明が続きます
図conversations-report-filtered-language.pngの説明

インサイト・データのエクスポート

各種インサイト・レポートによって様々な視点が提供されますが、このデータを別の方法で参照する必要がある場合は、エクスポートしたインサイト・データのCSVファイルから独自のレポートを作成できます。

CSVには、ユーザーおよびスキルのメッセージ、コンポーネント・タイプおよび状態のフィールドが含まれます(エクスポート・ログのフィールドを参照)。この内容をフィルタ処理するために処理スクリプトを記述することも、単にスプレッドシート・アプリケーションを使用することもできます。エクスポート・ログのレビューで、ファイルをフィルタ処理するための一般的な方法について説明しています。
ノート

エクスポート・タスクが1,048,000行を超える行を返すときに、データが一連のCSVに分散されることがあります。このような場合は、ZIPファイルに一連のZIPファイルが格納され、それぞれにCSVが格納されます。
「エクスポート」ページには、次の項目別にタスクがリストされます:
  • 名前: エクスポート・タスクの名前。
  • 最終実行: タスクが最後に実行された日付。
  • 作成者: タスクを作成したユーザーの名前。
  • エクスポート・ステータス: 「送信済」、「進行中」、「失敗」、「データなし」(タスクに定義された日付範囲内にエクスポートするデータがない場合)または「完了」(エクスポートされたデータをCSVファイルとしてダウンロードできるハイパーリンク)。「失敗」ステータスの上にカーソルを置くと、説明メッセージが表示されます。
ノート

エクスポート・タスクは、スキルの現在のバージョンに適用されます。

エクスポート・タスクの作成

  1. 「エクスポート」ページを開き、「+エクスポート」をクリックします。
  2. レポートの名前を入力し、日付範囲を入力します。
  3. 「エクスポートされたファイルのPII匿名化の有効化」をクリックして、個人識別可能情報(PII)値をエクスポートされたファイルの匿名に置き換えます。これらの匿名が存在するのは、スキル設定でPIIが有効になっていない場合のみです。この場合も、匿名の値ではなくPII値はデータベースに保存され、エクスポートされたインサイト・ログおよびインサイト・レポート全体(会話レポート、リトレーナ、ワード・クラウドのキー・フレーズなど)に表示されます。スキル設定でPIIが有効になっている場合、ログおよびインサイト・レポートには匿名が含まれます。
    ノート

    スキルまたはデジタル・アシスタント設定に対して有効になっているPII匿名化は、エクスポート・ファイルで匿名化され、エクスポート・ファイル内の匿名化の整合性にも貢献するPII値を考慮します。
  4. 「エクスポート」をクリックします。
  5. タスクが正常に終了したら、「完了」をクリックしてCSV (エクスポートが多いCSV)のZIPをダウンロードします。スキル・レベルのエクスポートCSVの名前は、B_で始まります。デジタル・アシスタント・レベルのエクスポートのファイル名は、D_で始まります。
insights-export-dialog.pngの説明が続きます
図insights-export-dialog.pngの説明

エクスポート・ログのレビュー

多くの場合に注目する必要があるフィールドを次に示します。エクスポート・ログのフィールドでは、すべてのフィールドについて説明します。エクスポートされたインサイト・データのフィルタでは、データをソートするいくつかのアプローチについて説明します。
  • BOT_NAMEには、スキルの名前またはデジタル・アシスタントの名前が含まれます。この列を使用して、ダイアログがデジタル・システムからスキルに(およびスキル間で)どのようにルーティングされるかを確認できます。
  • CHANNEL_SESSION_IDには、チャネル・セッションIDが含まれます。このIDを3列目のCHANNEL_IDと組み合せて使用すると、セッションに対してある種の一意識別子を作成できます。セッションは失効または終了する可能性があるため、この識別子を使用してセッションが変化したかどうかを確認できます。
  • TIMESTAMPは、イベントが発生した順序すなわちシーケンスを示します。通常は、この列でソートします。
  • USER_UTTERANCEおよびBOT_RESPONSEには、スキルとユーザー間の実際の会話が含まれます。TIMESTAMPでソートすると、簡単に、これらの2つのフィールドによってユーザー・メッセージとスキル・メッセージが交互に表示されるようになります。

    USER_UTTERANCE列では発話が重複している場合があります。これは、ユーザーが同一インスタンスで実行をテストしているときに発生する可能性がありますが、会話の別の部分で発話が使用されているという理由で発生する可能性の方が高いと考えられます。

  • COMPONENT_NAMECURR_STATEおよびNEXT_STATEを使用してダイアログ・フローをデバッグできます。

エクスポートされたインサイト・データのフィルタ

通常、イベントの順序を表示するために、TIMESTAMP列でログをソートします。スキル・ユーザーの会話など他の視点から表示するには、システム生成の内部状態で列をフィルタできます。一般的なフィルタリング方法は次のとおりです。
  • スキルおよびデジタル・アシスタントの会話の分類 – デジタル・アシスタントとその登録済スキルの両方のデータがエクスポートに含まれている場合、BOT_NAMEフィールドの内容がわかりにくいことがあります。様々なスキルの間やスキルとデジタル・アシスタントの間で、会話が任意に動いているように見えるためです。ダイアログを正しい順序(およびコンテキスト)で表示するには、TIMESTAMP列を昇順で使用します。
  • 会話の区切りの確認 – System.BeginSessionフィールドといずれかの終了状態を使用して、会話の開始と終了を探します。会話はSystem.BeginSession状態で始まります。次のいずれかの終了状態で終了します:
    • System.EndSession
    • System.ExpiredSession
    • System.MaxStatesExceededHandler
    • System.DefaultErrorHandler
  • 実際のユーザー・スキル会話のレビュー – USER_UTTERANCE列とBOT_RESPONSE列の内容を分離するには、CURR_STATE列をシステム生成状態System.MsgReceivedおよびSystem.MsgSentでフィルタします
    ノート

    テキスト・メッセージ以外のレスポンス(エンティティの解決状態からのレスポンス)では、スキル出力は、改行文字で結合されたレスポンスの一部になります。
    ユーザーとスキルのダイアログの一部が、USER_UTTERANCE列とBOT_RESPONSE列で繰り返される場合があります。ユーザー・テキストが繰り返されるのは、ユーザー入力を必要としない自動遷移があるときです。スキル・レスポンスが繰り返されるのは、次の状態が終了状態のいずれか(System.EndSessionまたはSystem.DefaultErrorHandler)である場合です。
  • ユーザーとスキルのダイアログを含むダイアログ・フロー実行のみをレビュー – 内部トランザクションを表示するか、テキスト・メッセージ以外のみを表示するには、CURR_STATE列でSystem.MsgReceived状態およびSystem.MsgReceived状態をフィルタによって除外する必要があります(ダイアログのみを表示するのとは反対の方法です)。
  • セッションの識別 – CHANNEL_SESSION_IDSESSION_ID (隣合っている)の値を比較します。

エクスポート・ログのフィールド

スキルについてエクスポートされたCSVには、次のフィールドが含まれます。
列名 説明 サンプル値
BOT_NAME スキルの名前 PizzaBot
CHANNEL_SESSION_ID セッションのユーザーのID。この値によって新しいセッションが識別されます。この値の変化は、チャネルのセッションが期限切れになったか、リセットされたことを示します。 2e62fb24-8585-40c7-91a9-8adf0509acd6
SESSIONID 現在のセッションの識別子。これはランダムGUIDです。このために、このIDはCHANNEL_SESSION_IDまたはUSER_IDとは異なります。セッションとは、状態定義での明示的なreturn遷移またはダイアログ・エンジンによって注入される暗黙のreturnによって終了された1つ以上の実行パスです。 00cbecbb-0c2e-4749-bfa9-c1b222182e12
TIMESTAMP 作成日時のタイムスタンプ。イベントを時間順に並べるため、つまり順序付けのために使用されます。 14-SEP-20 01.05.10.409000 PM
USER_ID ユーザーID 2880806
DOMAIN_USERID USER_IDを参照します。 2880806
PARENT_BOT_ID スキルまたはデジタル・アシスタントのID。デジタル・アシスタントによって会話がトリガーされる場合、これはデジタル・アシスタントのIDを指します。 9148117F-D9B8-4E99-9CA9-3C8BA56CE7D5
ENTITY_MATCHES インテントに解決された最初の発話で一致したコンポジット・バッグ・アイテムの値を識別します。ユーザーの最初のメッセージが「大きなピザのオーダー」の場合、この列にはコンポジット・バッグ・エンティティPizza内のPizzaSizeアイテムの一致が含まれます。
{"Pizza":[{"entityName":"Pizza","PizzaSize":["Large"]}]}
後続のユーザー・メッセージ内の他のアイテム値はトラッキングされないため、ユーザーの次のメッセージにPizzaType値が含まれる場合、エクスポート・ファイルには含まれません。ユーザーが最初に「Order a pizza」と入力し、インテントが解決された後、PizzaSizeアイテムのエンティティ値を含むフォローアップ・メッセージ(「make it a large」)を追加すると、ENTITY_MATCHES列にNULL値が記録されます。これは、インテントに解決された初期メッセージにアイテム値が含まれていなかったためです。

PII匿名化を有効にすると、空のオブジェクト({})が返されます。

{"Pizza":[{"entityName":"Pizza","PizzaType":["CHEESE BASIC"],"PizzaSize":["Large"]}]}
PHRASE ODAによるユーザー入力の解釈 large thin pizza
INTENT_LIST 候補インテントのランキング(JSONオブジェクトとして表されます)。 [{"INTENT_NAME":"OrderPizza","INTENT_SCORE":0.4063},{"INTENT_NAME":"OrderPasta","INTENT_SCORE":0.1986}]

デジタル・アシスタントのエクスポートの場合、これはデジタル・アシスタントを介してコールされたスキルのランキングです。例: [{"INTENT_NAME":"Pizza_For_DA_Starter-1.2","INTENT_SCORE":0.931},{"INTENT_NAME":"Retail_for_DA_Starter-1.1","INTENT_SCORE":0.0996},{"INTENT_NAME":"Finance_for_DA_Starter-1.1-DA","INTENT_SCORE":0.0925}]

BOT_RESPONSE ユーザーの任意の発話に対応してスキルが行ったレスポンス。 How old are you?
USER_UTTERANCE ユーザー入力。 18
INTENT 会話を処理するためにスキルによって選択されたインテント。これは、会話に使用できるとみなされインテントのリストのうち最上位のものです。 OrderPizza
LOCALE ユーザーのロケール en-US
COMPONENT_NAME 現在の状態で実行されるコンポーネント(システムまたはカスタム)。このフィールドをCURR_STATEおよびNEXT STATEとともに使用して、ダイアログflow.Thereを、コンポーネントではないCOMPONENT_NAME列の他の値としてデバッグできます:
  • ODA.Routing – イベントが記録されていることを示す情報。
  • __NO_COMPONENT__ – 状態に対してコンポーネントは定義されていません。状態に対してコンポーネントが定義されていない場合、この列に値が含まれないことがあります。
AgeChecker
CURR_STATE 会話の現在の状態。これを使用して、メッセージのソースを判別します。このフィールドには、ダイアログ・フロー定義で定義された状態の名前と、システム生成の状態が含まれます。これらの状態を使用してCSVをフィルタできます。状態には、ユーザー・メッセージのSystem.MsgRecieved と、カスタマ・サービス統合のスキルまたはエージェントによって送信されるメッセージのSystem.MsgSentが含まれます。 checkage

NEXT_STATE 実行パスの次の状態。ダイアログ・フロー定義の状態遷移によって、実行パスの次の状態が示されます。 crust
Language セッション中に使用された言語。 fr
SKILL_VERSION スキルのバージョン 1.2
INTENT_TYPE インテントが、トランザクション・インテント(TRANS)か回答インテント(STATIC)か STATIC
CHANNEL_ID 会話が行われたチャネルを示します。このフィールドは、CHANNEL_SESSION_IDとともにセッションを表します。 AF5D45A0EF4C02D4E053060013AC71BD
ERROR_MESSAGE 返されたエラー・メッセージ。 Session expired due to inactivity.
INTENT_QUERY_TEXT 分類のためにインテント・サーバーに送信された入力。ユーザー入力がネイティブ言語のいずれかである場合、INTENT_QUERY_TEXTUSER_UTTERANCEの内容は同じです。ただし、ユーザー入力がネイティブにサポートされていない言語の場合は異なるため、翻訳されたサービスによって処理されます。このケースでは、INPUT_QUERY_TEXTは英語です。  
TRANSLATE_ENABLED 翻訳サービスが使用されるかどうか。 NO
SKILL_SESSION_ID セッションID 6e2ea3dc-10e2-401a-a621-85e123213d48
ASR_REQUEST_ID 各音声入力を識別する一意のキー・フィールド、すなわち音声リクエストID。この値が存在する場合は、入力が音声入力であることを示します。 cb18bc1edd1cda16ac567f26ff0ce8f0
ASR_EE_DURATION 会話期間における単一の音声発話の長さ。 3376
ASR_LATENCY 音声の待機時間(ミリ秒単位)。音声認識には大量の計算が必要ですが、メモリ帯域幅とバッテリ容量は限られています。このために、音声入力が受け付けられてから転記されるまでの待機時間が発生します。また、サーバー・ベースの実装では、ラウンドトリップによって待機時間がさらに長くなります。 50
ASR_RTF 音声認識システムのパフォーマンスの標準メトリック。入力音声の長さ{I}の処理にかかる時間が{P}の場合、実時間係数はRTF = \frac{P}{I}のように定義できます。音声入力を処理するための時間の比率はCPU時間と比例します。たとえば、1秒のオーディオの処理にCPU時間が1秒かかる場合、RTFは1 (1/1)です。1秒のオーディオの処理に500ミリ秒の場合のRTFは.5または½です。 0.330567
CONVERSATION_ID 会話ID 906ed6bd-de6d-4f59-a2af-3b633d6c7c06
CUSTOM_METRICS 各カスタム・メトリック・ディメンションのオブジェクトを含むJSON配列。nameはディメンション名で、valueは戻り値です。この列は、バージョン22.02以上で使用できます。
[{"name":"Order Sizes","value":"a box of 3 bottles"},{"name":"Wine Types","value":"red wine"},{"name":"Most Popular","value":"Pinot noir"}]

内部状態

状態名 説明
System.MsgReceived スキルが外部ソース(ユーザーや別のスキルなど)からテキスト・メッセージを受信したときに、インサイトに対してトリガーされるメッセージ受信イベント。
System.MsgSent スキルが外部ソース(ユーザーや別のスキルなど)に応答したときに、インサイトに対してトリガーされるメッセージ送信イベント。

System.MsgReceivedイベントに、対応するSystem.MsgSentイベントは存在しないこともあれば、1つまたは複数存在することもあります。

System.BeginSession System.BeginSessionイベントは、次の場合にセッションを開始するためのマーカーとして送信されます:
  • ダイアログ状態がまだ実行されていません。
  • 最初のダイアログ状態がまもなくトリガーされます。
System.EndSession System.EndSessionイベントが、セッション終了のマーカーとして取得されるのは、現在の状態で未処理のエラーが生成されておらず、return遷移(実行する別のダイアログ状態がないことを示す)がある場合です。System.EndSessionイベントは、現在の状態に以下が含まれる場合にも記録されることがあります:
  • エラー処理のためのerror遷移。
  • insightsEndConversation: true会話マーカー。
System.ExpiredSession (Error type: "systemHandled") セッション・タイムアウト。デフォルトのタイムアウトは1時間です。

会話が停止したまま1時間を超えると、セッションの期限切れがトリガーされます。セッションの期限切れは、インサイトで2つの個別のイベントとして取得されます。最初のイベントは、アイドル状態、つまりユーザーとのやり取りが停止したダイアログ・フローの状態です。2番目は内部System.ExpiredSessionイベントです。

System.DefaultErrorHandler デフォルトのエラー・ハンドラが実行されるのは、ダイアログ・フローでのエラー処理が、グローバル(YAMLベースのフローのdefaultTransitionsノードなど)またはerror遷移を使用して状態レベルで定義されていない場合です。ダイアログ・フローにerror遷移が含まれる場合、System.EndSessionイベントがトリガーされます。
System.ExpiredSessionHandler System.ExpiredSessionHandlerイベントが発生するのは、セッションが期限切れになった後に、外部システムまたはユーザーからスキルにメッセージが送信された場合です。たとえば、ユーザーが会話中にスキルとのチャットを停止し、チャット・ウィンドウを開いたままにしておき、1時間を超えてからメッセージを送信すると、このイベントが発生します。
System.MaxStatesExceededHandler このイベントが発生するのは、1つのユーザー・メッセージの中でトリガーされたダイアログ状態が100を超えた場合です。

チュートリアル: Oracle Digital Assistant Insightsの使用

チュートリアルOracle Digital Assistant Insightsの使用に従って、インサイト・レポート(リトレーナを含む)を適用します。