次の方法で共有


Power Apps からダウンロードした会話トランスクリプトを理解する方法

Power Apps と Copilot Studio の両方で、お客様とエージェントとのやり取りのトランスクリプトを表示、エクスポート、ダウンロードすることができます。 各アプリがエクスポートする情報はわずかに異なります。

重要

環境作成者 ロール を持つ作成者は、トランスクリプトに自動的にアクセスすることはできません。

この記事では、Power Apps で会話トランスクリプトをダウンロードし、それらを使用して Power BI でレポートを作成する方法について説明します。 トランスクリプトを Copilot Studio で直接ダウンロードするには、会話のトランスクリプトを Copilot Studio でダウンロードするをご覧ください。

既定では、Power Apps は過去 30 日間の会話トランスクリプトをダウンロードします。 保持期間は変更できます。

注意

SharePointを知識ソースとして使い、機密データを含む文書を使用するエージェントの応答は、会話の書き起こしには含まれません。

会話トランスクリプトは、次の目的では作成されません。

  • Microsoft Dataverse for Teams 環境
  • Dataverse 開発環境
  • Microsoft 365 Copilot エージェント

前提条件

Power Apps ポータルから会話のトランスクリプトを表示してエクスポートする

  1. Power Apps にサインインします。

  2. サイド ペインで、テーブル を選択し、すべて を選択します。

    Tablesノードのスクリーンショットで「All」を選択しています。

  3. 検索ボックスに、「会話」と入力します。

  4. 会話トランスクリプト テーブルを選択します。

    会話トランスクリプト テーブルのページが開きます。

  5. 上部にあるメニュー バーで、エクスポート>エクスポート データを選択します。

    エクスポート用のデータをまとめるのに数分かかります。

    データのエクスポート オプションを含むエクスポート メニューを示すスクリーンショット。

  6. Power Appsがデータをエクスポート準備するまで数分待ってから、「 エクスポート済みデータをダウンロード」を選択します。

    ファイルはブラウザの既定のダウンロード場所に ZIP アーカイブとして保存されます。

会話トランスクリプトを理解する

会話の書き起こしはDataverseのテーブルとして存在し、CSV(カンマ区切られた値)ファイルとしてダウンロードできます。 システムがいつどのように会話の書き起こしに情報を記録するかを決定する論理は以下の通りです。

  • システムは30分間の非活動後に会話を書き起こし記録に保存します。 非活動時間後に会話が再開されると、システムは新しいアクティビティを同じ Name 値の新しいレコードに保存しますが、 ConversationStartTime 値も変わります。
  • テレフォニーチャンネルに公開されたエージェントの場合、会話終了イベントの3分後に会話がタイムアウトします。
  • 各レコードにはトランスクリプト(Content 列)の最大容量が1MBです。 記録がこの上限を超えると、システムは記録を複数のレコードに分割し、すべて同じ NameConversationStartTime 値を持ちますが、 Metadata.BatchId 値は異なります。
  • トランスクリプトを 統合 するには、同じ NameConversationStartTime 値のレコードをすべて取り、 BatchId順にソートしてください。

以下の表は、会話トランスクリプトでの最も重要なフィールドを示します。

Field プロパティ
Content JSON 形式のトランスクリプト全体 コンテンツ フィールドを参照してください
ConversationStartTime 会話が開始した時刻 (データ ストアに書き込まれたトランスクリプト レコードの時刻ではない) 2021-04-19T20:39:09Z
ConversationTranscript Dataverse テーブルの行の一意の識別子 28eccb77-xxxx-4a63-985f-ffaaadd6f391
Metadata エージェントID、テナントID、エージェント名、バッチIDを含むJSONです {"BotId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "AADTenantId": "bbbbcccc-1111-dddd-2222-eeee3333ffff", "BotName": "Test Bot", "BatchId":2}
Name ConversationIdから作成されたカスタム行の名前の後に続くBotId 8YYe8iif49ZKkycZLe7HUO_198eca5f-1145-4ae6-8c08-835d884a8688
Bot_ConversationTranscript エージェントの ID aaaabbbb-0000-cccc-1111-dddd2222eeee
Created on トランスクリプト レコードが作成された日時 2021-04-20T02:40:13Z

コンテンツ フィールド

Content フィールドは、ユーザーがエージェントと行ったすべてのアクティビティの生のログです。 一般的な活動 タイプには、メッセージ と イベント があります。

  • メッセージ活動は、会話内に表示されるコンテンツを表します。 メッセージ 活動には、テキスト、スピーチ、インタラクティブカード、バイナリまたは不明な添付ファイルが含まれる場合があります。
  • イベント アクティビティは、クライアントまたはチャネルからエージェントにプログラム情報を伝達します。

活動タイプの詳細については、Bot Framework の活動スキーマを参照してください。

次の表では、コンテンツ JSON でのいくつかの主要なフィールドについて説明します:

プロパティ
ID 活動オブジェクトの一意の GUID
valueType アクティビティに保存される値のタイプです。アクティビティが提供する情報を指定します (一般的なアクティビティ値のタイプ)
timestamp 活動がエポック形式で生成されたときのタイム スタンプ (UTC 時間で 1970 年 1 月 1 日午前 0 時からの秒数)
type 活動のタイプ; たとえば、messageevent、または trace
replyToId 現在の活動が応答している活動の ID
from フィールド idrole が含まれています:
  • id - 呼び出し元の ID
  • role - 0 または 1 を保持します
    • 0 - 活動はエージェントから来ています
    • 1 - 活動はエージェントと対話しているユーザーから来ています
注:
id は、キャンバスがユーザーの一意の ID を渡す場合、エージェントとインタラクトしているアクティブユーザーの数を計算するために使用できます。 キャンバスが ID を渡さない場合、会話ごとに一意の ID が渡されます。
セキュリティとプライバシーのために、システムはIDを書き起こし前にハッシュ化します。
channelId アクティビティの発生元となるチャネルのID。例: directlinemsteams、または facebook
textFormat テキストのフォーマット; たとえば、plain、または markdown
attachments 活動に関連付けられた動的なリッチ データ; たとえば、AdaptiveCardsHeroCards、または Carousel data
text message 活動のテキスト
value 値タイプに基づく活動に固有のフィールド; このフィールドには、ほとんどの有用な情報が存在します
channeldata 次のチャネル データが含まれています:
  • メッセージに対して:
    • DialogTraceDetail
    • DialogErrorDetail
    • VariableDetail (変数に割り当てられた値が含まれます)
    • CurrentMessageDetail
  • イベントに対して:
    • cci_trace_id
    • traceHistory
    • enableDiagnostics
    • clientTimestamp
    • clientActivityId
name イベント活動の名前; 例えば、SetPVAContext

一般的な活動値タイプ

活動値のタイプ プロパティ
ConversationInfo 会話が、Copilot Studio テスト ペイン (isDesignMode) および会話のロケールからのものであるかどうか
CSATSurveyRequest ユーザーには、顧客満足度 (CSAT) 調査が表示されます
CSATSurveyResponse ユーザーは CSAT 調査に回答します
DialogRedirect ユーザーは別のトピックにリダイレクトされます
ImpliedSuccess ユーザーがトピックの質問ノードに到達しました。条件の 1 つが Confirmed Success CSAT システム トピック (クラシック ボットのみ) を指しているか、 会話の終了 システム トピックを呼び出しました
IntentRecognition ユーザーがトピックをトリガーしました
PRRSurveyRequest ユーザーは、トピックが 会話の終わり トピックからの質問に回答したかどうかを尋ねられました
PRRSurveyResponse トピックが 会話の終わり トピックからの質問に回答したかどうかに対するユーザーの応答
SessionInfo 種類(unengaged または engaged)、結果(EscalatedResolvedAbandon)、セッション開始・終了時間(startTimeUtcendTimeUtc)、そしてセッションのターン数
VariableAssignment 値が変数に割り当てられます

拡張トランスクリプト

エージェントはノードレベルのデータを含む強化トランスクリプトを生成するように設定できます。 このデータは、トピック内の会話の流れを追跡するのに役立ちます。 例えば、注文の管理 トピックでは、ユーザーは新しい注文を送信するか、既存の注文を取得するかを選択できます。 ノードレベルのデータにより、これらのオプション全体でユーザーの行動を分析できます。

拡張トランスクリプトをオンにする

  1. エージェントを開きます。

  2. 設定>詳細の順に移動します。

  3. 「トランスクリプトを強調」を選択し、その後「トランスクリプトにノードレベルの詳細を含める」をオンにします。

拡張トランスクリプト設定ページを示すスクリーンショット。

ノードレベルのデータ

強化トランスクリプトをオンにすると、トピックが呼び出す各ノードごとに nodeTraceData アクティビティタイプが記録されます。 次の表で、nodeTraceData アクティビティ値の主要フィールドを説明します。

プロパティ
nodeID ノード識別子
nodeType ノードの種類 (例えば、SendActivity、または SearchAndSummarizeContent)
startTime ノードが呼び出されたときのタイムスタンプ
endTime ノードの実行が完了したときのタイムスタンプ
topicDisplayName ノードを呼び出すトピック

カスタム分析

カスタム変数に基づいて会話をフィルター処理するなど、一部のシナリオでは分析にカスタム アプローチが必要です。 カスタム分析ソリューションを構築するために、顧客は生のトランスクリプトをデータパイプラインに取り込むか、 Copilot Studio Kitのようなアドオンを利用できます。

Copilot Studio Kitの Conversation KPIソリューション は、トランスクリプトを自動的に解析し、集計データをDataverseテーブルに入力します。

既定の保持期間の変更

Power Appsの一括削除ジョブは、30日前のエージェントのトランスクリプトを自動的に削除します。 トランスクリプトをより長く保持するには、既存のジョブをキャンセルして、別のスケジュールで実行される新しいジョブを作成します。

既存の一括削除ジョブをキャンセルする

  1. Power Apps で 設定>高度な設定 を選択します。

    Dynamics 365 ポータルが新しいタブで開きます。

    詳細設定が強調表示されている Power Apps 設定メニューのスクリーンショット。

  2. 設定の横にあるキャレットを選択してください。 システム内で「データ管理」を選択してください。

    データ管理で強調表示されている設定メニューのスクリーンショット。

  3. レコードの一括削除を選択します。

  4. ビュー リストで、定期的な一括削除システム ジョブを選択します。

    定期的な一括削除ジョブのリストのスクリーンショット。

  5. 1 か月以上前の会話のトランスクリプト レコードを一括削除するジョブを選択します。

    最初のジョブが強調表示された一括削除ジョブのリストのスクリーンショット。

  6. その他のアクション リストで、キャンセルを選択します。

    キャンセルが強調表示されたその他のアクション リストのスクリーンショット。

新しい一括削除ジョブの作成

  1. 新規 」を選択して一括削除ウィザードを起動してください。 ウィザードで 「次」を選択します。

  2. 次の検索条件を設定します。

    • 検索リストで、ConversationTranscripts を選択します。
    • ConversationStartTimeX か月以上前に設定して 「12」 にします。
      この設定により、12 か月間トランスクリプトが維持されます。 もし望むなら、別の比較や価値を選んでください。
    • SchemaTypeを選択し、等しい値を保持し、「powervirtualagents」と入力します。

    一括削除ジョブ検索条件設定のスクリーンショット。

  3. 次へ を選択します。

  4. ジョブの名前を入力し、毎回このジョブを実行するを選択して 1 と入力します。 ジョブを毎日実行したくない場合は、別のスケジュールを選択してください。

    一括削除ジョブ名および実行設定のスクリーンショット。

  5. 次へ を選択し、続いて 送信 を選択します。

ConversationTranscript Power Apps テーブルに自分の会話記録が表示されないのはなぜですか?

管理者は、トランスクリプトの保存を Dataverse に設定することができます。 トランスクリプトの保存方法やアクセス管理の詳細については、「 Control transcript access」をご覧ください。

重要

開発者環境に展開されたエージェントにはトランスクリプトは保存されません。

会話の記録を最大限に活用するためのヒント

変数を使ってエージェントのコンテンツやユーザーに関連するデータを保存 しましょう。 会話の書き起こしから変数とその値を解析することで、変数によってデータをフィルタリングまたはスライスすることができます。

会話のトランスクリプトは、ID のみでコンテンツを参照することができます。 たとえば、Redirect ノードでは、宛先トピックは ID によってのみ参照されます。 このトピックの名前を取得するには、エージェント コンテンツでその ID を検索します。