Édition

Share via


Résumé de conversation

Azure AI services

La plupart des entreprises fournissent un support client pour aider les clients avec des requêtes de produit, la résolution des problèmes et la maintenance ou la mise à niveau des fonctionnalités ou du produit lui-même. Pour fournir une résolution satisfaisante, les spécialistes du support client doivent répondre rapidement avec des informations précises. OpenAI peut aider les organisations avec le support client de différentes façons.

Ce guide explique comment générer des résumés des interactions client-agent à l’aide du modèle Azure OpenAI GPT-3. Il contient un exemple d’architecture de bout en bout qui illustre les composants clés impliqués dans l’obtention d’un résumé d’une entrée de texte. La génération de l’entrée de texte n’entre pas dans le cadre de ce guide. L’objectif de ce guide est de décrire le processus d’implémentation du résumé d’un ensemble d’exemples de conversations agent-client et d’analyser les résultats des différentes approches de résumé.

Scénarios de conversation

  • Chatbots en libre-service (entièrement automatisés). Dans ce scénario, les clients peuvent interagir avec un chatbot alimenté par GPT-3 et formé sur des données spécifiques au secteur. Le chatbot peut comprendre les questions des clients et y répondre de manière appropriée en fonction des réponses apprises à partir d’une base de connaissances.
  • Chatbot avec intervention de l’agent (semi-automatisé). Les questions posées par les clients sont parfois complexes et nécessitent une intervention humaine. Dans ce cas, GPT-3 peut fournir un résumé de la conversation client-chatbot et aider l’agent à rechercher rapidement des informations supplémentaires dans une grande base de connaissances.
  • Résumé des transcriptions (entièrement automatisé ou semi-automatisé). Dans la plupart des centres de support technique, les agents sont tenus de résumer les conversations pour la conservation des enregistrements, le suivi futur, la formation et d’autres processus internes. GPT-3 peut fournir des résumés automatisés ou semi-automatisés qui capturent des détails importants des conversations pour une utilisation ultérieure.

Ce guide se concentre sur le processus de résumé des transcriptions à l’aide d’Azure OpenAI GPT-3.

En moyenne, un agent prend 5 à 6 minutes pour résumer une conversation agent-client unique. Étant donné les volumes élevés de demandes que les équipes de service gèrent tous les jours, cette tâche supplémentaire peut surcharger l’équipe. OpenAI est un bon moyen d’aider les agents à effectuer des activités liées au résumé. Il peut améliorer l’efficacité du processus de support client et fournir une meilleure précision. Le résumé des conversations peut être appliqué à n’importe quelle tâche de support client qui implique une interaction agent-client.

Service de résumé de conversation

Le résumé des conversations convient dans les scénarios où les conversations de support client suivent un format de questions-réponses.

Voici quelques avantages de l’utilisation d’un service de résumé :

  • Efficacité accrue : il permet aux agents du service client de résumer rapidement les conversations des clients, éliminant ainsi le besoin de longs échanges. Cette efficacité permet d’accélérer la résolution des problèmes des clients.
  • Amélioration du service client : les agents peuvent utiliser des résumés de conversations dans les interactions futures pour trouver rapidement les informations nécessaires pour résoudre avec précision les préoccupations des clients.
  • Amélioration du partage des connaissances : le résumé des conversations peut aider les équipes du service client à partager des connaissances entre elles rapidement et efficacement. Il fournit aux équipes de service client de meilleures résolutions et les aide à fournir un support plus rapide.

Architecture

Une architecture classique d’un outil de résumé des conversations comporte trois phases principales : prétraitement, résumé et post-traitement. Si l’entrée contient une conversation verbale ou toute forme de parole, la parole doit être transcrite en texte. Pour plus d’informations, consultez Service de reconnaissance vocale Azure.

Voici un exemple d’architecture :

Diagramme d’une architecture de résumé des conversations.

Téléchargez un fichier PowerPoint de cette architecture.

Workflow

  1. Collectez les données d’entrée : alimentez le pipeline avec les données d’entrée pertinentes. Si la source est un fichier audio, vous devez le convertir en texte à l’aide d’un service de synthèse vocale (TTS) tel que Azure Text to speech.
  2. Prétraitez les données : supprimez des données les informations confidentielles et toute conversation sans importance.
  3. Alimentez les données dans l’outil de résumé : transmettez les données dans une invite via les API Azure OpenAI. Les modèles d’apprentissage en contexte incluent zéro coups, quelques coups ou un modèle personnalisé.
  4. Générez un résumé : le modèle génère un résumé de la conversation.
  5. Post-traitez les données : appliquez un filtre de vulgarité et diverses vérifications de validation au résumé. Ajoutez au résumé les données sensibles ou confidentielles supprimées lors du prétraitement.
  6. Évaluez les résultats : passez en revue et évaluez les résultats. Cette étape peut vous aider à identifier les aspects pour lesquels le modèle doit être amélioré et à rechercher les erreurs.

Les sections suivantes décrivent plus en détail les trois phases principales.

Prétraitement

L’objectif du prétraitement est de s’assurer que les données fournies au service de résumé sont pertinentes et n’incluent pas d’informations sensibles ni confidentielles.

Voici quelques étapes de prétraitement qui peuvent vous aider à conditionner vos données brutes. Vous devrez peut-être appliquer une ou plusieurs étapes, selon le cas d’usage.

  • Supprimez les informations d’identification personnelle. Vous pouvez utiliser l’API Conversational PII (préversion) pour supprimer les informations d’identification personnelle du texte transcrit ou écrit. Cet exemple montre la sortie une fois que l’API a supprimé les informations d’identification personnelle :

    Document text: Parker Doe has repaid all of their loans as of
          2020-04-25. Their SSN is 999-99-9999. To contact them, use 
          their phone number 555-555-0100. They are originally from 
          Brazil and have Brazilian CPF number 998.214.865-68 
    Redacted document text: ******* has repaid all of their
          loans as of *******. Their SSN is *******. To contact 
          them, use their phone number *******. They are originally from Brazil and have Brazilian CPF number 998.214.865-68
    
    ...Entity 'Parker Doe' with category 'Person' got redacted
    ...Entity '2020-04-25' with category 'DateTime' got redacted
    ...Entity '999-99-9999' with category 'USSocialSecurityNumber' got redacted
    ...Entity '555-555-0100' with category 'PhoneNumber' got redacted
    
  • Supprimez les informations superflues. Les agents clients débutent des conversations avec des échanges informels qui n’incluent pas d’informations pertinentes. Un déclencheur peut être ajouté à une conversation pour identifier le point où le problème ou la question pertinente est traité pour la première fois. La suppression de cet échange du contexte peut améliorer la précision du service de résumé, car le modèle est ensuite ajusté selon les informations les plus pertinentes de la conversation. Le moteur Curie GPT-3 est un choix populaire pour cette tâche, car il est largement formé, via le contenu d’Internet, pour identifier ce type de conversation informelle.

  • Supprimez les conversations excessivement négatives. Les conversations peuvent également inclure des sentiments négatifs de clients mécontents. Vous pouvez utiliser des méthodes de filtrage de contenu Azure comme Azure Content Moderator pour supprimer de l’analyse des conversations qui contiennent des informations sensibles. OpenAI offre également un point de terminaison de modération, un outil que vous pouvez utiliser pour vérifier si le contenu est conforme aux stratégies de contenu d’OpenAI.

Outil de résumé

Le point de terminaison de l’API de saisie semi-automatique de texte d’OpenAI est appelé point de terminaison de saisie semi-automatique. Pour démarrer le processus de saisie semi-automatique, une invite est nécessaire. L’ingénierie d’invite est un processus utilisé dans les modèles de langage volumineux. La première partie de l’invite inclut des instructions en langage naturel et/ou des exemples de la tâche spécifique demandée (dans ce scénario, le résumé). Les invites permettent aux développeurs de fournir un contexte à l’API, ce qui peut l’aider à générer des saisies semi-automatiques de texte plus pertinentes et précises. Le modèle réalise la tâche en prédisant le texte suivant le plus probable. Cette technique est appelée apprentissage en contexte.

Notes

Le résumé extractif tente d’identifier et d’extraire les informations saillantes d’un texte et de les regrouper pour produire un résumé concis sans en comprendre le sens ni le contexte.

Le résumé abstrait réécrit un texte en créant d’abord une représentation sémantique interne, puis en rédigeant un résumé à l’aide du traitement du langage naturel. Ce processus implique de la paraphrase :

Il existe trois approches principales pour l’entraînement des modèles pour l’apprentissage en contexte : zéro coup, quelques coups et réglage précis. Ces approches varient en fonction de la quantité de données spécifiques à la tâche fournies au modèle.

  • Zéro coup : dans cette approche, aucun exemple n’est fourni au modèle. La demande de tâche est la seule entrée. Dans l’apprentissage « zéro coup », le modèle s’appuie sur des données sur lesquelles GPT-3 est déjà formé (presque toutes les données disponibles sur Internet). Le modèle tente de lier la tâche donnée à des catégories existantes qu’il a déjà apprises et répond en conséquence.

  • Quelques coups : lorsque vous utilisez cette approche, vous incluez un petit nombre d’exemples dans l’invite qui illustrent le format de réponse attendu et le contexte. Le modèle est fourni avec une très petite quantité de données d’entraînement, généralement quelques exemples, pour guider ses prédictions. L’apprentissage à l’aide d’un petit ensemble d’exemples permet au modèle de généraliser et de comprendre des tâches liées, mais auparavant invisibles. La création d’exemples de quelques coups peut être difficile, car ils doivent clarifier la tâche que vous souhaitez que le modèle effectue. L’un des problèmes fréquemment constaté est que les modèles, en particulier les petits, sont sensibles au style d’écriture utilisé dans les exemples d’entraînement.

    Les principaux avantages de cette approche sont une réduction significative du besoin de données spécifiques à une tâche et une réduction du potentiel d’apprentissage d’une distribution excessivement étroite à partir d’un jeu de données de réglage précis volumineux, mais restreint.

    Avec cette approche, vous ne pouvez pas mettre à jour les poids du modèle préentraîné.

    Pour plus d’informations, consultez Language Models are few-shot learners.

  • Réglage précis : le réglage précis est le processus d’adaptation des modèles pour obtenir un résultat souhaité spécifique à partir de vos propres jeux de données. Cela implique de réentraîner des modèles sur de nouvelles données. Pour plus d’informations, consultez Découvrir comment personnaliser un modèle pour votre application.

    Vous pouvez utiliser cette étape de personnalisation pour améliorer votre processus en :

    • Incluant un plus grand ensemble d’exemples de données.
    • Utilisant des techniques d’optimisation traditionnelles avec rétropropagation pour réajuster les pondérations du modèle. Ces techniques permettent d’obtenir des résultats de meilleure qualité qu’avec l’approche zéro coup ou en quelques coups.
    • Améliorant l’approche en quelques coups en entraînant les pondérations du modèle avec des invites et une structure spécifiques. Cette technique vous permet d’obtenir de meilleurs résultats sur un plus grand nombre de tâches sans avoir à fournir d’exemples dans l’invite. Il en résulte moins de texte envoyé et moins de jetons.

    Les inconvénients incluent la nécessité d’un nouveau jeu de données volumineux pour chaque tâche, le risque de mauvaise généralisation en raison de la distribution et la possibilité d’exploiter les caractéristiques fallacieuses des données d’entraînement, ce qui entraîne des risques élevés de comparaison injuste avec les performances humaines.

    La création d’un jeu de données pour la personnalisation du modèle est différente de la conception des invites à utiliser avec les autres modèles. Les invites pour les appels de saisie semi-automatique utilisent souvent des instructions détaillées ou des techniques d’apprentissage à quelques coups, et se composent de plusieurs exemples. Pour le réglage, nous vous recommandons que chaque exemple de formation se compose d’un exemple d’entrée unique et de sa sortie souhaitée. Vous n’avez pas besoin de fournir des instructions détaillées ni des exemples dans l’invite.

    À mesure que vous augmentez le nombre d’exemples d’entraînement, vos résultats s’améliorent. Nous vous recommandons d’inclure au moins 500 exemples. Il est courant d’utiliser entre des milliers et des centaines de milliers d’exemples étiquetés. Les tests indiquent que chaque doublement de la taille du jeu de données entraîne une augmentation linéaire de la qualité du modèle.

Ce guide présente les moteurs curie-instruct/text-curie-001 et davinci-instruct/text-davinci-001. Ces moteurs sont fréquemment mis à jour. La version que vous utilisez peut être différente.

Post-traitement

Nous vous recommandons de vérifier la validité des résultats obtenus à partir de GPT-3. Implémentez des vérifications de validité à l’aide d’une approche par programme ou de classifieurs, en fonction du cas d’usage. Voici quelques vérifications critiques :

  • Vérifiez qu’aucun point significatif n’est manqué.
  • Vérifiez les inexactitudes factuelles.
  • Vérifiez tout biais introduit par les données d’entraînement utilisées sur le modèle.
  • Vérifiez que le modèle ne change pas de texte en ajoutant de nouvelles idées ou points. Ce problème se nomme hallucination.
  • Recherchez les erreurs grammaticales et orthographiques.
  • Utilisez un filtre de vulgarité comme Content Moderator pour vous assurer qu’aucun contenu inapproprié ou non pertinent n’est inclus.

Enfin, réintroduisez toutes les informations essentielles qui ont été supprimées du résumé, comme les informations confidentielles.

Dans certains cas, un résumé de la conversation est également envoyé au client, ainsi que la transcription d’origine. Dans ce cas, le post-traitement implique d’ajouter la transcription au résumé. Cela peut également inclure l’ajout de phrases de type « Veuillez consulter le résumé ci-dessous. ».

Considérations

Il est important d’affiner vos modèles de base avec un jeu de données d’entraînement spécifique au secteur et de modifier la taille des jeux de données disponibles. Les modèles affinés fonctionnent mieux lorsque les données d’entraînement incluent au moins 1 000 points de données et que la vérité de terrain (résumés générés par l’homme) utilisée pour entraîner les modèles est de haute qualité.

Le compromis est le coût. Le processus d’étiquetage et de nettoyage des jeux de données peut être coûteux. Pour garantir des données de formation de haute qualité, vous devrez peut-être inspecter manuellement les résumés de la vérité de terrain et réécrire les résumés de faible qualité. Tenez compte des points suivants concernant la phase de résumé :

  • Ingénierie d’invite : lorsqu’il est fourni avec peu d’instructions, Davinci fonctionne souvent mieux que d’autres modèles. Pour optimiser les résultats, testez différentes invites pour différents modèles.
  • Taille du jeton : un outil de résumé basé sur GPT-3 est limité à un total de 4 098 jetons, y compris l’invite et la saisie. Pour résumer des passages plus volumineux, séparez le texte en parties conformes à ces contraintes. Résumez chaque partie individuellement, puis collectez les résultats dans un résumé final.
  • « Garbage in, garbage out » : les modèles entraînés sont de la même qualité que les données d’entraînement que vous fournissez. Assurez-vous que les résumés de la vérité de terrain dans les données d’entraînement sont bien adaptés aux informations que vous souhaitez éventuellement résumer dans vos dialogues.
  • Point d’arrêt : le modèle cesse de résumer lorsqu’il atteint un point d’arrêt naturel ou une séquence d’arrêt que vous fournissez. Testez ce paramètre pour choisir parmi plusieurs résumés et pour vérifier si les résumés semblent incomplets.

Exemple de scénario : résumé des transcriptions dans les centres d’appels

Ce scénario montre comment la fonctionnalité de résumé Azure OpenAI peut aider les agents du service client à effectuer des tâches de résumé. Il teste les approches à zéro coup, à quelques coups et au réglage précis, et compare les résultats aux résumés générés par l’homme.

Le jeu de données utilisé dans ce scénario est un ensemble de conversations hypothétiques entre les clients et les agents du centre de support technique Xbox sur différents produits et services Xbox. La conversation hypothétique est étiquetée avec Invite. Le résumé abstrait écrit par l’homme est étiqueté Achèvement.

Prompt Completion
Client : Question sur XAIL

Agent : Bonjour, comment puis-je vous aider aujourd’hui ?

Client : Bonjour, j’ai une question concernant la Insider Ligue pour l’accessibilité

Agent : D’accord. Je peux vous aider.

Client : Dois-je m’inscrire à l’anneau d’aperçu pour rejoindre la ligue pour l’accessibilité ?

Agent : Non. Vous pouvez rejoindre la Ligue sans inscrire votre console aux anneaux d’aperçu Xbox. Toutefois, notez que certaines expériences mises à votre disposition peuvent nécessiter que vous rejoigniez un anneau d’aperçu Xbox.

Client : D’accord. Et je peux simplement m’inscrire à l’anneau d’aperçu plus tard ?

Agent : En effet.

Client : Très bien.
Le client souhaite savoir s’il doit s’inscrire à des anneaux d’aperçu pour rejoindre la Xbox Accessibility Insider League. L’agent répond que ce n’est pas obligatoire, mais que cela peut être nécessaire pour certaines expériences.

Sortie idéale. L’objectif est de créer des résumés qui suivent ce format : « Le client a dit x. L’agent a répondu y. ». Un autre objectif consiste à capturer les caractéristiques principales du dialogue, comme la plainte du client, les suggestions de résolution et les actions de suivi.

Voici un exemple d’interaction avec le support client, suivi d’un résumé complet écrit par l’homme :

Dialogue

Client : Bonjour. J’ai une question sur le Game Pass.

Agent : Bonjour. Comment allez-vous aujourd'hui ?

Client : Je vais bien.

Agent. Je vois que vous avez besoin d’aide avec le Xbox Game Pass.

Client : Oui. Je voulais savoir pendant combien de temps puis-je accéder aux jeux une fois qu’ils ont été retirés du Game Pass.

Agent : une fois qu’un jeu quitte le catalogue Xbox Game Pass, vous devez acheter une copie numérique à partir de l’application Xbox pour Windows ou du Microsoft Store, jouer à partir d’un disque ou obtenir une autre forme de droit pour continuer à jouer à ce jeu. N’oubliez pas que Xbox avertira les membres avant qu’un jeu ne quitte le catalogue Xbox Game Pass. Et, en tant que membre, vous pouvez acheter n’importe quel jeu dans le catalogue avec jusqu’à 20 % de réduction (ou le meilleur prix disponible) pour continuer à jouer à un jeu une fois qu’il a quitté le catalogue.

Client : J’ai compris, merci

Résumé de la vérité de terrain

Le client souhaite savoir pendant combien de temps il peut accéder aux jeux une fois qu’ils ont quitté Game Pass. L’agent informe le client qu’il doit acheter le jeu pour pouvoir continuer à y accéder.

Zéro coup

L’approche zéro coup est utile lorsque vous n’avez pas suffisamment de données d’entraînement étiquetées. Dans ce cas, il n’y a pas assez de résumés de la vérité de terrain. Il est important de créer les invites avec soin pour extraire les informations pertinentes. Le format suivant est utilisé pour extraire des résumés généraux des conversations client-agent :

prefix = "Please provide a summary of the conversation below: "

suffix = "The summary is as follows: "

Voici un exemple qui montre comment exécuter un modèle zéro coup :

rouge = Rouge()
# Run zero-shot prediction for all engines of interest
deploymentNames = ["curie-instruct","davinci-instruct"] # also known as text-davinci/text-instruct
for deployment in deploymentNames:
url = openai.api_base + "openai/deployments/" + deployment + "/completions?api-version=2022-12-01-preivew"
response_list = []
rouge_list = []
print("calling..." + deployment)
for i in range(len(test)):
response_i = openai.Completion.create(
engine = deployment,
prompt = build_prompt(prefix, [test['prompt'][i]], suffix),
temperature = 0.0,
max_tokens = 400,
top_p = 1.0,
frequence_penalty = 0.5,
persence_penalty = 0.0,
stop=["end"] # We recommend that you adjust the stop sequence based on the dataset
)
scores = rouge.get_scores(normalize_text(response_i['choices'][ 0]['text']),test['completion'][i])
rouge_list += [scores[0]['rouge-1']['f']],
response_list += [response_i]
summary_list = [normalize_text(i['choices'][0]['text']) for i in response_list]
test[deployment + "_zeroshotsummary"] = summary_list
test[deployment + "_zeroshotroguescore"] = rouge_list

Résultats et observations

La sortie du modèle de capture zéro coup est produite directement à partir du modèle de base. Dans ce cas, Curie et Davinci résument tous les deux assez bien le dialogue. La seule différence notable est que le modèle Curie fournit un peu moins de détails. Curie commence le résumé par « Le client interroge l’agent sur Xbox Game Pass ». La phrase correspondante dans Davinci est « le client a demandé pendant combien de temps il pouvait accéder aux jeux une fois qu’ils ont quitté le catalogue Xbox Game Pass ».

Dialogue

Client : Bonjour. J’ai une question sur le Game Pass.

Agent : Bonjour. Comment allez-vous ?

Client : Je vais bien.

Agent : Je vois que vous avez besoin d’aide avec le Xbox Game Pass.

Client : Oui. Je voulais savoir pendant combien de temps puis-je accéder aux jeux une fois qu’ils ont été retirés du Game Pass.

Agent : une fois qu’un jeu quitte le catalogue Xbox Game Pass, vous devez acheter une copie numérique à partir de l’application Xbox pour Windows ou du Microsoft Store, jouer à partir d’un disque ou obtenir une autre forme de droit pour continuer à jouer à ce jeu. N’oubliez pas que Xbox avertira les membres avant qu’un jeu ne quitte le catalogue Xbox Game Pass. Et, en tant que membre, vous pouvez acheter n’importe quel jeu dans le catalogue avec jusqu’à 20 % de réduction ou le meilleur prix disponible pour continuer à jouer à un jeu une fois qu’il a quitté le catalogue.

Vérité de terrain

Le client souhaite savoir pendant combien de temps il peut accéder aux jeux une fois qu’ils ont quitté Game Pass. L’agent informe le client qu’il doit acheter le jeu pour pouvoir continuer à y accéder.

Résultat avec Davinci

Le client a demandé pendant combien de temps il pouvait accéder aux jeux une fois qu’ils ont quitté le catalogue Xbox Game Pass. L’agent lui a dit qu’il devra acheter une copie numérique du jeu à partir de l’application Xbox pour Windows ou du Microsoft Store afin de continuer à y jouer. L’agent a également rappelé au client qu’il serait averti avant qu’un jeu quitte le catalogue Xbox Game Pass. En tant que membre, le client peut acheter n’importe quel jeu dans le catalogue avec jusqu’à 20 % de réduction ou au meilleur prix disponible.

Résultat avec Curie

Le client interroge l’agent sur Xbox Game Pass. L’agent indique au client qu’une fois qu’un jeu quitte le catalogue Xbox Game Pass, le client doit acheter une copie numérique à partir de l’application Xbox pour Windows ou du Microsoft Store, jouer à partir d’un disque ou obtenir une autre forme de droit pour continuer à jouer à ce jeu. L’agent rappelle également au client que Xbox informera les membres avant qu’un jeu ne quitte le catalogue Xbox Game Pass.

Quelques coups

Lorsque vous utilisez l’approche à quelques coups, le modèle est fourni avec un petit nombre d’exemples.

context_primer = "Below are examples of conversations and their corresponding summaries:"

prefix = "Please provide a summary of the conversation below: "

suffix = "The summary is as follows: "

Voici un exemple qui montre comment exécuter un modèle à quelques coups :

train_small = train[]
train_small_json = train_small.to_dict(orient='records')
compiled_train_prompt = build_prompt_fewshot(prefix,context_primer, train_small_json, suffix)

for deployment in deploymentNames:
url = openai.api_base + "openai/deployments/" + deployment + "/completions?api-version=2022-12-01-preivew"
response_list = []
rouge_list = []
print("calling..." + deployment)
for i in range(len(test)):
response_i = openai.Completion.create(
engine = deployment,
prompt = compiled_train_prompt+build_prompt(prefix, [test['prompt'][i]], suffix),
temperature = 0.0,
max_tokens = 400,
top_p = 1.0,
frequence_penalty = 0.5,
persence_penalty = 0.0,
stop=["end"] # We recommend that you adjust the stop sequence based on the dataset
)
scores = rouge.get_scores(normalize_text(response_i['choices'][ 0]['text']),test['completion'][i])
rouge_list += [scores[0]['rouge-1']['f']],
response_list += [response_i]
summary_list = [normalize_text(i['choices'][0]['text']) for i in response_list]
test[deployment + "_fewshot"] = summary_list
test[deployment + "_FSscore1"] = rouge_list

Résultats et observations

Avec l’approche à quelques coups, les résumés continuent de capturer les caractéristiques principales de la conversation. Le résumé de Davinci est plus compact et plus proche de la vérité du terrain. Curie invente des détails sans intérêt.

Dialogue

Client : Bonjour. J’ai une question sur le Game Pass.

Agent : Bonjour. Comment allez-vous ?

Client : Je vais bien.

Agent : Je vois que vous avez besoin d’aide avec le Xbox Game Pass.

Client : Oui. Je voulais savoir pendant combien de temps puis-je accéder aux jeux une fois qu’ils ont été retirés du Game Pass.

Agent : une fois qu’un jeu quitte le catalogue Xbox Game Pass, vous devez acheter une copie numérique à partir de l’application Xbox pour Windows ou du Microsoft Store, jouer à partir d’un disque ou obtenir une autre forme de droit pour continuer à jouer à ce jeu. N’oubliez pas que Xbox avertira les membres avant qu’un jeu ne quitte le catalogue Xbox Game Pass. Et, en tant que membre, vous pouvez acheter n’importe quel jeu dans le catalogue avec jusqu’à 20 % de réduction ou le meilleur prix disponible pour continuer à jouer à un jeu une fois qu’il a quitté le catalogue.

Vérité de terrain

Le client souhaite savoir pendant combien de temps il peut accéder aux jeux une fois qu’ils ont quitté Game Pass. L’agent informe le client qu’il doit acheter le jeu pour pouvoir continuer à y accéder.

Résultat avec Davinci

Le client voulait savoir pendant combien de temps il pouvait accéder aux jeux une fois qu’ils ont quitté le Game Pass. L’agent informe qu’une fois qu’un jeu quitte le catalogue Xbox Game Pass, le client doit acheter une copie numérique ou obtenir une autre forme de droit pour continuer à jouer au jeu.

Résultat avec Curie

Le client a une question sur le Game Pass. Le client va bien. L’agent a besoin d’aide concernant Xbox Game Pass. Le client demande pendant combien de temps il peut accéder aux jeux une fois qu’ils ont quitté le catalogue Game Pass. L’agent indique qu’une fois qu’un jeu quitte le catalogue Xbox Game Pass, le client doit acheter une copie numérique à partir de l’application Xbox pour Windows ou du Microsoft Store, jouer à partir d’un disque ou obtenir une autre forme de droit pour continuer à jouer à ce jeu. Le client est heureux d’entendre cela et remercie l’agent.

Optimisation

Le réglage précis est le processus d’adaptation des modèles pour obtenir un résultat souhaité spécifique à partir de vos propres jeux de données.

Voici un exemple de format :

{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}

Résultats et observations

Les tests suggèrent qu’un modèle Curie réglé aboutit à des résultats comparables à ceux d’un modèle Davinci à quelques coups. Les deux résumés capturent la question du client et la réponse de l’agent sans capturer les détails sur les remises et sans ajouter de contenu. Les deux résumés sont similaires à la vérité du terrain.

Dialogue

Client : Bonjour. J’ai une question sur le Game Pass.

Agent : Bonjour. Comment allez-vous ?

Client : Je vais bien.

Agent : Je vois que vous avez besoin d’aide avec le Xbox Game Pass.

Client : Oui. Je voulais savoir pendant combien de temps puis-je accéder aux jeux une fois qu’ils ont été retirés du Game Pass.

Agent : une fois qu’un jeu quitte le catalogue Xbox Game Pass, vous devez acheter une copie numérique à partir de l’application Xbox pour Windows ou du Microsoft Store, jouer à partir d’un disque ou obtenir une autre forme de droit pour continuer à jouer à ce jeu. N’oubliez pas que Xbox avertira les membres avant qu’un jeu ne quitte le catalogue Xbox Game Pass. Et, en tant que membre, vous pouvez acheter n’importe quel jeu dans le catalogue avec jusqu’à 20 % de réduction ou le meilleur prix disponible pour continuer à jouer à un jeu une fois qu’il a quitté le catalogue.

Vérité de terrain

Le client souhaite savoir pendant combien de temps il peut accéder aux jeux une fois qu’ils ont quitté Game Pass. L’agent informe le client qu’il doit acheter le jeu pour pouvoir continuer à y accéder.

Résultat avec Curie

Le client souhaite savoir pendant combien de temps il peut accéder aux jeux une fois qu’ils ont quitté Game Pass. L’agent explique qu’une fois qu’un jeu quitte le catalogue Xbox Game Pass, il doit acheter une copie numérique à partir de l’application Xbox pour Windows ou du Microsoft Store, jouer à partir d’un disque ou obtenir une autre forme de droit pour continuer à jouer à ce jeu.

Conclusions

En règle générale, le modèle Davinci nécessite moins d’instructions pour effectuer des tâches que d’autres modèles, tels que Curie. Davinci est mieux adapté au résumé de texte qui nécessite une compréhension du contexte ou d’une langue spécifique. Étant donné que Davinci est le modèle le plus complexe, sa latence est supérieure à celle des autres modèles. Curie est plus rapide que Davinci et est capable de résumer les conversations.

Ces tests suggèrent que vous pouvez générer de meilleurs résumés lorsque vous fournissez plus d’instructions au modèle par le biais de quelques coups ou d’un réglage précis. Les modèles réglés sont mieux conformes à la structure et au contexte appris à partir d’un jeu de données d’entraînement. Cette fonctionnalité est particulièrement utile lorsque les résumés sont spécifiques à un domaine (par exemple, la génération de résumés à partir de notes d’un médecin ou le support client de vente de médicaments sur ordonnance en ligne). Si vous utilisez le réglage précis, vous avez davantage de contrôle sur les types de résumés que vous voyez.

Pour faciliter la comparaison, voici le résumé des résultats présentés précédemment :

Vérité de terrain

Le client souhaite savoir pendant combien de temps il peut accéder aux jeux une fois qu’ils ont quitté Game Pass. L’agent informe le client qu’il doit acheter le jeu pour pouvoir continuer à y accéder.

Résultat à zéro coup avec Davinci

Le client a demandé pendant combien de temps il pouvait accéder aux jeux une fois qu’ils ont quitté le catalogue Xbox Game Pass. L’agent lui a dit qu’il devra acheter une copie numérique du jeu à partir de l’application Xbox pour Windows ou du Microsoft Store afin de continuer à y jouer. L’agent a également rappelé au client qu’il serait averti avant qu’un jeu quitte le catalogue Xbox Game Pass. En tant que membre, le client peut acheter n’importe quel jeu dans le catalogue avec jusqu’à 20 % de réduction ou au meilleur prix disponible.

Résultat à zéro coup avec Currie

Le client interroge l’agent sur Xbox Game Pass. L’agent indique au client qu’une fois qu’un jeu quitte le catalogue Xbox Game Pass, le client doit acheter une copie numérique à partir de l’application Xbox pour Windows ou du Microsoft Store, jouer à partir d’un disque ou obtenir une autre forme de droit pour continuer à jouer à ce jeu. L’agent rappelle également au client que Xbox informera les membres avant qu’un jeu ne quitte le catalogue Xbox Game Pass.

Résultat à quelques coups avec Davinci

Le client voulait savoir pendant combien de temps il pouvait accéder aux jeux une fois qu’ils ont quitté le Game Pass. L’agent informe qu’une fois qu’un jeu quitte le catalogue Xbox Game Pass, le client doit acheter une copie numérique ou obtenir une autre forme de droit pour continuer à jouer au jeu.

Résultat à quelques coups avec Curie

Le client a une question sur le Game Pass. Le client va bien. L’agent a besoin d’aide concernant Xbox Game Pass. Le client demande pendant combien de temps il peut accéder aux jeux une fois qu’ils ont quitté le catalogue Game Pass. L’agent indique qu’une fois qu’un jeu quitte le catalogue Xbox Game Pass, le client doit acheter une copie numérique à partir de l’application Xbox pour Windows ou du Microsoft Store, jouer à partir d’un disque ou obtenir une autre forme de droit pour continuer à jouer à ce jeu. Le client est heureux d’entendre cela et remercie l’agent.

Résultat du réglage précis avec Curie

Le client souhaite savoir pendant combien de temps il peut accéder aux jeux une fois qu’ils ont quitté Game Pass. L’agent explique qu’une fois qu’un jeu quitte le catalogue Xbox Game Pass, il doit acheter une copie numérique à partir de l’application Xbox pour Windows ou du Microsoft Store, jouer à partir d’un disque ou obtenir une autre forme de droit pour continuer à jouer à ce jeu.

Évaluation du résumé

Il existe plusieurs techniques pour évaluer les performances des modèles de résumé.

En voici quelques-uns :

ROUGE (Recall-Oriented Understudy for Gisting Evaluation). Cette technique comprend des mesures permettant de déterminer automatiquement la qualité d’un résumé en le comparant aux résumés idéaux créés par des humains. Les mesures comptent le nombre d’unités qui se chevauchent, comme les n-grammes, les séquences de mots et les paires de mots, entre le résumé généré par ordinateur évalué et les résumés idéaux.

Voici un exemple :

reference_summary = "The cat ison porch by the tree"
generated_summary = "The cat is by the tree on the porch"
rouge = Rouge()
rouge.get_scores(generated_summary, reference_summary)
[{'rouge-1': {'r':1.0, 'p': 1.0, 'f': 0.999999995},
  'rouge-2': {'r': 0.5714285714285714, 'p': 0.5, 'f': 0.5333333283555556},
  'rouge-1': {'r': 0.75, 'p': 0.75, 'f': 0.749999995}}]

BertScore. Cette technique calcule des scores de similarité en alignant les résumés générés et de référence au niveau de jetons. Les alignements de jetons sont calculés avidement pour optimiser la similarité cosinus entre les incorporations de jetons contextualisées à partir de BERT.

Voici un exemple :

  import torchmetrics
  from torchmetrics.text.bert import BERTScore
  preds = "You should have ice cream in the summer"
  target = "Ice creams are great when the weather is hot"
  bertscore = BERTScore()
  score = bertscore(preds, target)
  print(score)

Matrice de similarité. Une matrice de similarité est une représentation des similitudes entre différentes entités dans une évaluation de résumé. Vous pouvez l’utiliser pour comparer différents résumés d’un même texte et mesurer leur similarité. Elle est représentée par une grille à deux dimensions, où chaque cellule contient une mesure de la similarité entre deux résumés. Vous pouvez mesurer la similarité à l’aide de différentes méthodes, comme la similarité cosinus, la similarité Jaccard et la distance d’édition. Vous utilisez ensuite la matrice pour comparer les résumés et déterminer lequel correspond à la représentation la plus précise du texte d’origine.

Voici un exemple de commande qui génère la matrice de similarité d’une comparaison BERTScore de deux phrases similaires :

bert-score-show --lang en -r "The cat is on the porch by the tree"
                          -c "The cat is by the tree on the porch"
                          -f out.png

La première phrase, « The cat is on the porch by the tree » (Le chat est sur le porche près de l’arbre), est appelée candidat. La seconde phrase est appelée référence. La commande utilise BERTScore pour comparer les phrases et générer une matrice.

La matrice suivante affiche la sortie générée par la commande précédente :

Diagramme d’une matrice de similarité.

Pour plus d’informations, consultez l’article SummEval: Reevaluating Summarization Evaluation (en anglais uniquement). Pour obtenir un kit de ressources PyPI pour le résumé, consultez la page Summ-eval 0.892.

Utilisation responsable

Le GPT peut produire d’excellents résultats, mais vous devez vérifier la sortie pour éviter les préjugés sociaux, éthiques et juridiques et les résultats néfastes. Lorsque vous ajustez les modèles, vous devez supprimer tous les points de données qui peuvent être dangereux pour l’apprentissage du modèle. Vous pouvez utiliser le « Red Teaming » (jouer le rôle d’une équipe adverse) pour identifier les sorties dangereuses du modèle. Vous pouvez implémenter ce processus manuellement et le prendre en charge à l’aide de méthodes semi-automatisées. Vous pouvez générer des cas de test à l’aide de modèles de langage, puis utiliser un classifieur pour détecter les comportements nuisibles dans les cas de test. Enfin, vous devez effectuer une vérification manuelle des résumés générés pour vous assurer qu’ils sont prêts à être utilisés.

Pour plus d’informations, consultez Modèles de langage Red Teaming avec des modèles de langage.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Autre contributeur :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes