会話履歴を BigQueryにエクスポートできます。構成が完了すると、すべてのライブ会話履歴が BigQuery テーブルに書き込まれます。 これにより、エージェントのデバッグと改善、会話データのパターンの検出に役立つ高度な分析ツールを利用できます。
制限事項
次の制限が適用されます。
- 会話ごとに最大 500 ターンをエクスポートできます。
プロジェクト横断的な権限
Dialogflow エージェントと BigQuery データが同じプロジェクトにない場合、Dialogflow Google Cloud プロジェクトに関連付けられたサービス アカウントにも BigQuery プロジェクトの BigQuery データセットに対するroles/bigquery.dataEditor IAM 権限が付与される必要があります。 Google Cloud
サービス アカウントの形式: service-<dialogflow-project-number>@gcp-sa-dialogflow.iam.gserviceaccount.com
Dialogflow でエクスポートを構成するユーザーには、その BigQuery プロジェクトに対する権限が必要です。権限がない場合、その BigQuery プロジェクトは Dialogflow コンソールにオプションとして表示されません。
ユーザーが Dialogflow で BigQuery プロジェクトを確認するために、BigQuery
プロジェクトに対して必要となる最小限の権限は、resourcemanager.projects.get です。
あるいは、次のいずれかの Google Cloud 事前定義ロール
を割り当てることもできます。これらのロールはこの権限を含みますが、ユーザーが
BigQuery データセットにアクセスする権限を必要としません: roles/browser または roles/bigquery.metadataViewer。
テーブルの説明
テーブルの各行には 1 つの会話ターンが含まれ、次の列を含みます。
| 列 | 型 | 説明 |
|---|---|---|
| project_id | STRING | プロジェクト ID。 |
| agent_id | STRING | エージェント ID。 |
| conversation_name | STRING | セッションの完全修飾リソース名。 |
| turn_position | INTEGER | 会話ターンの番号。 |
| request_time | TIMESTAMP | 会話ターンの時刻。 |
| language_code | STRING | 言語タグ。 |
| リクエスト | JSON | インテント検出リクエスト。 |
| response | JSON | インテント検出のレスポンス。 |
| partial_responses | JSON | 該当する場合は、部分的レスポンス。 |
| derived_data | JSON | この会話ターンの追加メタデータ。 |
| conversation_signals | JSON | NLU 関連の分析データ。JSON スキーマについては、ConversationSignals をご覧ください。 |
| bot_answer_feedback | JSON | 提供されている場合は、フィードバックに回答してください。 |
構成
会話履歴のエクスポートを構成するには:
- 会話履歴が有効になっていることを確認します。
- BigQuery データセット作成ガイド に従ってデータセットを作成します。 次のステップで必要になるため、データセット名をメモしておきます。
BigQuery のテーブル作成ガイドに従って、SQL スキーマ定義を含むテーブルを作成します。 作成には次の SQL ステートメントを使用します。
CREATE TABLE <your_dataset_name>.dialogflow_bigquery_export_data( project_id STRING, agent_id STRING, conversation_name STRING, turn_position INTEGER, request_time TIMESTAMP, language_code STRING, request JSON, response JSON, partial_responses JSON, derived_data JSON, conversation_signals JSON, bot_answer_feedback JSON );エージェントの設定を構成して、BigQuery Export を有効にし、上記で作成したデータセットとテーブルの名前を指定します。