Unterhaltung mit der API analysieren

Unterhaltungen können in Customer Experience Insights angezeigt werden, nachdem ein entsprechendes Unterhaltungsobjekt erstellt wurde. In dieser Anleitung wird beschrieben, wie Sie eine Unterhaltung mit der REST API analysieren. Alternativ können Sie diese Aktionen auch über die CX Insights Konsole ausführen.

Vorbereitung

  1. Aktivieren Sie die Cloud Storage API und die Insights API für Ihr Google Cloud Projekt.
  2. Importieren Sie Ihre Unterhaltungsdaten.

Chat-Unterhaltung

  1. Importieren Sie das Chat-Transkript der Unterhaltung als ein Objekt in Ihren Cloud Storage-Bucket.

  2. Notieren Sie sich den Objektpfad im Format gs://<bucket>/<object>.

Die Datei mit dem Chat-Transkript muss als JSON-formatierte Datei bereitgestellt werden, die dem CCAI-Unterhaltungsdatenformat entspricht.

Sprachunterhaltung

  1. Importieren Sie alle Dateien aus einem Cloud Storage-Bucket. Audio- und Transkriptdateien müssen als Objekte in Ihren Cloud Storage-Bucket importiert werden.

  2. Notieren Sie sich die beiden Objektpfade im Format gs://<bucket>/<object>.

Die Transkriptdateien müssen das zurückgegebene Ergebnis einer Cloud Speech-to-Text API-Transkription sein. Insbesondere müssen sie der Antwort entsprechen, die von der Audioerkennung zurückgegeben wird. Diese ist für die synchrone und asynchrone Erkennung in allen Speech-to-Text API-Versionen identisch. Andere Transkriptionsformate werden nicht unterstützt und führen bei der Unterhaltungsanalyse zu einem Fehler.

Unterhaltung analysieren

Nachdem ein Conversation-Objekt in CX Insights erstellt wurde, muss es analysiert werden, um nützliche Ergebnisse zu erhalten. Eine einzelne Unterhaltung kann mehrmals analysiert werden. Bei jeder separaten Analyse wird ein neues Analysis-Objekt erstellt.

Bei einer Analyse werden eine Reihe von Annotatoren für Ihre Unterhaltungsdaten ausgeführt und die Ergebnisse in der Antwort zurückgegeben. Standardmäßig werden bei der Analyse alle verfügbaren Annotatoren ausgeführt. Optional können Sie die Analyse so konfigurieren, dass nur bestimmte Annotatoren ausgeführt werden.

Eine Analyse ist ein Vorgang mit langer Ausführungszeit. Durch Aufrufen der Methode CreateAnalysis wird ein Operation-Objekt erstellt, das den Vorgang mit langer Ausführungszeit darstellt. Nach Abschluss des Vorgangs enthält das Operation-Objekt das Ergebnis. Sie können das Operation-Objekt abfragen, um zu prüfen, ob der Vorgang abgeschlossen ist.

Eine neue Analyse erstellen

REST

Ausführliche Informationen finden Sie unter dem conversations.analyses:create API-Endpunkt.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Projekt-ID in Google Cloud .
  • CONVERSATION_ID: Die ID der Unterhaltung, die Sie analysieren möchten. Dieser Wert wurde in der Antwort `createConversation` zurückgegeben.

HTTP-Methode und URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/conversations/CONVERSATION_ID/analyses

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
}

Python

Richten Sie zur Authentifizierung bei CX Insights die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

from google.cloud import contact_center_insights_v1


def create_analysis(conversation_name: str) -> contact_center_insights_v1.Analysis:
    """Creates an analysis.

    Args:
        conversation_name:
            The parent resource of the analysis.
            Format is 'projects/{project_id}/locations/{location_id}/conversations/{conversation_id}'.
            For example, 'projects/my-project/locations/us-central1/conversations/123456789'.

    Returns:
        An analysis.
    """
    # Construct an analysis.
    analysis = contact_center_insights_v1.Analysis()

    # Call the Insights client to create an analysis.
    insights_client = contact_center_insights_v1.ContactCenterInsightsClient()
    analysis_operation = insights_client.create_analysis(
        parent=conversation_name, analysis=analysis
    )
    analysis = analysis_operation.result(timeout=86400)
    print(f"Created {analysis.name}")
    return analysis

Java

Richten Sie zur Authentifizierung bei CX Insights die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


import com.google.cloud.contactcenterinsights.v1.Analysis;
import com.google.cloud.contactcenterinsights.v1.ContactCenterInsightsClient;
import java.io.IOException;

public class CreateAnalysis {

  public static void main(String[] args) throws Exception, IOException {
    // TODO(developer): Replace this variable before running the sample.
    String conversationName =
        "projects/my_project_id/locations/us-central1/conversations/my_conversation_id";

    createAnalysis(conversationName);
  }

  public static Analysis createAnalysis(String conversationName) throws Exception, IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (ContactCenterInsightsClient client = ContactCenterInsightsClient.create()) {
      // Construct an analysis.
      Analysis analysis = Analysis.newBuilder().build();

      // Call the Insights client to create an analysis.
      Analysis response = client.createAnalysisAsync(conversationName, analysis).get();
      System.out.printf("Created %s%n", response.getName());
      return response;
    }
  }
}

Node.js

Richten Sie zur Authentifizierung bei CX Insights die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * TODO(developer): Uncomment this variable before running the sample.
 */
// const conversationName = 'projects/my_project_id/locations/us-central1/conversations/my_conversation_id';

// Imports the Contact Center Insights client.
const {
  ContactCenterInsightsClient,
} = require('@google-cloud/contact-center-insights');

// Instantiates a client.
const client = new ContactCenterInsightsClient();

async function createAnalysis() {
  try {
    const [operation] = await client.createAnalysis({
      parent: conversationName,
    });

    // Wait for the operation to complete.
    const [analysis] = await operation.promise();
    console.info(`Created ${analysis.name}`);
  } catch (err) {
    console.error(`createAnalysis failed: ${JSON.stringify(err, null, 2)}`);
    process.exitCode = 1;
  }
}
createAnalysis();

(Optional) Analyse konfigurieren

REST

Ausführliche Informationen finden Sie unter dem conversations.analyses:create API-Endpunkt. Fügen Sie alle Annotatoren, die Sie ausführen möchten, in das Objekt annotatorSelector ein und legen Sie sie auf true fest. Für alle nicht enthaltenen Annotatoren wird standardmäßig false festgelegt. Wenn Sie im Objekt annotatorSelector keine Annotatoren angeben, werden alle Annotatoren ausgeführt.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Projekt-ID in Google Cloud .
  • PHRASE_MATCHER(s): Die voll qualifizierten Ressourcennamen der Phrase Matcher, die Sie für den Phrase Matcher-Annotator verwenden möchten. Wenn Sie das Feld leer lassen, werden alle aktiven Phrase Matcher ausgeführt.
  • ISSUE_MODEL(s): Die vollständig qualifizierten Ressourcennamen der Problemmodelle, die Sie für den Problemmodell-Annotator verwenden möchten. Funktioniert nur, wenn „run_issue_model_annotator“ auf „true“ gesetzt ist. Wenn Sie das Feld leer lassen, werden alle bereitgestellten Problemmodelle ausgeführt. Derzeit auf 1 bereitgestelltes Modell beschränkt.

HTTP-Methode und URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/conversations/CONVERSATION_ID/analyses

JSON-Text anfordern:

{
  "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)
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
}

Vorgang abfragen

Beim Erstellen einer Analyse wird ein Vorgang mit langer Ausführungszeit zurückgegeben. Methoden mit langer Ausführungszeit sind asynchron und der Vorgang ist möglicherweise noch nicht abgeschlossen, wenn die Methode eine Antwort zurückgibt. Sie können den Vorgang abfragen, um seinen Status zu prüfen. Weitere Informationen und Codebeispiele finden Sie auf der Seite zu Vorgängen mit langer Ausführungszeit.