会話は、対応する会話オブジェクトが作成された後、Customer Experience Insights で確認できます。このハウツーガイドでは、REST API を使用して会話を分析するプロセスについて説明します。必要に応じて、CX Insights コンソールを使用してこれらの操作を行うこともできます。
前提条件
- Google Cloud プロジェクトで Cloud Storage API と Insights API を有効にします。
- 会話データをインポートします。
チャットの会話
会話のチャット文字起こしを Cloud Storage バケットのオブジェクトとしてインポートします。
オブジェクト パスを
gs://<bucket>/<object>形式でメモします。
チャット文字起こしファイルは、CCAI 会話データ形式に一致する JSON 形式のファイルとして指定する必要があります。
音声会話
Cloud Storage バケットからすべてのファイルをインポートします。音声ファイルと文字起こしファイルは、Cloud Storage バケットのオブジェクトとしてインポートする必要があります。
2 つのオブジェクト パスを
gs://<bucket>/<object>形式でメモします。
文字起こしファイルは、Cloud Speech-to-Text API の文字起こしで返された結果である必要があります。具体的には、音声認識から返される response と一致する必要があります。これは、すべての Speech-to-Text API バージョンで同期認識と非同期認識で同じです。他の文字起こし形式はサポートされておらず、会話分析中にエラーが発生します。
会話を分析する
CX Insights で Conversation オブジェクトを作成したら、有用な結果を得るために分析する必要があります。1 つの会話を複数回分析できます。分析ごとに新しい Analysis オブジェクトが作成されます。
分析では、会話データに対して一連のアノテーターが実行され、結果がレスポンスで返されます。デフォルトでは、分析は使用可能なすべてのアノテーターを実行します。必要に応じて、指定されたアノテーターのみを実行するように分析を構成できます。
分析は長時間実行オペレーションです。CreateAnalysis メソッドを呼び出すと、長時間実行プロセスを表す Operation オブジェクトが作成されます。オペレーションが完了すると、Operation オブジェクトに結果が含まれます。Operation オブジェクトをポーリングして、完了を確認できます。
新しい分析を作成する
REST
詳細については、conversations.analyses:create API エンドポイントをご覧ください。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- CONVERSATION_ID: 分析する会話の ID。この値は `createConversation` レスポンスで返されました。
HTTP メソッドと URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/conversations/CONVERSATION_ID/analyses
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
}
Python
CX Insights で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
CX Insights で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
CX Insights で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
(省略可)分析を構成する
REST
詳細については、conversations.analyses:create API エンドポイントをご覧ください。実行するアノテーターを annotatorSelector オブジェクトに含めて、true に設定します。含まれていないアノテーターはデフォルトで false になります。annotatorSelector オブジェクトでアノテーターを指定しない場合、すべてのアノテーターが実行されます。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- PHRASE_MATCHER(s): フレーズ マッチャー アノテーターに使用するフレーズ マッチャーの完全修飾フレーズ マッチャー リソース名。空のままにすると、すべてのアクティブなフレーズ マッチャーが実行されます。
- ISSUE_MODEL(s): 問題モデル アノテーターに使用する問題モデルの完全修飾リソース名。run_issue_model_annotator が true の場合にのみ機能します。空のままにすると、デプロイされたすべての問題モデルが実行されます。現在、デプロイできるモデルは 1 つに制限されています。
HTTP メソッドと URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/conversations/CONVERSATION_ID/analyses
リクエストの本文(JSON):
{
"annotatorSelector": {
"run_interruption_annotator": {true/false},
"run_silence_annotator": {true/false},
"run_phrase_matcher_annotator": {true/false},
"phrase_matchers": PHRASE_MATCHER(s),
"run_sentiment_annotator": {true/false},
"run_entity_annotator": {true/false},
"run_intent_annotator": {true/false},
"run_issue_model_annotator": {true/false}
"issue_models": ISSUE_MODEL(s)
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
}
オペレーションをポーリングする
分析を作成すると、長時間実行オペレーションが返されます。長時間実行メソッドは非同期で、メソッドがレスポンスを返すときにオペレーションが完了していない場合があります。オペレーションをポーリングして、そのステータスを確認できます。詳細とコードサンプルについては、長時間実行オペレーションのページをご覧ください。