Activer les résumés

L'outil d'annotation de synthèse renvoie des résumés de vos conversations Insights sur l'expérience client. La synthèse est une fonctionnalité Agent Assist qui peut être utilisée avec CX Insights uniquement ou en association avec vos profils de conversation Agent Assist préexistants. Cette page vous explique comment activer l'outil d'annotation de synthèse.

Facturation

Customer Experience Insights utilise Agent Assist pour générer des résumés de conversations. Lorsque vous implémenterez la synthèse pour les analyses des insights sur l'expérience client, une ligne supplémentaire s'affichera sur votre facture pour l'utilisation de l'API Agent Assist. Pour en savoir plus, consultez la page des tarifs d'Agent Assist.

AnnotatorSelector

Contrairement aux autres annotateurs d'analyse, l'annotateur de synthèse est désactivé par défaut. Activez-le en définissant 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 projet Google Cloud .

Résumer les 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.

Consultez la documentation sur les langues acceptées par Agent Assist pour obtenir la liste des langues acceptées par chaque modèle de synthèse.

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

L'assistance de l'agent propose également des résumés avec des sections personnalisées optimisés par LLM avec le 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 le LLM.

  1. Suivez les instructions de l'Assistance de l'agent pour créer un générateur de résumés.
  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.

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 récapitulatives sont renseignées dans la réponse.

  • Le résumé est stocké sous la forme d'un 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écapitulatif est écrasé.

{
  "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'annotateur par défaut dans les paramètres de votre projet. La configuration que vous définissez est utilisée pour chaque analyse, sauf si celle-ci contient son propre sélecteur d'annotateurs. Notez 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 du runtime Dialogflow, toutes les synthèses créées par Agent Assist peuvent également être consultées dans CX Insights. Comme pour les autres résumés CX Insights, le contenu du résumé est disponible sous forme d'annotation d'exécution et dans le champ du dernier 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 du résumé

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

CX Insights accepte les filtres suivants pour le contenu récapitulatif :

  • Avec un résumé : latest_summary:"*"
  • Aucun 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 récapitulatives 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 les plus récents et ceux des années précédentes, sont disponibles sous forme d'annotations au niveau des phrases :

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