Power Apps と Copilot Studio の両方で、エージェントとの顧客との対話のトランスクリプトを表示、エクスポート、ダウンロードできます。 各アプリがエクスポートする情報はわずかに異なります。
重要
環境作成者 ロール を持つ作成者は、トランスクリプトに自動的にアクセスすることはできません。
この記事では、Power Appsで会話のトランスクリプトをダウンロードし、それらを使用してPower BIでレポートを作成する方法について説明します。 Copilot Studio でトランスクリプトを直接ダウンロードするには、「 Copilot Studio で会話トランスクリプトをダウンロードするを参照してください。
既定では、Power Appsは過去 30 日間の会話トランスクリプトをダウンロードします。 保持期間は変更できます。
注意
SharePointをナレッジ ソースとして使用し、機密データを含むドキュメントを使用するエージェントの応答は、会話のトランスクリプトには含まれません。
会話トランスクリプトは、次の目的では作成されません。
- Microsoft Dataverse for Teams 環境
- Dataverse 開発環境
- Microsoft 365 Copilot エージェント
前提条件
- 会話のトランスクリプトを表示するには、 Bot Transcript Viewer セキュリティ ロールが必要です。 Bot Transcript Viewer のセキュリティ ロールを付与できるのは管理者だけです。
Power Apps ポータルから会話のトランスクリプトを表示およびエクスポートする
Power Apps にサインインします。
サイド ペインで、テーブル を選択し、すべて を選択します。
Tablesノードのスクリーンショットで「All」を選択しています。
検索ボックスに、「会話」と入力します。
会話トランスクリプト テーブルを選択します。
会話トランスクリプト テーブルのページが開きます。
上部にあるメニュー バーで、エクスポートエクスポート データを選択します。
エクスポート用のデータをまとめるのに数分かかります。
データのエクスポート オプションを含むエクスポート メニューを示すスクリーンショット。
Power Appsがエクスポート用にデータを準備するまで数分待ってから、 エクスポートされたデータのダウンロードを選択します。
ファイルはブラウザの既定のダウンロード場所に ZIP アーカイブとして保存されます。
会話トランスクリプトを理解する
会話の書き起こしはDataverseのテーブルとして存在し、CSV(カンマ区切られた値)ファイルとしてダウンロードできます。 システムがいつどのように会話の書き起こしに情報を記録するかを決定する論理は以下の通りです。
- システムは30分間の非活動後に会話を書き起こし記録に保存します。 非活動時間後に会話が再開されると、システムは新しいアクティビティを同じ 値の新しいレコードに保存しますが、 値も変わります。
- テレフォニーチャンネルに公開されたエージェントの場合、会話終了イベントの3分後に会話がタイムアウトします。
- 各レコードにはトランスクリプト( 列)の最大容量が1MBです。 記録がこの上限を超えると、システムは記録を複数のレコードに分割し、すべて同じ ・ 値を持ちますが、 値は異なります。
- トランスクリプトを 統合 するには、同じ と 値のレコードをすべて取り、 順にソートしてください。
以下の表は、会話トランスクリプトでの最も重要なフィールドを示します。
| 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 |
作成されたカスタム行の名前は以下です | 8YYe8iif49ZKkycZLe7HUO_198eca5f-1145-4ae6-8c08-835d884a8688 |
Bot_ConversationTranscript |
エージェントの ID | aaaabbbb-0000-cccc-1111-dddd2222eeee |
Created on |
トランスクリプト レコードが作成された日時 | 2021-04-20T02:40:13Z |
コンテンツ フィールド
フィールドは、ユーザーがエージェントと行ったすべてのアクティビティの生のログです。 一般的な活動 タイプには、メッセージ と イベント があります。
- メッセージ活動は、会話内に表示されるコンテンツを表します。 メッセージ 活動には、テキスト、スピーチ、インタラクティブカード、バイナリまたは不明な添付ファイルが含まれる場合があります。
- イベント アクティビティは、クライアントまたはチャネルからエージェントにプログラム情報を伝達します。
活動タイプの詳細については、Bot Framework の活動スキーマを参照してください。
次の表では、コンテンツ JSON でのいくつかの主要なフィールドについて説明します:
| 鍵 | プロパティ |
|---|---|
ID |
活動オブジェクトの一意の GUID |
valueType |
アクティビティに保存される値のタイプです。アクティビティが提供する情報を指定します (一般的なアクティビティ値のタイプ) |
timestamp |
活動がエポック形式で生成されたときのタイム スタンプ (UTC 時間で 1970 年 1 月 1 日午前 0 時からの秒数) |
type |
活動のタイプ; たとえば、、、または |
replyToId |
現在の活動が応答している活動の ID |
from |
フィールド と が含まれています:
|
channelId |
アクティビティの発生元となるチャネルのID。例: 、 、または |
textFormat |
テキストのフォーマット; たとえば、、または |
attachments |
活動に関連付けられた動的なリッチ データ; たとえば、、、または |
text |
活動のテキスト |
value |
値タイプに基づく活動に固有のフィールド; このフィールドには、ほとんどの有用な情報が存在します |
channeldata |
次のチャネル データが含まれています:
|
name |
イベント活動の名前; 例えば、 |
一般的な活動値タイプ
| 活動値のタイプ | プロパティ |
|---|---|
ConversationInfo |
会話が Copilot Studio のテスト ウィンドウ (isDesignMode) と会話のロケールからのものかどうか |
CSATSurveyRequest |
ユーザーには、顧客満足度 (CSAT) 調査が表示されます |
CSATSurveyResponse |
ユーザーは CSAT 調査に回答します |
DialogRedirect |
ユーザーは別のトピックにリダイレクトされます |
ImpliedSuccess |
ユーザーがトピックの質問ノードに到達しました。条件の 1 つが Confirmed Success CSAT システム トピック (クラシック ボットのみ) を指しているか、 会話の終了 システム トピックを呼び出しました |
IntentRecognition |
ユーザーがトピックをトリガーしました |
PRRSurveyRequest |
ユーザーは、トピックが 会話の終わり トピックからの質問に回答したかどうかを尋ねられました |
PRRSurveyResponse |
トピックが 会話の終わり トピックからの質問に回答したかどうかに対するユーザーの応答 |
SessionInfo |
種類( または )、結果(、 、 )、セッション開始・終了時間(、 )、そしてセッションのターン数 |
VariableAssignment |
値が変数に割り当てられます |
拡張トランスクリプト
エージェントはノードレベルのデータを含む強化トランスクリプトを生成するように設定できます。 このデータは、トピック内の会話の流れを追跡するのに役立ちます。 例えば、注文の管理 トピックでは、ユーザーは新しい注文を送信するか、既存の注文を取得するかを選択できます。 ノードレベルのデータにより、これらのオプション全体でユーザーの行動を分析できます。
拡張トランスクリプトをオンにする
エージェントを開きます。
設定詳細の順に移動します。
「トランスクリプトを強調」を選択し、その後「トランスクリプトにノードレベルの詳細を含める」をオンにします。
拡張トランスクリプト設定ページを示すスクリーンショット。
ノードレベルのデータ
強化トランスクリプトをオンにすると、トピックが呼び出す各ノードごとに アクティビティタイプが記録されます。 次の表で、 アクティビティ値の主要フィールドを説明します。
| 鍵 | プロパティ |
|---|---|
nodeID |
ノード識別子 |
nodeType |
ノードの種類 (例えば、、または ) |
startTime |
ノードが呼び出されたときのタイムスタンプ |
endTime |
ノードの実行が完了したときのタイムスタンプ |
topicDisplayName |
ノードを呼び出すトピック |
カスタム分析
カスタム変数に基づいて会話をフィルター処理するなど、一部のシナリオでは分析にカスタム アプローチが必要です。 カスタム分析ソリューションを構築するために、お客様は生のトランスクリプトをデータ パイプラインに取り込んだり、Copilot Studio Kit などのアドオンを使用したりできます。
Copilot Studio Kit の Conversation KPI ソリューションは、トランスクリプトを自動的に解析し、集計データを Dataverse テーブルに設定します。
既定の保持期間の変更
Power Apps一括削除ジョブでは、30 日より前のエージェント トランスクリプトが自動的に削除されます。 トランスクリプトをより長く保持するには、既存のジョブをキャンセルして、別のスケジュールで実行される新しいジョブを作成します。
既存の一括削除ジョブをキャンセルする
Power Appsで、Settings>Advanced 設定 を選択します。
Dynamics 365 ポータルが新しいタブで開きます。
設定の横にあるキャレットを選択してください。 [System で、データ管理 を選択します。
レコードの一括削除を選択します。
ビュー リストで、定期的な一括削除システム ジョブを選択します。
定期的な一括削除ジョブのリストのスクリーンショット。
1 か月以上前の会話のトランスクリプト レコードを一括削除するジョブを選択します。
最初のジョブが強調表示された一括削除ジョブのリストのスクリーンショット。
その他のアクション リストで、キャンセルを選択します。
キャンセルが強調表示されたその他のアクション リストのスクリーンショット。
新しい一括削除ジョブの作成
「 新規 」を選択して一括削除ウィザードを起動してください。 ウィザードで 「次」を選択します。
次の検索条件を設定します。
- 検索リストで、ConversationTranscripts を選択します。
- ConversationStartTime を X か月以上前に設定して 「12」 にします。
この設定により、12 か月間トランスクリプトが維持されます。 もし望むなら、別の比較や価値を選んでください。 - SchemaTypeを選択し、等しい値を保持し、「powervirtualagents」と入力します。
一括削除ジョブ検索条件設定のスクリーンショット。
次へ を選択します。
ジョブの名前を入力し、毎回このジョブを実行するを選択して 1 と入力します。 ジョブを毎日実行したくない場合は、別のスケジュールを選択してください。
一括削除ジョブ名および実行設定のスクリーンショット。
次へ を選択し、続いて 送信 を選択します。
ConversationTranscript Power Apps テーブルに会話のトランスクリプトが表示されないのはなぜですか?
管理者は、トランスクリプトの保存を Dataverse に設定することができます。 トランスクリプトの保存方法やアクセス管理の詳細については、「 Control transcript access」をご覧ください。
重要
開発者環境に展開されたエージェントにはトランスクリプトは保存されません。
会話の記録を最大限に活用するためのヒント
変数を使ってエージェントのコンテンツやユーザーに関連するデータを保存 しましょう。 会話の書き起こしから変数とその値を解析することで、変数によってデータをフィルタリングまたはスライスすることができます。
会話のトランスクリプトは、ID のみでコンテンツを参照することができます。 たとえば、Redirect ノードでは、宛先トピックは ID によってのみ参照されます。 このトピックの名前を取得するには、エージェント コンテンツでその ID を検索します。