Unterhaltung mit der API analysieren

Unterhaltungen können in Customer Experience Insights aufgerufen werden, nachdem ein entsprechendes Unterhaltungsobjekt erstellt wurde. In dieser Anleitung erfahren Sie, wie Sie eine Unterhaltung mit der REST API analysieren. Wenn Sie möchten, 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 in Ihrem Google Cloud -Projekt.
  2. Unterhaltungsdaten importieren

Chat-Unterhaltung

  1. Importieren Sie das Chat-Transkript der Unterhaltung als 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-Konversationsdatenformat entspricht.

Sprachunterhaltung

  1. Alle Dateien aus einem Cloud Storage-Bucket importieren. 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. Sie müssen insbesondere mit der response übereinstimmen, 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 Konversationsanalyse 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 wird eine Reihe von Annotatoren für Ihre Konversationsdaten ausgeführt und die Ergebnisse werden 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 CreateAnalysis-Methode 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.

Neue Analyse erstellen

REST

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

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 `createConversation`-Antwort 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() {
  const [operation] = await client.createAnalysis({
    parent: conversationName,
  });

  // Wait for the operation to complete.
  const [analysis] = await operation.promise();
  console.info(`Created ${analysis.name}`);
}
createAnalysis();

(Optional) Analyse konfigurieren

REST

Ausführliche Informationen finden Sie unter dem API-Endpunkt conversations.analyses:create. Fügen Sie alle Annotatoren, die Sie ausführen möchten, in das annotatorSelector-Objekt ein und legen Sie sie auf true fest. Für alle nicht enthaltenen Annotatoren wird standardmäßig false verwendet. Wenn Sie im annotatorSelector-Objekt 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 vollständig 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 Annotator für Problemmodelle verwenden möchten. Funktioniert nur, wenn run_issue_model_annotator „true“ ist. Wenn das Feld leer gelassen wird, 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. Lang andauernde Methoden 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.