Condividi tramite


Come usare il riepilogo del testo

Il riepilogo del testo è progettato per abbreviare il contenuto che gli utenti considerano troppo lungo per la lettura. Riepiloghi estrattivi e astrattivi condensano articoli o documenti in frasi chiave.

Riepilogo estrattivo: genera un riepilogo estraendo frasi che rappresentano collettivamente le informazioni più importanti o rilevanti all'interno del contenuto originale.

Riepilogo astrattivo: genera un riepilogo creando frasi riepilogate dal documento che racchiudono l'idea principale.

Riepilogo incentrato sulle query: consente di usare una query durante il riepilogo.

Ognuna di queste funzionalità è in grado di riepilogare gli elementi specifici di interesse quando specificato.

I modelli di intelligenza artificiale usati dall'API vengono forniti dal servizio, quindi è sufficiente inviare contenuto per l'analisi.

Per semplificare la navigazione, ecco i collegamenti alle sezioni corrispondenti per ogni servizio:

Aspetto Sezione
Estrattivo Riepilogo estrattivo
Astrattivo Riepilogo astrattivo
Incentrato sulle query Riepilogo incentrato sulle query

Funzionalità

Suggerimento

Per iniziare a usare queste funzionalità, è possibile seguire l'Articolo alla guida di avvio rapido introduttiva. È anche possibile effettuare richieste di esempio usando Language Studio senza dover scrivere codice.

L'API di riepilogo estrattivo usa tecniche di elaborazione del linguaggio naturale per individuare frasi chiave in un documento di testo non strutturato. Queste frasi incarnano collettivamente l'idea principale del documento.

Il riepilogo estrattivo restituisce un punteggio di classificazione come parte della risposta di sistema insieme alle frasi estratte e alla relativa posizione nei documenti originali. Un punteggio di classificazione è un indicatore che attesta in che misura una frase racchiude l'idea principale di un documento. Il modello assegna un punteggio compreso tra 0 e 1 (inclusi) a ogni frase e restituisce le frasi con punteggio più alto per ogni richiesta. Ad esempio, se si richiede un riepilogo a tre frasi, il servizio restituisce le tre frasi con punteggio più alto.

È disponibile un'altra funzionalità in Lingua di Azure AI, l'estrazione di frasi chiave, in grado di estrarre informazioni chiave. Nella scelta tra estrazione di frasi chiave e riepilogo estrattivo, tenere presente quanto segue:

  • L'estrazione di frasi chiave restituisce frasi, mentre il riepilogo estrattivo restituisce enunciati.
  • Il riepilogo estrattivo restituisce enunciati insieme a un punteggio di classificazione e gli enunciati classificati più in alto verranno restituiti per ogni richiesta.
  • Il riepilogo estrattivo restituisce anche le informazioni sulla posizione seguenti:
    • Scostamento: posizione iniziale di ogni enunciato estratto.
    • Lunghezza: lunghezza di ogni enunciato estratto.

Determinare come elaborare i dati (facoltativo)

Invio di dati

I documenti vengono inviati all'API come stringhe di testo. Al momento della ricezione della richiesta viene eseguita l'analisi. Poiché l'API è asincrona, potrebbe verificarsi un ritardo tra l'invio di una richiesta API e la ricezione dei risultati.

Quando si usa questa funzionalità, i risultati dell'API sono disponibili per 24 ore dal momento in cui la richiesta è stata inserita e viene indicata nella risposta. Dopo questo periodo di tempo, i risultati vengono rimossi e non sono più disponibili per il recupero.

Ottenere risultati di riepilogo del testo

Quando si ottengono risultati dal rilevamento della lingua, è possibile trasmettere i risultati a un'applicazione o salvare l'output in un file nel sistema locale.

Di seguito è riportato un esempio di contenuto che è possibile inviare per il riepilogo, estratto usando l'articolo del blog Microsoft A holistic representation toward integrative AI. Questo articolo è solo un esempio, l'API può accettare testo di input più lungo. Per altre informazioni, vedere la sezione limiti dei dati.

"Microsoft ha cercato di sviluppare l'IA oltre le tecniche esistenti, adottando un approccio all'apprendimento e alla comprensione più olistico e incentrato sull'uomo. In qualità di Chief Technology Officer di Servizi di Azure AI per intelligenza artificiale, ho lavorato con un team di scienziati e ingegneri straordinari per trasformare questa ricerca in una realtà. Nel mio ruolo, godo di una prospettiva unica nella visualizzazione della relazione tra tre attributi della conoscenza umana: testo monolingua (X), segnali sensoriali audiovisivi (Y) e multilingue (Z). All'intersezione di tutti e tre, avviene la magia, ovvero quello che chiamiamo codice XYZ come illustrato nella figura 1: una rappresentazione congiunta per creare un'intelligenza artificiale più potente in grado di parlare, ascoltare, vedere e comprendere meglio gli esseri umani. Crediamo che il codice XYZ ci consentirà di soddisfare la nostra visione a lungo termine: apprendimento induttivo tra domini, modalità di spanning e linguaggi. L'obiettivo è quello di avere modelli con training preliminare in grado di apprendere congiuntamente le rappresentazioni per supportare un'ampia gamma di attività di IA a valle, analogamente a come gli esseri umani fanno oggi. Negli ultimi cinque anni, abbiamo ottenuto prestazioni umane sui benchmark nel riconoscimento vocale conversazionale, nella traduzione automatica, nella risposta alle domande conversazionali, nella comprensione della lettura automatica e nella didascalia delle immagini. Queste cinque innovazioni ci hanno fornito segnali incoraggianti verso le nostre aspirazioni più ambiziose: raggiungere un salto nelle capacità di IA, ottenendo un apprendimento multisensoriale e multilingue più vicino al modo in cui gli esseri umani imparano e comprendono. Credo che il codice XYZ congiunto sia una componente fondamentale di questa aspirazione, se basato su fonti di conoscenza esterne nelle attività di IA a valle."

La richiesta API di riepilogo del testo viene elaborata al ricevimento della richiesta creando un processo per il back-end dell'API. Se il processo ha avuto esito positivo, viene restituito l'output dell'API. L'output è disponibile per il recupero per 24 ore. Oltre questo periodo, l'output viene eliminato. A causa del supporto multilingue ed emoji, la risposta può contenere offset di testo. Per altre informazioni, vedere come elaborare gli offset.

Quando si usa l'esempio precedente, l'API potrebbe restituire le frasi riepilogate seguenti:

Riepilogo estrattivo:

  • "Microsoft ha cercato di sviluppare l'IA oltre le tecniche esistenti, adottando un approccio all'apprendimento e alla comprensione più olistico e incentrato sull'uomo."
  • "Crediamo che il codice XYZ ci consentirà di soddisfare la nostra visione a lungo termine: apprendimento induttivo tra domini, modalità di spanning e linguaggi".
  • "L'obiettivo è quello di avere modelli con training preliminare in grado di apprendere congiuntamente le rappresentazioni per supportare un'ampia gamma di attività di IA a valle, analogamente a come gli esseri umani fanno oggi".

Riepilogo astrattivo:

  • "Microsoft sta adottando un approccio alla comprensione e all'apprendimento più olistico e incentrato sull'uomo. Crediamo che il codice XYZ ci consentirà di soddisfare la nostra visione a lungo termine: apprendimento induttivo tra domini, modalità di spanning e linguaggi. Negli ultimi cinque anni abbiamo raggiunto le prestazioni umane sui benchmark."

Provare il riepilogo estrattivo del testo

È possibile usare il riepilogo estrattivo del testo per ottenere riepiloghi di articoli o documenti. Per un esempio, vedere l'articolo della guida di avvio rapido.

È possibile usare il parametro sentenceCount per specificare il numero di frasi restituite, con 3 come impostazione predefinita. L'intervallo è compreso tra 1 e 20.

È anche possibile usare il parametro sortby per specificare in quale ordine verranno restituite le frasi estratte, ovvero Offset o Rank, con Offset come impostazione predefinita.

Valore del parametro Descrizione
Classifica Ordinare le frasi in base alla pertinenza del documento di input, come deciso dal servizio.
Contropartita Mantiene l'ordine originale in cui le frasi vengono visualizzate nel documento di input.

Provare il riepilogo astrattivo del testo

L'esempio seguente consente di iniziare con il riepilogo astrattivo del testo:

  1. Copiare il comando seguente in un editor di testo. L'esempio BASH usa il carattere di continuazione della riga \. Se la console o il terminale usa un carattere di continuazione della riga diverso, usare invece questo carattere.
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. Apportare le modifiche seguenti al comando, dove necessario:

    • Sostituire il valore your-language-resource-key con la propria chiave.
    • Sostituire la prima parte dell'URL della richiesta your-language-resource-endpoint con l'URL dell'endpoint.
  2. Aprire una finestra del prompt dei comandi (ad esempio BASH).

  3. Incollare il comando dall'editor di testo nella finestra del prompt dei comandi, quindi eseguire il comando.

  4. Ottenere operation-location dall'intestazione della risposta. Il valore sembra simile all'URL seguente:

https://<your-language-resource-endpoint>/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-10-01-preview
  1. Per ottenere i risultati della richiesta, usare il comando cURL seguente. Assicurarsi di sostituire <my-job-id> con il valore ID numerico ricevuto dall'intestazione della risposta operation-location precedente:
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>"

Risposta JSON di esempio di riepilogo del testo astrattivo

{
    "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"
                }
            }
        ]
    }
}
parameter Descrizione
-X POST <endpoint> Specifica l'endpoint per l'accesso all'API.
-H Content-Type: application/json Il tipo di contenuto per l'invio di dati JSON.
-H "Ocp-Apim-Subscription-Key:<key> Specifica la chiave per l'accesso all'API.
-d <documents> Il codice JSON contenente i documenti da inviare.

I comandi cURL seguenti vengono eseguiti da una shell BASH. Modificare questi comandi con il nome e la chiave della risorsa e con i valori del file JSON.

Riepilogo basato su query

L'API di riepilogo del testo basato su query è un'estensione per l'API di riepilogo del testo esistente.

La differenza principale è un nuovo campo query nel corpo della richiesta (in tasks>parameters>query).

Suggerimento

Il riepilogo basato su query presenta alcune differenze nell’utilizzo del controllo della lunghezza in base al tipo di riepilogo basato su query in uso:

  • Il riepilogo estrattivo basato su query supporta il controllo della lunghezza specificando sentenceCount.
  • Il riepilogo astrattivo basato su query non supporta il controllo della lunghezza.

Di seguito è riportata una richiesta di esempio:

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"
      }
    }
  ]
}
'

Controllo della lunghezza del riepilogo

Uso del parametro summaryLength nel riepilogo astrattivo

Se non si specifica summaryLength, il modello determina la lunghezza di riepilogo.

Per il parametro summaryLength vengono accettati tre valori:

  • oneSentence: genera un riepilogo prevalentementemente di 1 frase, con circa 80 token.
  • short: genera un riepilogo di 2-3 frasi, con circa 120 token.
  • medium: genera un riepilogo di 4-6 frasi, con circa 170 token.
  • long: genera un riepilogo di norma superiore a 7 frasi, con circa 210 token.

Di seguito è riportata una richiesta di esempio:

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"
      }
    }
  ]
}
'

Uso del parametro sentenceCount nel riepilogo estrattivo

Per il parametro sentenceCount, è possibile immettere un valore da 1 a 20 per indicare il numero desiderato di frasi di output.

Di seguito è riportata una richiesta di esempio:

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"
      }
    }
  ]
}
'

Limiti relativi al servizio e ai dati

Vedere l'articolo sui limiti del servizio per informazioni sulle dimensioni e il numero di richieste che è possibile inviare al minuto e al secondo.

Vedi anche