Partage via


Comment utiliser le résumé du texte

Le résumé de texte est conçu pour raccourcir le contenu que les utilisateurs trouvent trop long à lire. Un résumé, tant extractif qu’abstractif, condense des articles, papiers ou autres documents en phrases clés.

Résumé extractif : produit un résumé en extrayant des phrases qui représentent collectivement les informations les plus importantes ou les plus pertinentes du contenu d’origine.

Résumé abstractif : produit un résumé en générant des phrases raccourcies du document, qui reflètent l’idée principale.

Résumé axé sur une requête : vous permet d’utiliser une requête pendant le résumé.

Ces deux fonctionnalités sont capables de résumer des éléments d’intérêt spécifiques quand elles sont spécifiées.

Les modèles IA utilisés par l’API sont fournis par le service ; vous n’avez qu’à envoyer le contenu à analyser.

Pour faciliter la navigation, voici des liens vers les sections correspondantes pour chaque service :

Aspect Section
Extractif Résumé extractif
Abstractif Résumé par abstraction
Axé sur une requête Résumé axé sur une requête

Fonctionnalités

Conseil

Si vous souhaitez commencer à utiliser ces fonctionnalités, vous pouvez suivre l’article de démarrage rapide pour bien démarrer. Vous pouvez également créer des exemples de requêtes à l’aide de Language Studio sans avoir à écrire de code.

L’API de résumé extractif utilise des techniques de traitement automatique des langues pour localiser les phrases clés d’un document texte non structuré. Ces phrases transmettent collectivement l’idée principale du document.

Le résumé extractif renvoie un score de classement dans le cadre de la réponse du système, ainsi que les phrases extraites et leur position dans les documents d’origine. Un score de classement est un indicateur de la pertinence d’une phrase par rapport à l’idée principale d’un document. Le modèle attribue un score compris entre 0 et 1 (inclus) à chaque phrase et renvoie les phrases les mieux notées par requête. Par exemple, si vous demandez un résumé de trois phrases, le service renvoie les trois phrases les mieux notées.

Il existe une autre fonctionnalité d’Azure AI Language : I’extraction de phrases clés, qui permet d’extraire des informations essentielles. Pour choisir entre l’extraction de phrases clés et le résumé extractif, tenez compte des points suivants :

  • L’extraction de phrases clés renvoie des expressions alors que le résumé extractif renvoie des phrases.
  • Le résumé extractif retourne des phrases avec un score de classement, les phrases les mieux classées sont retournées sur demande.
  • Le résumé extractif retourne également les informations de position suivantes :
    • Décalage : position de début de chaque phrase extraite.
    • Longueur : longueur de chaque phrase extraite.

Déterminer le mode de traitement des données (facultatif)

Envoi de données

Les documents sont envoyés à l’API sous forme de chaînes de texte. L’analyse est effectuée à la réception de la demande. Comme l’API est asynchrone, il peut y avoir un délai entre l’envoi d’une demande d’API et la réception des résultats.

Lorsque vous utilisez cette fonctionnalité, les résultats de l’API sont disponibles pendant 24 heures à partir du moment où la demande a été ingérée, et sont indiqués dans la réponse. Après cette période, les résultats sont purgés et ne sont plus disponibles pour récupération.

Récupération des résultats du résumé de texte

Lorsque vous recevez des résultats de la détection de langue, vous pouvez diffuser les résultats dans une application ou enregistrer la sortie dans un fichier sur le système local.

Voici un exemple de contenu que vous pourriez soumettre pour résumé. Il est extrait de l’article de blog Microsoft Une représentation holistique vers une IA intégrative. Cet article ne constitue qu’un exemple. L’API peut accepter un texte d’entrée plus long. Pour plus d’informations, consultez la section sur les limites de données.

« Chez Microsoft, nous cherchons à faire progresser l’IA au-delà des techniques existantes, en adoptant une approche plus holistique et plus humaine de l’apprentissage et de la compréhension. En tant que directeur de la technologie d’Azure AI services, je collabore avec une équipe de scientifiques et d’ingénieurs exceptionnels pour faire de cette quête en réalité. Dans le cadre de mes fonctions, je bénéficie d’une perspective unique pour observer la relation entre trois attributs de la cognition humaine : le texte monolingue (X), les signaux sensoriels audio ou visuels (Y) et le texte multilingue (Z). La magie se produit à l’intersection de ces trois attributs : c’est ce que nous appelons le code XYZ, comme l’illustre la figure 1, une représentation conjointe permettant de créer une IA plus puissante, capable de mieux parler, entendre, voir et comprendre les humains. Nous pensons que le code XYZ nous permet de réaliser notre vision à long terme : l’apprentissage de transfert entre domaines, couvrant différentes modalités et différentes langues. L’objectif est de disposer de modèles préentraînés capables d’apprendre conjointement des représentations pour prendre en charge un large éventail de tâches d’IA en aval, comme les humains le font aujourd’hui. Au cours des cinq dernières années, nous avons obtenu des résultats de l’ordre des performances humaines dans des tests d’évaluation portant sur la reconnaissance vocale du langage courant, la traduction automatique, les réponses aux questions du langage courant, la compréhension de la lecture automatique et le sous-titrage d’images. Ces cinq percées nous ont fourni des signaux forts en direction de notre aspiration plus ambitieuse : faire un bond en avant dans les capacités de l’IA, en réalisant un apprentissage multisensoriel et multilingue plus proche de la façon dont les humains apprennent et comprennent. Je pense que le code XYZ conjoint constitue un élément fondamental de cette aspiration, s’il est fondé sur des sources de connaissances externes dans les tâches d’IA en aval.

La requête API de résumé de texte est traitée dès réception de la demande en créant une tâche pour le back-end de l’API. Si la tâche réussit, la sortie de l’API est retournée. La sortie peut être récupérée pendant 24 heures. après quoi elle est vidée. En raison de la prise en charge multilingue et des émojis, la réponse peut contenir des décalages de texte. Pour plus d’informations, consultez le guide pratique pour traiter les décalages.

Lorsque vous utilisez l’exemple ci-dessus, l’API pourrait retourner les phrases de résumé suivantes :

Résumé extractif :

  • « Chez Microsoft, nous cherchons à faire progresser l’IA au-delà des techniques existantes, en adoptant une approche plus holistique et plus humaine de l’apprentissage et de la compréhension. »
  • «Nous pensons que le code XYZ nous permet de réaliser notre vision à long terme   l’apprentissage de transfert entre domaines, couvrant différentes modalités et différentes langues.»
  • «L’objectif est de disposer de modèles pré-entraînés capables d’apprendre conjointement des représentations pour prendre en charge un large éventail de tâches d’IA en aval, comme les humains le font aujourd’hui.»

Résumé abstractif :

  • « Microsoft adopte une approche plus holistique et humaine de l’apprentissage et de la compréhension. Nous pensons que le code XYZ nous permet de réaliser notre vision à long terme : l’apprentissage de transfert entre domaines, couvrant différentes modalités et différentes langues. Au cours des cinq dernières années, nous avons atteint des performances humaines sur les benchmarks. »

Essayer le résumé par extraction de texte

Vous pouvez utiliser le résumé par extraction de texte pour obtenir des résumés d’articles, de papiers ou de documents. Pour voir un exemple, consultez l’article sur le démarrage rapide.

Vous pouvez utiliser le paramètre sentenceCount pour guider le nombre de phrases qui sont renvoyées, 3 étant la valeur par défaut. La plage est comprise entre 1 et 20.

Par ailleurs, le paramètre sortby permet de spécifier l’ordre dans lequel les phrases extraites sont retournées : Offset ou Rank, par défaut Offset.

Valeur du paramètre Description
Rank Trie les phrases en fonction de leur pertinence pour le document d’entrée, déterminée par le service.
Offset Conserve l’ordre d’origine dans lequel les phrases apparaissent dans le document d’entrée.

Essayez le résumé par abstraction du texte

L’exemple suivant vous permet de commencer à utiliser le résumé par abstraction de texte :

  1. Copiez la commande ci-dessous dans un éditeur de texte. L’exemple BASH utilise le caractère de continuation de ligne \. Si votre console ou terminal utilise un caractère de continuation de ligne différent, utilisez ce caractère à la place.
curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-text/jobs?api-version=2023-04-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Text Abstractive Summarization Task Example",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "en",
        "text": "At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI services, I have been working with a team of amazing scientists and engineers to turn this quest into a reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the intersection of all three, there’s magic—what we call XYZ-code as illustrated in Figure 1—a joint representation to create more powerful AI that can speak, hear, see, and understand humans better. We believe XYZ-code enables us to fulfill our long-term vision: cross-domain transfer learning, spanning modalities and languages. The goal is to have pretrained models that can jointly learn representations to support a broad range of downstream AI tasks, much in the way humans do today. Over the past five years, we have achieved human performance on benchmarks in conversational speech recognition, machine translation, conversational question answering, machine reading comprehension, and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious aspiration to produce a leap in AI capabilities, achieving multi-sensory and multilingual learning that is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
      }
    ]
  },
  "tasks": [
    {
      "kind": "AbstractiveSummarization",
      "taskName": "Text Abstractive Summarization Task 1",
    }
  ]
}
'
  1. Modifiez la commande comme ci-dessous :

    • Remplacez la valeur your-language-resource-key par votre propre clé.
    • Remplacez la première partie de l’URL de la requête your-language-resource-endpoint par votre propre URL de point de terminaison.
  2. Ouvrez une fenêtre d’invite de commandes (par exemple : BASH).

  3. Collez la commande à partir de l’éditeur de texte dans la fenêtre d’invite de commandes, puis exécutez la commande.

  4. Obtenez l’emplacement de l’opération (operation-location) de l’en-tête de la réponse. La valeur ressemble à l’URL suivante :

https://<your-language-resource-endpoint>/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-10-01-preview
  1. Pour obtenir les résultats de la requête, utilisez la commande cURL suivante. Veillez à remplacer <my-job-id> par la valeur d’ID numérique que vous avez reçue de l’en-tête de réponse operation-location précédent :
curl -X GET https://<your-language-resource-endpoint>/language/analyze-text/jobs/<my-job-id>?api-version=2022-10-01-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>"

Exemple de réponse JSON pour un résumé de texte par abstraction

{
    "jobId": "cd6418fe-db86-4350-aec1-f0d7c91442a6",
    "lastUpdateDateTime": "2022-09-08T16:45:14Z",
    "createdDateTime": "2022-09-08T16:44:53Z",
    "expirationDateTime": "2022-09-09T16:44:53Z",
    "status": "succeeded",
    "errors": [],
    "displayName": "Text Abstractive Summarization Task Example",
    "tasks": {
        "completed": 1,
        "failed": 0,
        "inProgress": 0,
        "total": 1,
        "items": [
            {
                "kind": "AbstractiveSummarizationLROResults",
                "taskName": "Text Abstractive Summarization Task 1",
                "lastUpdateDateTime": "2022-09-08T16:45:14.0717206Z",
                "status": "succeeded",
                "results": {
                    "documents": [
                        {
                            "summaries": [
                                {
                                    "text": "Microsoft is taking a more holistic, human-centric approach to AI. We've developed a joint representation to create more powerful AI that can speak, hear, see, and understand humans better. We've achieved human performance on benchmarks in conversational speech recognition, machine translation, ...... and image captions.",
                                    "contexts": [
                                        {
                                            "offset": 0,
                                            "length": 247
                                        }
                                    ]
                                }
                            ],
                            "id": "1"
                        }
                    ],
                    "errors": [],
                    "modelVersion": "latest"
                }
            }
        ]
    }
}
paramètre Description
-X POST <endpoint> Spécifie votre point de terminaison pour accéder à l’API.
-H Content-Type: application/json Type de contenu pour l’envoi de données JSON.
-H "Ocp-Apim-Subscription-Key:<key> Spécifie la clé pour accéder à l’API.
-d <documents> Code JSON contenant les documents que vous souhaitez envoyer.

Les commandes cURL suivantes sont exécutées à partir d’un interpréteur de commandes bash. Modifiez ces commandes avec vos propres nom de ressource, clé de ressource et valeurs JSON.

Résumé basé sur une requête

L’API de résumé de texte basé sur des requêtes est une extension de l’API de résumé de texte existante.

La plus grande différence est un nouveau champ query dans le corps de la demande (sous tasks>parameters>query).

Conseil

Le résumé basé sur des requêtes présente une certaine différenciation dans l’utilisation du contrôle de longueur en fonction du type de résumé basé sur des requêtes que vous utilisez :

  • Le résumé extractif basé sur des requêtes prend en charge le contrôle de longueur en spécifiant sentenceCount.
  • Le résumé abstrait basé sur les requêtes ne prend pas en charge le contrôle de longueur.

Voici un exemple de requête :

curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-text/jobs?api-version=2023-11-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Text Extractive Summarization Task Example",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "en",
        "text": "At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI services, I have been working with a team of amazing scientists and engineers to turn this quest into a reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the intersection of all three, there’s magic—what we call XYZ-code as illustrated in Figure 1—a joint representation to create more powerful AI that can speak, hear, see, and understand humans better. We believe XYZ-code enables us to fulfill our long-term vision: cross-domain transfer learning, spanning modalities and languages. The goal is to have pretrained models that can jointly learn representations to support a broad range of downstream AI tasks, much in the way humans do today. Over the past five years, we have achieved human performance on benchmarks in conversational speech recognition, machine translation, conversational question answering, machine reading comprehension, and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious aspiration to produce a leap in AI capabilities, achieving multi-sensory and multilingual learning that is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
      }
    ]
  },
"tasks": [
    {
      "kind": "AbstractiveSummarization",
      "taskName": "Query-based Abstractive Summarization",
      "parameters": {
          "query": "XYZ-code",
          "summaryLength": "short"
      }
    },    {
      "kind": "ExtractiveSummarization",
      "taskName": "Query_based Extractive Summarization",
      "parameters": {
          "query": "XYZ-code"
      }
    }
  ]
}
'

Contrôle de longueur de résumé

Utilisation du paramètre summaryLength dans le résumé abstrait

Si vous ne spécifiez pas summaryLength, le modèle détermine la longueur du résumé.

Pour le paramètre summaryLength, trois valeurs sont acceptées :

  • oneSentence : Génère le résumé d’une phrase, avec environ 80 tokens.
  • short : génère un résumé de 2 à 3 phrases, avec environ 120 jetons.
  • medium : génère un résumé de 4 à 6 phrases, avec environ 170 jetons.
  • long : génère un résumé de plus de 7 phrases, avec environ 210 jetons.

Voici un exemple de requête :

curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-text/jobs?api-version=2023-04-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Text Abstractive Summarization Task Example",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "en",
        "text": "At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI services, I have been working with a team of amazing scientists and engineers to turn this quest into a reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the intersection of all three, there’s magic—what we call XYZ-code as illustrated in Figure 1—a joint representation to create more powerful AI that can speak, hear, see, and understand humans better. We believe XYZ-code enables us to fulfill our long-term vision: cross-domain transfer learning, spanning modalities and languages. The goal is to have pretrained models that can jointly learn representations to support a broad range of downstream AI tasks, much in the way humans do today. Over the past five years, we have achieved human performance on benchmarks in conversational speech recognition, machine translation, conversational question answering, machine reading comprehension, and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious aspiration to produce a leap in AI capabilities, achieving multi-sensory and multilingual learning that is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
      }
    ]
  },
  "tasks": [
    {
      "kind": "AbstractiveSummarization",
      "taskName": "Length controlled Abstractive Summarization",
          "parameters": {
          "sentenceLength": "short"
      }
    }
  ]
}
'

Utilisation du paramètre sentenceCount dans le résumé extractif

Pour le paramètre sentenceCount, vous pouvez entrer une valeur de 1 à 20 pour indiquer le nombre souhaité de phrases en sortie.

Voici un exemple de requête :

curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-text/jobs?api-version=2023-11-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Text Extractive Summarization Task Example",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "en",
        "text": "At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI services, I have been working with a team of amazing scientists and engineers to turn this quest into a reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the intersection of all three, there’s magic—what we call XYZ-code as illustrated in Figure 1—a joint representation to create more powerful AI that can speak, hear, see, and understand humans better. We believe XYZ-code enables us to fulfill our long-term vision: cross-domain transfer learning, spanning modalities and languages. The goal is to have pretrained models that can jointly learn representations to support a broad range of downstream AI tasks, much in the way humans do today. Over the past five years, we have achieved human performance on benchmarks in conversational speech recognition, machine translation, conversational question answering, machine reading comprehension, and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious aspiration to produce a leap in AI capabilities, achieving multi-sensory and multilingual learning that is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
      }
    ]
  },
"tasks": [
    {
      "kind": "ExtractiveSummarization",
      "taskName": "Length controlled Extractive Summarization",
      "parameters": {
          "sentenceCount": "5"
      }
    }
  ]
}
'

Limites du service et des données

Pour connaître la taille et le nombre de demandes que vous pouvez envoyer par minute et seconde, consultez l’article Limites de service.

Voir aussi