インタラクション ロギングを BigQuery にエクスポートできます。 構成が完了すると、すべてのライブ インタラクション ロギングが BigQuery テーブルに書き込まれます。 これにより、エージェントのデバッグと改善、会話データのパターンの検出に役立つ高度な分析ツールが提供されます。
制限事項
次の制限が適用されます。
- 1 つの会話でエクスポートできるターンは最大 500 ターンです。
プロジェクト間の権限
Dialogflow エージェントと BigQuery データが同じプロジェクトにない場合、Dialogflow Google Cloud プロジェクトに関連付けられたサービス アカウントにも BigQuery Google Cloud プロジェクトの BigQuery データセットに対する roles/bigquery.dataEditor
IAM 権限が付与される必要があります。
サービス アカウントの形式: service-<dialogflow-project-number>@gcp-sa-dialogflow.iam.gserviceaccount.com
Dialogflow でエクスポートを構成するユーザーには、その BigQuery プロジェクトに対する権限が必要です。権限がない場合、その BigQuery プロジェクトは Dialogflow コンソールにオプションとして表示されません。
ユーザーが Dialogflow で BigQuery プロジェクトを確認するために、BigQuery プロジェクトに対して必要となる最小限の権限は、resourcemanager.projects.get
です。あるいは、roles/browser
または roles/bigquery.metadataViewer
のいずれかの Google Cloud 事前定義ロールを割り当てることもできます。これらのロールはこの権限を含みますが、ユーザーが BigQuery データセットにアクセスする権限を必要としません。
テーブルの説明
テーブルの各行には 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 を有効にし、上記で作成したデータセットとテーブルの名前を指定します。