Activer les résumés

L'annotateur de synthèse renvoie des résumés de vos conversations Customer Experience Insights. La synthèse est une fonctionnalité d'Agent Assist qui ne peut être utilisée qu'avec CX Insights ou en conjonction avec vos profils de conversation Agent Assist préexistants. Cette page vous explique comment activer l'annotateur de synthèse.

Facturation

Customer Experience Insights utilise Agent Assist pour générer des résumés de conversation. Lorsque vous implémentez la synthèse pour les analyses Customer Experience Insights, un poste supplémentaire s'affiche sur votre facture pour l'utilisation de l'API Agent Assist. Pour en savoir plus, consultez la page Tarifs d'Agent Assist.

AnnotatorSelector

Contrairement aux autres annotateurs d'analyse, l'annotateur de synthèse est désactivé par défaut. Pour l'activer, définissez AnnotatorSelector.run_summarization_annotator sur true.

Si AnnotatorSelector est spécifié dans vos requêtes, CX Insights exécute les annotateurs explicitement activés. Pour exécuter des annotateurs autres que la synthèse, activez-les dans votre requête. Pour connaître les options disponibles, consultez AnnotatorSelector.

Prérequis

Activez l' API Dialogflow et l'API Customer Experience Insights pour votre Google Cloud projet.

Résumer des conversations à l'aide de l'analyse CX Insights

Vous pouvez générer un résumé d'une conversation CX Insights en créant une analyse pour cette conversation. Pour en savoir plus, consultez Créer et analyser une conversation à l'aide de l'API. Lorsque vous créez une analyse, la synthèse est activée et configurée à l'aide du sélecteur d'annotateurs.

Pour obtenir la liste des langues compatibles avec chaque modèle de synthèse, consultez la documentation sur la compatibilité linguistique d'Agent Assist.

Utiliser un modèle de synthèse de générateur

Agent Assist propose également une synthèse basée sur un LLM avec des sections personnalisées à l'aide du modèle de générateur. Vous pouvez utiliser un modèle de générateur avec des sections prédéfinies ou définir des sections personnalisées.

Suivez ces étapes pour générer automatiquement des résumés à l'aide du modèle de générateur basé sur un LLM.

  1. Suivez les instructions d'Agent Assist pour créer un générateur de synthèse
  2. Définissez run_summarization_annotator sur true.
  3. Définissez summarization_config sur generator.

Exemple :

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d '{annotator_selector: {run_summarization_annotator: true, summarization_config: {generator: '"projects/PROJECT_ID/locations/global/generators/generator_id"}}}' \
    "https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/

Afficher les résultats de la synthèse

La création de l'analyse renvoie un ID d'opération. Interrogez l'opération pour suivre sa progression. Une fois l'analyse terminée, interrogez la conversation pour afficher les résultats de l'analyse.

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID"

Les données de synthèse sont renseignées dans la réponse.

  • Le résumé est stocké en tant que runtimeAnnotation avec le champ conversationSummarizationSuggestion renseigné.
  • Le champ latestSummary de la conversation est renseigné.

Les analyses suivantes ajoutent de nouvelles annotations d'exécution, et le dernier résumé est remplacé.

{
  "name": "projects/694347961123/locations/us-east1/conversations/14849016801257151776",
  "createTime": "2023-03-07T23:00:00.243902Z",
  "updateTime": "2023-03-07T23:00:01.167050Z",
  …
  "runtimeAnnotations": [
    {
      "annotationId": "14849016801257150641",
      "createTime": "2023-03-07T23:00:01.167050Z",
      "conversationSummarizationSuggestion": {
        "text": "A summary of your conversation."
        "textSections": {
          "DEFAULT_SECTION": "A summary of your conversation."
        }
      }
    }
  ],
  "latestSummary": {
    "text": "A summary of your conversation."
    "textSections": {
      "DEFAULT_SECTION": "A summary of your conversation."
    }
  }
}

Résumer les conversations par défaut

Plutôt que de spécifier une configuration de synthèse chaque fois que vous créez une analyse, vous pouvez configurer un sélecteur d'annotateurs par défaut dans les paramètres de votre projet. La configuration que vous définissez est utilisée pour chaque analyse, sauf si cette analyse contient son propre sélecteur d'annotateurs. Sachez que chaque analyse entraîne des frais supplémentaires.

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  -d '{analysis_config: {annotator_selector: {run_summarization_annotator: true}}}' \
  "https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/settings?updateMask=analysis_config"

Intégration de l'environnement d'exécution de Dialogflow

Si vous activez l'intégration de l'environnement d'exécution de Dialogflow, tous les résumés créés par Agent Assist peuvent également être consultés dans CX Insights. Comme pour les autres résumés CX Insights, le contenu du résumé est disponible en tant qu'annotation d'exécution et dans le dernier champ de résumé.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
  "dataSource": {
    "dialogflowSource": {
      "dialogflowConversation": "projects/PROJECT_ID/locations/us/conversations/CONVERSATION_ID",
      "conversationDataItem": "projects/PROJECT_ID/locations/us/conversationDatasets/DATASET_ID/conversationDataItems/DATA_ITEM_ID"
    }
  },
  …
  "runtimeAnnotations": [
    {
      "annotationId": "projects/PROJECT_ID/locations/us/conversationDatasets/DATASET_ID/conversationDataItems/DATA_ITEM_ID/conversationAnnotations/ANNOTATION_ID",
      "createTime": "2023-03-20T19:49:01.929940Z",
      "startBoundary": {},
      "endBoundary": {
        "transcriptIndex": 1
      },
      "answerFeedback": {},
      "conversationSummarizationSuggestion": {
        "text": "The customer had a query about the service. Closed conversation prior to the resolution.",
        "textSections": {
          "DEFAULT_SECTION": "The customer had a query about the service. Closed conversation prior to the resolution."
        }
      }
    }
  ],
  "latestSummary": {
    "text": "The customer had a query about the service. Closed conversation prior to the resolution.",
    "textSections": {
      "DEFAULT_SECTION": "The customer had a query about the service. Closed conversation prior to the resolution."
    }
  }
}

Filtrer les conversations par contenu de résumé

Lorsque vous listez des conversations dans CX Insights, vous pouvez les filtrer par contenu de résumé. Pour obtenir des instructions générales, consultez Lister les conversations.

CX Insights est compatible avec les filtres suivants pour le contenu du résumé :

  • Avec un résumé : latest_summary:"*"
  • Sans résumé : -latest_summary:"*"
  • Avec un résumé contenant une expression : latest_summary.text:"match this text"
  • Avec un résumé sans expression : -latest_summary.text:"must not match this text"

Afficher les résumés dans BigQuery

Lorsque vous exportez vos données CX Insights vers BigQuery, les données de synthèse sont également exportées. Pour savoir comment configurer une exportation BigQuery, consultez Exporter des conversations vers BigQuery.

Le dernier résumé de chaque conversation est disponible dans le champ latest_summary :

bq query --use_legacy_sql=false 'SELECT conversationName, latestSummary.text FROM DATASET.TABLE'

Tous les résumés, y compris le dernier et les résumés précédents, sont disponibles en tant qu'annotations au niveau de la phrase :

bq query --use_legacy_sql=false <<EOF
SELECT
  conversationName,
  sen.sentence,
  JSON_QUERY(JSON_VALUE(ant.annotationRecord), '$.text') AS summary_text
FROM
  DATASET.TABLE,
  UNNEST(`sentences`) AS sen,
  UNNEST(`sen.annotations`) AS ant
WHERE ant.type = 'CONVERSATION_SUMMARIZATION_SUGGESTION'
EOF