会話トランスクリプトに関する作業
重要
Power Virtual Agents 機能は、生成 AI への多大な投資と Microsoft Copilot 全体の統合の強化により、現在 Microsoft Copilot Studio の一部となっています。
ドキュメントやトレーニング コンテンツが更新される間、一部の記事やスクリーンショットで Power Virtual Agents が参照される場合があります。
Power Apps と Microsoft Copilot Studio の両方で、コパイロットとの顧客のやり取りの記録を表示、エクスポート、ダウンロードできます 。 各アプリがエクスポートする情報はわずかに異なります。 この記事では、Power Apps で会話トランスクリプトをダウンロードし、それらを使用して Power BI でレポートを作成する方法について説明します。 Microsoft Copilot Studio のコパイロットのセッション トランスクリプトをダウンロードする
既定では、Power Apps 過去 30 日間の会話トランスクリプトをダウンロードします。 保持期間は変更できます。
注意
環境にアクセスできなくなった場合は、Power Platform 管理センターで サポート リクエストを作成する 必要があります。
前提条件
- 会話のトランスクリプトを表示するには、トランスクリプト ビューアーのセキュリティ ロールが必要です。 コパイロットの共有中に コパイロット トランスクリプト ビューア セキュリティ ロール を割り当てる によって、このロールを付与できるのは管理者のみです。
Power Apps ポータルからコパイロットの会話のトランスクリプトを表示してエクスポートする
Power Apps ポータルからコパイロットの会話のトランスクリプトを表示してエクスポートすることも可能です。
まず、資格情報を使用して https://www.powerapps.com にサインインします。
会話トランスクリプトを表示する
サイド ペインで、テーブル ノードを展開します。 上部にある すべて を選択します。
右上の検索テキストボックスに、会話を入力します。 エンティティ 下にある テーブル を選択します。
ConversationTranscript テーブルのページが開き、表示可能なデータのリストが表示されます。
会話トランスクリプトをエクスポートする
サイド ペインで、テーブル ノードを展開します。 上部にある すべて を選択します。
右上の 検索 テキストボックスに、会話 を入力します。 エンティティ 下にある テーブル を選択します。
画面上部の エクスポート メニュー項目を展開し、データのエクスポート を選択します。 エクスポート用のデータが作成されるまで、数分かかる場合があります。
エクスポートされたデータのダウンロードを選択し、コンテンツをダウンロードします。
コパイロットの会話トランスクリプトをダウンロードする
Power Apps ナビゲーション メニューで、Dataverse を選択してから、テーブルを選択します。
すべてを選択します。
右上隅の検索ボックスで、会話と入力します。
会話トランスクリプト テーブルを選択します。
エクスポートを選択し、データのエクスポートを選択します。
Power Apps がエクスポート用のデータを準備するまで、数分待ちます。 エクスポートされたデータをダウンロードを選択します。
ファイルはブラウザーのデフォルトのダウンロード場所に zip アーカイブとして保存されます。
会話トランスクリプトを理解する
会話トランスクリプトは、CSV (カンマ区切り値) ファイルです。 以下の表は、会話トランスクリプトでの最も重要なフィールドを示します。
フィールド | 説明 | 例 |
---|---|---|
コンテンツ | 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"} |
件名 | ConversationId 、BotId 、batch number の順に作成されるカスタム行の名前。 バッチ番号は、会話に複数の分析セッションがある場合の順序を示します。 クラシック ボットにはバッチ番号は含まれません。 |
8YYe8iif49ZKkycZLe7HUO-o_198eca5f-xxxx-4ae6-8c08-835d884a8688_0 |
Bot_ConversationTranscript | コパイロット ID | 198eca5f-xxxx-4ae6-8c08-835d884a8688 |
作成日 | トランスクリプト レコードが作成された日時 | 2021-04-20T02:40:13Z |
コンテンツ フィールド
コンテンツ フィールドは、ユーザーがコパイロットで行ったすべての活動の生のログです。 一般的な活動 タイプには、メッセージ と イベント があります。
- メッセージ活動は、会話に表示されるコンテンツを表します。 メッセージ 活動には、テキスト、スピーチ、インタラクティブカード、バイナリまたは不明な添付ファイルが含まれる場合があります。
- イベント活動は、プログラム情報をクライアントまたはチャネルからコパイロットに伝達します。
活動タイプの詳細については、Bot Framework 活動スキーマ を参照してください。
次の表では、コンテンツ JSON でのいくつかの主要なフィールドについて説明します:
キー | 説明 |
---|---|
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 |
Microsoft 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 を選択し、等しいのままにして powervirtualagents と入力します。
次へ を選択します。
ジョブの名前を入力し、毎回このジョブを実行するを選択して 1 と入力します。
ジョブを毎日実行したくない場合は、別のスケジュールを選択してください。次へ を選択し、続いて 送信 を選択します。
会話の記録を最大限に活用するためのヒント
変数を使用して、コパイロット コンテンツ またはコパイロット ユーザーに関連するデータを保存できます。 会話トランスクリプトから変数とその値を解析すると、変数でデータをフィルタリングまたはスライスできます。
会話のトランスクリプトは、コンテンツを ID で参照している箇所が多く存在します。 たとえば、現在のトピックによってリダイレクトされているトピックの ID は、その ID によってのみ参照されます。 トピックの名前を取得するには、コパイロット コンテンツからその名前を検索します。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示