Power Apps の会話トランスクリプトを理解する
Power Apps と Copilot Studio の両方で、コパイロットとの顧客のやり取りの記録を表示、エクスポート、ダウンロードできます。 各アプリがエクスポートする情報はわずかに異なります。 この記事では、Power Apps で会話トランスクリプトをダウンロードし、それらを使用して Power BI でレポートを作成する方法について説明します。 詳細については、Copilot Studio でセッション情報を分析するを参照してください。
既定では、Power Apps 過去 30 日間の会話トランスクリプトをダウンロードします。 保持期間は変更できます。
注意
環境にアクセスできなくなった場合は、Power Platform 管理センターで サポート リクエストを作成する 必要があります。
前提条件
- 会話のトランスクリプトを表示するには、トランスクリプト ビューアーのセキュリティ ロールが必要です。 コパイロットの共有中に Copilot トランスクリプト ビューア セキュリティ ロール を割り当てる によって、このロールを付与できるのは管理者のみです。
Power Apps ポータルからコパイロットの会話のトランスクリプトを表示してエクスポートする
Power Apps ポータルからコパイロットの会話記録を表示およびエクスポートできます。
まず、認証情報を使って https://www.powerapps.com にサインインする必要があります。
会話トランスクリプトを表示する
サイド ペインでテーブル ノードを選択して、すべて を選択します。
検索 ボックスに、会話 と入力します。
エンティティ 下にある テーブル を選択します。
会話トランスクリプト テーブルのページが開きます。
会話トランスクリプトをエクスポートする
サイド ペインでテーブル ノードを選択して、すべて を選択します。
検索 ボックスに、会話 と入力します。
エンティティ 下にある テーブル を選択します。
エクスポート>データのエクスポート を選択します。
データがエクスポート用にコンパイルされるまで数分かかります。
コンテンツをダウンロードするには、エクスポートされたデータのダウンロード を選択します。
コパイロットの会話トランスクリプトをダウンロードする
Power Apps ナビゲーション メニューで Dataverse>テーブル を選択してから すべて を選択します。
検索 ボックスに、会話 と入力します。
会話トランスクリプト テーブルを選択します。
エクスポート>データのエクスポート を選択します。
Power Apps でエクスポート用のデータを準備するのに数分かかるのを待ってから、エクスポートされたデータをダウンロードする を選択します。
ファイルはブラウザーのデフォルトのダウンロード場所に zip アーカイブとして保存されます。
会話トランスクリプトを理解する
会話トランスクリプトは、CSV (カンマ区切り値) ファイルです。 以下の表は、会話トランスクリプトでの最も重要なフィールドを示します。
Field | プロパティ | 例 |
---|---|---|
Content |
JSON 形式のトランスクリプト全体 | コンテンツ フィールド セクションを参照してください。 |
ConversationStartTime |
会話が開始した時刻 (データ ストアに書き込まれたトランスクリプト レコードの時刻ではない) | 2021-04-19T20:39:09Z |
ConversationTranscript |
Dataverse テーブルの行の一意の識別子 | 28eccb77-xxxx-4a63-985f-ffaaadd6f391 |
Metadata |
コパイロット ID、テナント ID、およびコパイロット名を含む JSON | {"BotId": "198eca5f-xxxx-4ae6-8c08-835d884a8688", "AADTenantId": "72f988bf-xxxx-41af-91ab-2d7cd011db47", "BotName": "Test Bot"} |
Name |
ConversationId の後に BotId を続け、その後に batch number を続けることで作成されるカスタム行の名前です。 バッチ番号は、会話に複数の分析セッションがある場合の順序を示します。 クラシック ボットにはバッチ番号は含まれません。 |
8YYe8iif49ZKkycZLe7HUO-o_198eca5f-xxxx-4ae6-8c08-835d884a8688_0 |
Bot_ConversationTranscript |
コパイロット ID | 198eca5f-xxxx-4ae6-8c08-835d884a8688 |
Created on |
トランスクリプト レコードが作成された日時 | 2021-04-20T02:40:13Z |
コンテンツ フィールド
Content
フィールドは、ユーザーがコパイロットで行ったすべての活動の生のログです。 一般的な活動 タイプには、メッセージ と イベント があります。
- メッセージ活動は、会話内に表示されるコンテンツを表します。 メッセージ 活動には、テキスト、スピーチ、インタラクティブカード、バイナリまたは不明な添付ファイルが含まれる場合があります。
- イベント活動は、プログラム情報をクライアントまたはチャネルからコパイロットに伝達します。
活動タイプの詳細については、Bot Framework 活動スキーマ を参照してください。
次の表では、コンテンツ JSON でのいくつかの主要なフィールドについて説明します:
Key | プロパティ |
---|---|
ID |
活動オブジェクトの一意の GUID |
valueType |
アクティビティに保存される値のタイプです。アクティビティが提供する情報を指定します (一般的なアクティビティ値のタイプ) |
timestamp |
活動がエポック形式で生成されたときのタイム スタンプ (UTC 時間で 1970 年 1 月 1 日午前 0 時からの秒数) |
type |
活動のタイプ; たとえば、message 、event 、または trace |
replyToId |
現在の活動が応答している活動の ID |
from |
フィールド id と role が含まれています:
id は、キャンバスがユーザーの一意の ID を渡している場合、コパイロットと対話しているアクティブなユーザーの数を計算するために使用できます。 キャンバスが ID を渡さない場合、会話ごとに一意の ID が渡されます。 セキュリティとプライバシーのため、ID はトランスクリプトに書き込まれる前にハッシュされます。 |
channelId |
アクティビティの発生元となるチャネルのID。例: directline 、 msteams 、または facebook |
textFormat |
テキストのフォーマット; たとえば、plain 、または markdown |
attachments |
活動に関連付けられた動的なリッチ データ; たとえば、AdaptiveCards 、HeroCards 、または Carousel data |
text |
message 活動のテキスト |
value |
値タイプに基づく活動に固有のフィールド; このフィールドには、ほとんどの有用な情報が存在します |
channeldata |
|
name |
イベント活動の名前; 例えば、SetPVAContext |
一般的な活動値タイプ
活動値のタイプ | プロパティ |
---|---|
ConversationInfo |
Copilot Studio テスト ウィンドウ (isDesignMode ) および会話のロケールからの会話がからのものであるかどうか |
CSATSurveyRequest |
ユーザーには、顧客満足度 (CSAT) 調査が表示されます |
CSATSurveyResponse |
ユーザーは CSAT 調査に回答します |
DialogRedirect |
ユーザーは別のトピックにリダイレクトされます |
ImpliedSuccess |
ユーザーがトピックの質問ノードに到達しました。ここで、条件の 1 つが 確認済みの成功 CSAT システムトピックを指しているか、会話の終了 システム トピックを呼び出しています |
IntentRecognition |
ユーザーがトピックをトリガーしました |
PRRSurveyRequest |
ユーザーは、トピックが 会話の終わり トピックからの質問に回答したかどうかを尋ねられました |
PRRSurveyResponse |
トピックが 会話の終わり トピックからの質問に回答したかどうかに対するユーザーの応答 |
SessionInfo |
タイプ (unengaged または engaged )、結果 (Escalated 、Resolved 、Abandon )、セッションのターン カウント |
VariableAssignment |
値が変数に割り当てられます |
会話トランスクリプトからカスタム Power BI レポートをビルドする
会話のトランスクリプトからカスタム レポートを作成するための便利な方法は、処理する必要があるメッセージの数を調べることです。
軽量アプリ
Power BI を Power BI データフローとともに Dataverse に接続します。 他のインフラストラクチャは必要ありません。更新するたびにすべてのレコードが Dataverse から取得されます。
長所 | デメリット |
---|---|
実装が簡単。 | トランスクリプトが増えると、更新時間が長くなる可能性があります。 Dataverse での高いストレージ コスト。 |
標準 Azure Data Lake Storage アプローチ
Dataverse データを Azure Data Lake Storage にエクスポートします。 この方法では、Azure Data Lake Storage アカウントが必要ですが、他の Azure インフラストラクチャは必要ありません。
トランスクリプトでデータを準備するための Power Platform データフローとデータを構造化された形式に抽出します。
Power BI は、データフローからのデータを更新します。 Power Platform と Power BI は、すべてのコンピューティング インフラストラクチャを管理します。 更新のたびに、特定の日のレコードが Dataverse から取得されます。
長所 | デメリット |
---|---|
Azure Data Lake Storage での低いストレージ コスト。 適度に単純な実装。 Azure Compute は必要ありません。 |
トランスクリプトが毎日増えると、更新時間が長くなる可能性があります。 |
Azure Data Lake Storage + Synapse アプローチ
標準 Azure Data Lake Storage アプローチのデータ サイズでは、更新が遅くなったり、その他の操作上の問題が発生したりする可能性があります。 その場合、Azure Synapse Analytics を使用して Power BI に統合できます。
長所 | デメリット |
---|---|
更新時間は一定です。 適度に単純な実装。 Azure Data Lake Storage での低いストレージ コスト。 |
Azure Synapse のコストを計算します。 |
既定の保持期間の変更
Power Apps の一括削除ジョブは、30 日より古いコパイロットのトランスクリプトを自動的に削除します。 トランスクリプトをより長く保持するには、既存のジョブをキャンセルして、別のスケジュールで実行される新しいジョブを作成します。
既存の一括削除ジョブをキャンセルする
Power Apps で 設定>高度な設定 を選択します。
Dynamics 365 ポータルが新しいタブで開きます。
設定の横にあるキャレットを選択してから、システムの下で、データ管理を選択します。
レコードの一括削除を選択します。
ビュー リストで、定期的な一括削除システム ジョブを選択します。
1 か月以上前の会話のトランスクリプト レコードを一括削除するジョブを選択します。
その他のアクション リストで、キャンセルを選択します。
新しい一括削除ジョブの作成
一括削除ウィザードを開始するには、新規 を選択し、ウィザードで 次へ を選択します。
次の検索条件を設定します。
- 検索リストで、ConversationTranscripts を選択します。
- ConversationStartTime を X か月以上前に設定して 「12」 にします。
この設定により、12 か月間トランスクリプトが維持されます。 必要に応じて、別の比較と値を選択してください。 - SchemaType を選択し、equals のままにして、「powervirtualagents」と入力します。
次へ を選択します。
ジョブの名前を入力し、毎回このジョブを実行するを選択して 1 と入力します。 ジョブを毎日実行したくない場合は、別のスケジュールを選択してください。
次へ を選択し、続いて 送信 を選択します。
会話の記録を最大限に活用するためのヒント
変数を使用して、コパイロット コンテンツ またはコパイロット ユーザーに関連するデータを保存できます。 会話トランスクリプトから変数とその値を解析すると、変数でデータをフィルタリングまたはスライスできます。
会話のトランスクリプトは、コンテンツを ID で参照している箇所が多く存在します。 たとえば、現在のトピックによってリダイレクトされているトピックの ID は、その ID によってのみ参照されます。 トピックの名前を取得するには、コパイロット コンテンツからその名前を検索します。