Oracle Cloud Infrastructureドキュメント

インサイト

インサイト・レポートは、スキルに関する問題を検出するための開発者指向のアナリティクスを提供し、問題の発生前に対処できます。 これを使用すると、時間経過に伴う会話のトレンドを追跡し、実行パスを識別し、インテント解決の正確性を判断し、会話記録全体にアクセスできます。

レポート・タイプ

左側のナビゲーション・バーのこれはインサイト・アイコンのイメージです。をクリックして、次のレポートにアクセスします。
  • 概要:スキルのユーザーが時間の経過とともに破棄または完了した会話の観点から、会話メトリック合計のグラフを表示します。 また、このレポートでは、実行メトリック、最も使用されたチャネル、会話継続時間およびエラー件数を含む上位のインテントも示されます。 概要レポートは、インテントおよび会話レポートのアクセス・ポイントでもあります。
  • インテント-実行メトリックのインテント固有のデータおよび情報(状態、会話期間、最も多いパスおよび最も人気のないパス)を指定します。
  • パス:インテントに対する会話フローの視覚的な表示を示します。
  • 会話-スキル-ユーザー・ダイアログの実際のトランスクリプトを表示します。ダイアログ・フローおよびチャット・ウィンドウのコンテキストで表示します。
  • リトレーナ-評価による自己学習によって、取得したインサイトを使用してスキルを改善します。
  • エクスポート: InsightsデータをCSVファイルにダウンロードして、それを使用して独自のレポートを作成できます。

会話トレンド・インサイトの確認

概要レポートは、所定の期間に完了または完了に失敗した会話の数に関して、キー・パフォーマンス・インジケータおよびチャートがスキルを表示するダッシュボードです。
この下側ビューから、不完全な会話の原因となるインテントを見つけることができます。 また、これらのインテントの使用頻度が自分のユースケースで妥当であるかどうかも確認できます。 インテントの完了した会話の数(主インテントのために完了した会話の数をアウト・スペースにするため) これを実用的な用語に使用するために、ピザ・オーダー・スキルがファイル不満スキルになりましたか。

ヒント:

このレポートおよびその他のレポートでは、メッセージの発生元のロケール別に、またはこれらのメッセージを配信するチャネル別にデータを表示できます。


レポート・アクセス

概要レポートのキー・パフォーマンス・インジケータとそのインテント使用状況ランキング棒グラフは、レポートにアクセスして詳細な分析レベルを提供します。

ここをクリック... ...このレポートにアクセス
会話(合計) 「会話」レポート(合計でフィルタ)。
完了 「会話」レポート。完了および最新によってフィルタ処理されます。
不完全 「会話」レポート。エラーが切り替えられた状態で不完全および最新でフィルタされています。
エラー条件 上記と同じです。
未完了(インテント棒グラフ) 「インテント」レポートは、不完全なビューに切り替えられました。
完了(インテント棒グラフ) 「インテント」レポート。完全なビューに切り替えられました。

インテントのレビュー

インテント・レポートでは、特定の期間における各インテントのユーザー・トラフィックを詳しく調べることができます。 概要ページには、各インテントの完了または未完了の会話の数がすでに表示されていますが、インテント・レポートでは、終了ポイントに到達するまでのパスとかかった平均時間を表示することにより、これらの会話がダイアログ・フロー定義をどのようにフローしたかが表示されます。 インテント・レポートを使用すると、会話が完了しないように、ダイアログ・フローの問題のある部分を分離できます。 このレポートを使用して、ダイアログ・フローを絞り込むこともできます。
ノート

インサイト・レポートは、ダイアログ・フローをトポロジ図としてレンダリングします。
これは転送マップと似ていますが、各ストップは状態です。 会話の進行状況の表示(およびデバッグの支援)を示すために、マップは各州のコンポーネントを示します。 このパスをスクロールすると、ユーザー入力の値によって会話が進んだ箇所、不正なユーザー入力、ユーザー入力がないために発生したタイムアウト、システム・エラーまたはその他の問題のために会話が行き詰った箇所を確認できます。 完了パスの最後のストップは緑色ですが、これらの問題が発生する不完全なパスは赤色です。

このレポートは特定の期間にわたってスキルに定義されたインテントを戻すため、コンテンツは、様々な時点でスキルから追加、名前変更または削除されたインテントを反映して変化します。 インテントごとに、指定の期間における完了した会話と不完全な会話の間でビューを切り替えることができます。
insights_intents_selector.pngの説明が続きます
図insights_intents_selector.pngの説明

不完全な会話の場合は、これらの会話が不完全な状態水平棒グラフを使用して終了した状態を識別できます。 このチャートには、特定の障害点となった会話の数が表示されるため、繰返しの問題が発生する可能性があります。 また、パスに沿ってスクロールして、前述の状態を表示することもできます。 「パス」レポートを使用すると、フローがこの状態で終了した理由(エラー、タイムアウトまたは不正なユーザー入力)を確認できます。
完了ビューの統計およびパスは、ユーザー・エクスペリエンスのインジケータとして使用できます。 たとえば、このレポートを使用すると、支出時間がタスクに適しているかどうかを確認できます。最短のパスが引き続きテストされているユーザー操作になっている場合は、ユーザーの削除をお薦めします。 たとえば、プロンプトと値の設定コンポーネントのかわりに、コンポジット・バッグのエンティティを使用して値を取り出すことで、ユーザーのスキルをより迅速に確認できますか。
タスク指向のインテントの期間およびルートに加えて、インテント・レポートでは解決できなかったメッセージも返されます。 これらのメッセージを表示するには、unresolvedIntentをクリックします。

このレポートにはパスまたは速度が表示されません。これは、このユーザー入力に適用されないためです。 かわりに、棒チャートは、どのインテントに対しても解決できなかった、または解決される可能性(つまり、システムがインテントを推測できる)があっても、信頼度が低いためにこれを実行できなかった複数のメッセージを基準にして各インテントをランク付けします。 棒グラフのインテントをクリックすると、これらの候補者メッセージを確率スコアでソートして表示できます。

ノート

これらは、「リトレーナ」レポートのデフォルトの検索基準によって返されるメッセージと同じであるため、そこに追加できます。

パス・インサイトの確認

パス・レポートでは、特定の期間のダイアログ・フローの実行パスを通過した会話の数を確認できます。 これには、障害のあるカスタム・コンポーネントのような他の問題が原因で会話が分岐したために実行される各状態と実行パス間で管理される会話数が表示されます。これは、値が設定されている(または設定されていない)か、または失効したためです。



インテントの不完全な実行パスについてこのレポートを問い合せる場合は、最終状態も選択します。
最終状態をクリックすると、エラー・メッセージ、または詳細パネルに表示される最後の顧客メッセージから、会話の成功または失敗に関する詳細を確認できます。 レポートには、空白(プレーン・テキストではない)または予期しない入力値が含まれているすべての顧客メッセージについて、Nullレスポンスが表示されます。 ポストバック・アクションである非テキストのレスポンスの場合、最新のアクションのペイロードが表示されます。 例えば:
{"orderAction":"confirm""system.state":"orderSummary"}
会話をクリックすると、会話レポートがオープンし、ここで記録全体をレビューできます。

スキル会話のインサイトの確認

会話レポートを使用すると、会話の実際の記録を確認できるため、ユーザーがインテント関連パスを完了した方法や、ユーザーが行った理由を確認できます。

これらの記録を確認するために、このレポートでは、記録を有効化するインテントでフィルタできます。 会話の長さや結果などのディメンションを追加できます。このディメンションは、完了済または未完了として示されています。 このビューを切り替えて、会話を妨げる可能性のあるシステムまたはカスタム・コンポーネントのエラーを含めることもできます。

レポートから返される各行には、会話のトランスクリプトと、その会話を実行したパスが表示されます。 会話の表示をクリックすると、チャット・ウィンドウのコンテキスト内でこのダイアログを表示できます。 デフォルトでは、チャット・ウィンドウとトランスクリプトの両方にあるすべての数字が不明瞭化されており、クレジット・カード番号などの機密情報が保護されます。 不明瞭化された値を表示するには、マスキングの有効化オプション(設定 > 一般にある)をオフにします。 このオプションは、UIの値のみをマスクします。 ロギング・データはマスキングされません。

インサイト・レポートが戻り遷移を処理する方法

単一のインテントの場合、会話レポートには完了した様々な会話がリストされます。 ただし、完了では、ユーザー・メッセージおよびreturn遷移によって異なることを意味し、会話を終了できます。 たとえば、OrderPizzaのインテントの場合、会話レポートには、正常に完了した2つの会話が表示されることがあります。 完了した順序では、これらのうち1つの項目のみが選択されます。 その他の会話は正常に終了しますが、オーダーを処理するのではなく、間違ったユーザー入力を処理します。
  startUnresolved:
    component: "System.Output"
    properties:
      text: "I can only order pizza for you today. Let me know what kind of pizza you'd like?"
      keepTurn: false
    transitions:
      return: "startUnresolved"
パス・レポートの最終状態フィルタを使用すると、同じインテントに対する様々な結果を確認できます。

インサイト・レポートでの空の遷移の処理方法

スキルは、フローの最終状態が遷移しない場合または空の遷移(transitions: {})を使用している場合に、例外をスローします。 インサイトでは、これらの会話は、正常にトランザクションを処理した場合でも不完全とみなされます。 パスには、これらの最終的な状態はSystem.DefaultErrorHandlerとして分類されます。

リトレーナの適用

リトレーナを使用すると、ユーザー入力をトレーニング・コーパスに組み入れてスキルを改善できます。

カスタマは様々なフレーズを使用して同じタスクを要求できます。 このレポートでは、これらのフレーズが識別され、それらを割り当てることができるインテントが提示されます。

他のレポートと同様に、特定のチャネルまたはロケールで配信されたユーザー・メッセージの対話履歴をフィルタできますが、ここでは、インテント別ユーザー・メッセージ、インテント関連プロパティ(上位の信頼度、ウィン・マージン)または比較演算子より小さい、リンクされたこれらの組合せによって、ユーザー・メッセージを検索できます。 レポートに返される各ユーザー・メッセージには、100%積上げ棒グラフが付随しており、各インテントの信頼度レベルが高い順に表示されます。 このグラフのセグメントを参照して、ユーザー入力をインテントに一致させることができます。
トレーニング・コーパスにユーザー・メッセージを追加するときは、いくつかの点に注意する必要があります:
  • インテントとしてユーザー・メッセージを追加する場合は、スキルを再トレーニングする必要があります。

  • トレーニング・コーパスにすでに発話として存在しているユーザー入力は追加できません。

  • 個々のインテントにメッセージを追加したり、発話例の追加の順にクリックしてすべてのユーザー・メッセージを選択することもできます。

自己学習のモデレート

トップの信頼度フィルタをスキルに設定された信頼度しきい値以下に設定するか、デフォルトのフィルタインテントがunresolvedIntentに一致を使用して、インテント処理フレームワークによって行われた信頼度ランキングを使用してトレーニング・コーパスを更新できます。 たとえば、unresolvedIntent検索で"someone used my credit card"が返された場合は、Disputeというインテントにそれに割り当てることができます。 これはモデレート自己学習です - スキルの整合性を維持しながら、インテント解決を強化します。

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

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

各種Insightsレポートでは、Insightsデータについて様々なパースペクティブが提供されますが、このデータを別の方法で表示する必要がある場合は、エクスポートされたInsightsデータのCSVファイルから独自のレポートを作成できます。

エクスポート・タスクを作成して、分析するデータの種類を定義できます。エクスポート・タスクは、スキルの現行バージョンに適用されます。 このタスクが完了したら、CSVファイルが含まれているZIPをダウンロードします。 これには、ユーザー・メッセージ、スキル・レスポンス、コンポーネント・タイプ、状態名などの詳細が読取り可能な書式で含まれます。 Insightsデータは、タスクが大きなデータ・セットを返すときに、一連のCSVsにまたがることがあります。 このような場合は、ZIPファイルに一連のZIPファイルが格納され、それぞれにCSVが格納されます。

「エクスポート」ページには、次の方法でタスクがリストされます:
  • 名前: エクスポート・タスクの名前。
  • 最終実行: タスクが最近実行された日付。
  • 作成者: タスクを作成したユーザーの名前。
  • エクスポート・ステータス: 開始済、進行中、失敗、データなし(タスクに対して定義された日付範囲内でエクスポートするデータがない場合)、または完了済、エクスポートしたデータをCSVファイルとしてダウンロードできるハイパーリンク。 失敗ステータスにカーソルを合せると、説明メッセージが表示されます。

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

エクスポート・タスクを作成する手順は、次のとおりです:
  1. エクスポート・ページを開き、+エクスポートをクリックします。
  2. レポートの名前を入力し、日付範囲を入力します。
  3. ロケールまたはチャネルでデータをフィルタするには、+基準をクリックします。
  4. 次のいずれかと一致または次のいずれとも一致しないのいずれかの演算子を選択し、フィルタ・タイプに固有の値を選択します。
  5. エクスポートをクリックします。
insights_export_dialog.pngの説明は以下のとおりです
「図insights_export_dialog.pngの説明」

シナリオ: インサイト・データの解釈

プライマリ・ユースケースが配信フローであるFlowerShopBotと呼ばれるスキルを開発しましたが、過去90日間のアクティビティを表示した後、発生した問題があった概要レポートからすぐに見ることができます。 ここでは、ジャンプしたユーザーについて説明します:
  • KPIは、会話の大部分(約57%)が不完全であることを示しています。
  • インテント棒グラフには、表示したいものの反対が表示されます: OrderFlowersおよびようこそのインテントの実行パスは十分に利用されています。 また、実行パスが非常に多い上位ランクのインテントである必要がありますが、FileComplaintより下でランク付けされます(OrderFlowersの逆)。
  • プライマリ・ユースケースに関するすべての会話(OrderFlowers)は、選択した期間中未完了のままです。 一方、FileComplaintの会話は、OpenFranchiseの補助関数と同様に、100 %の完了率を持ちます。
  • グラフのunresolvedIntentバーには、期間中の会話の半分からのメッセージを認識できないため、スキルのトレーニングにギャップがあることが示されます。
このスキルをトラックに戻すには、インテントおよびパス・レポートを使用して、ユーザーがOrderFlowersの実行パスから離れた状態を特定する必要があります。 インサイト予測とリトレーナを使用すると、トレーニング・コーパスの未解決のメッセージを利用することもできます。

ステップ1: インテント・レポートでのOrderFlowers実行パスのレビュー

最初に、OrderFlowersバーの不完全なシリーズをクリックして、インテント・レポートを開きます。
不完全なシリーズからドリルダウンすると、OrderFlowersの不完全な結果モードでインテント・レポートが開きます。 レポートの横棒チャートは、システム・エラー(System.DefaultErrorHandlerバー)により停止した会話の数を示しますが、会話が途中で終了した2つの状態も示しています: makePaymentおよびshowFlowersMenu。

パスに沿ってスクロールすると、これらの状態のコンテキストが提供されます: これらの問題領域の直前にある状態と、フローの各状態に定義されたコンポーネントを示すアイコンが表示されます。 この点で特に重要なのは、makePaymentおよびshowFlowersMenuの状態です。

ステップ2: エラーおよびユーザー・メッセージのパス・レポートの確認

OrderFlowersのインテント・レポートには、会話が終了した場所が表示されますが、理由を調査するには、パス・レポートを開き、OrderFlowersのインテント、不完全な結果、およびmakePaymentによって最終的な状態でフィルタします。 このレポートは、共通の開始点後に会話が分岐する場所を表示するための追加ディメンションを提供します。

ここでは、checkFlowerBouquetEntityの状態に起因する会話ブランチです。 その詳細が欠落している場合、System.SwitchコンポーネントおよびApache FreeMarker式は、ユーザー・メッセージが飛行者タイプまたはバウンス名、またはs howOrderTypeMenu (System.Listコンポーネント)に明示的にメンションしたときに、orderFlowersまたはorderBouquetの状態に顧客をルーティングします。
checkFlowerBouquetEntity:
    component: "System.Switch"
    properties:
      source: "<#if iResult.value?has_content><#if iResult.value.entityMatches.Bouquets?has_content>orderBouquet<#else><#if iResult.value.entityMatches.Flowers?has_content>orderFlowers<#else> none</#if></#if><#else>none</#if>"
      values:
      - "orderFlowers"
      - "orderBouquet"
    transitions:
      actions:
        orderFlowers: "orderFlowers"
        orderBouquet: "orderBouquet"
        NONE: "showOrderTypeMenu"
システム・エラーの確認
両方の実行パスにシステム・エラーがあります。 これらのエラーをスローする前にスキルが受け取ったメッセージを確認するには、パスの赤いSystem.Output停止をクリックします。
会話のトランスクリプト(スキルがセッションを終了したときに表示される標準のOopsメッセージに含まれる可能性がある)を確認するには、会話をクリックして会話レポートを開きます。

このレポートに、各実行パスで大量のシステム・エラーが示された場合、ユーザーがスキルを継続できるように、エラー遷移関連のルーティングを指定してダイアログのフロー定義を拡張できます。

タイムアウトのトラブルシューティング

これらの両方のパスで共通の失敗ポイント(入力フォームを提供するwebビューを起動するmakePayment状態)を確認することもできます。 (または、この場合、webビューを起動しなかった可能性があります)。 システム・エラーが他の場所でユーザーをブロックしていますが、ここでNullレスポンスは、webビューの起動時にユーザーがスキルを放棄していると表示されることを示しています。

会話をクリックすると、トランスクリプトが開き、webビューを呼び出した状態のユーザーが停止したこと、または遷移して完了しないことが示されます。

webビューの起動時に、顧客は一貫してスキルを放棄するため、問題がWebビュー、ダイアログ・フロー定義、またはその両方の組合せにあるかどうかを調査します。 スキンとwebビューの対話機能が適切な場合、この時点での顧客は関心をなくしている可能性があります。 この期間中に、完了したOrderFlowers実行パス用にインテント・レポートを更新すると、カスタマは約3分間、50の状態の移動に費やしたことがわかります。 この色が長いと思われる場合は、ユーザー入力がより効率的に収集されるように、スキルを修正できます。

また、検索する障害のあるshowFlowersMenu状態もあります。 カスタマがいない場所を確認するには、パス・レポートを開き、OrderFlowers、未完了およびshowFlowersMenuで最終状態としてフィルタを適用します。 showFlowersMenuをクリックすると、カスタマはこの状態でスキルを使用して停止したことが表示され、System.CommonResponseコンポーネントを使用して定義されます。

顧客のニーズに対応していないため、スキルはタイムアウトします(この場合は、赤色の登録がブーケトになります)。 会話をクリックしてトランスクリプトにドリルダウンすると、カスタマが選択を拒否した後でも、記録が自動的に選択されたことがわかります。

ステップ3: RetrainerでのTraining Corpusの更新

OrderFlowersの実行パスに関する問題だけでなく、スキルが顧客入力の50 %を処理できないことが概要に表示されていることに気付きました。 タスク指向のインテントの1つに解決するかわりに、各期間のユーザー・メッセージの大部分はunresolvedIntentsとして分類されます。 場合によっては適切ですが、トレーニング・コーパスに追加可能なメッセージが他のユーザーから提供される場合もあります。 次の方法によって、これらのメッセージを調査できます:
  1. インテントをクリックします。
  2. unresolvedIntentをクリックします。
  3. 最も近い予測グラフのunresolvedIntentバーをクリックします。
  4. 「未解決のメッセージ」パネルを確認します。
スキルが第1の目標を達成するのに役立つ2つのメッセージがあります。これは、顧客の入力に入力ミス、スラクションまたは無駄が含まれている場合でも役立ちます:
  • "get flowerss" (68%)
  • "i wud like to order flwrs." (64%)

これらのメッセージをトレーニング・データとして追加するには、次の手順を実行します:
  1. リトレーナをクリックします。
  2. 次の基準を追加して、これらのメッセージのレポートをフィルタします:
    • インテント一致unresolvedIntent
    • 上位インテント信頼度が62%より大きい
  3. 追加メニューから発話OrderFlowersの順に選択し、例の追加をクリックして、これらのメッセージをOrderFlowersインテントに一括追加します。
  4. スキルを取得します。

最も近い予測チャートとリトレーナを使用して、トレーニング・コーパスの切離しに使用できる便利なコンテンツから不明なものを分離できます。 また、スキルを規則化するために必要な方向を示すこともできます。 たとえば、負の未解決のユーザー・メッセージが多数ある場合は、ユーザーの不正使用を処理する目的でインテント(またはスタンドアロン・スキルの作成でも)を追加することを検討してください。