Delen via


Tekstsamenvatting gebruiken

Tekstsamenvatting is ontworpen om inhoud te verkorten die gebruikers te lang achten om te lezen. Zowel extraherende als abstractieve samenvattingen condenseren artikelen, documenten of documenten tot belangrijke zinnen.

Extraheerlijke samenvatting: Produceert een samenvatting door zinnen te extraheren die gezamenlijk de belangrijkste of relevante informatie in de oorspronkelijke inhoud vertegenwoordigen.

Abstractieve samenvatting: Produceert een samenvatting door samengevatte zinnen te genereren uit het document dat het hoofdidee vastlegt.

Samenvatting op basis van query's: Hiermee kunt u een query gebruiken bij het samenvatten.

Elk van deze mogelijkheden kan een overzicht geven van specifieke interessante items wanneer deze zijn opgegeven.

De AI-modellen die door de API worden gebruikt, worden door de service verschaft. U hoeft alleen maar inhoud voor analyse te verzenden.

Voor eenvoudigere navigatie zijn hier koppelingen naar de bijbehorende secties voor elke service:

Aspect Sectie
Extractief Extractieve samenvatting
Abstractief Abstractieve samenvatting
Querygericht Samenvatting op query's gericht

Functies

Tip

Als u deze functies wilt gaan gebruiken, kunt u het quickstart-artikel volgen om aan de slag te gaan. U kunt ook voorbeeldaanvragen indienen met Language Studio zonder dat u code hoeft te schrijven.

De extractieve samenvattings-API maakt gebruik van technieken voor verwerking van natuurlijke taal om sleutelzinnen in een ongestructureerd tekstdocument te vinden. Deze zinnen brengen gezamenlijk het hoofdidee van het document over.

Extraherende samenvatting retourneert een rangscore als onderdeel van het systeemantwoord, samen met geëxtraheerde zinnen en hun positie in de oorspronkelijke documenten. Een rangscore is een indicator van hoe relevant een zin is, tot het belangrijkste idee van een document. Het model geeft een score tussen 0 en 1 (inclusief) aan elke zin en retourneert de hoogste gescoorde zinnen per aanvraag. Als u bijvoorbeeld een samenvatting van drie zinnen aanvraagt, retourneert de service de drie hoogste gescoorde zinnen.

Er is nog een functie in Azure AI Language, sleuteltermextractie, waarmee belangrijke informatie kan worden geëxtraheerd. Houd rekening met het volgende bij het kiezen tussen sleuteltermextractie en extraherende samenvatting:

  • Sleuteltermextractie retourneert woordgroepen terwijl extraherende samenvatting zinnen retourneert.
  • Extractieve samenvatting retourneert zinnen samen met een rangscore en de hoogste gerangschikte zinnen worden per aanvraag geretourneerd.
  • Extraheerlijke samenvatting retourneert ook de volgende positionele informatie:
    • Verschuiving: de beginpositie van elke geëxtraheerde zin.
    • Lengte: De lengte van elke geëxtraheerde zin.

Bepalen hoe de gegevens moeten worden verwerkt (optioneel)

Gegevens verzenden

U verzendt documenten naar de API als tekenreeksen met tekst. Analyse wordt uitgevoerd na ontvangst van de aanvraag. Omdat de API asynchroon is, kan er een vertraging optreden tussen het verzenden van een API-aanvraag en het ontvangen van de resultaten.

Wanneer u deze functie gebruikt, zijn de API-resultaten gedurende 24 uur beschikbaar vanaf het moment dat de aanvraag is opgenomen en wordt aangegeven in het antwoord. Na deze periode worden de resultaten opgeschoond en zijn ze niet meer beschikbaar voor het ophalen.

Samenvattingsresultaten voor tekst ophalen

Wanneer u resultaten van taaldetectie krijgt, kunt u de resultaten streamen naar een toepassing of de uitvoer opslaan in een bestand op het lokale systeem.

Hier volgt een voorbeeld van inhoud die u kunt indienen voor samenvatting, die wordt geëxtraheerd met behulp van het Microsoft-blogartikel Een holistische weergave voor integratieve AI. Dit artikel is slechts een voorbeeld, de API kan langere invoertekst accepteren. Zie de sectie gegevenslimieten voor meer informatie.

"Bij Microsoft hebben we een zoektocht gedaan om AI verder te zetten dan bestaande technieken, door een meer holistische, mensgerichte benadering van leren en begrijpen te gebruiken. Als Chief Technology Officer van Azure AI-services heb ik gewerkt met een team van geweldige wetenschappers en technici om deze zoektocht om te zetten in een realiteit. In mijn rol geniet ik van een uniek perspectief bij het bekijken van de relatie tussen drie kenmerken van menselijke cognitie: monoscalel text (X), audio- of visuele sensorische signalen, (Y) en meertalige (Z). Op het snijpunt van alle drie is er magie, wat we XYZ-code noemen, zoals geïllustreerd in afbeelding 1, een gezamenlijke representatie voor het creëren van krachtigere AI die mensen kan spreken, horen, zien en begrijpen. We geloven dat XYZ-code ons in staat stelt om onze langetermijnvisie te vervullen: cross-domain transfer learning, spanningsmodaliteiten en talen. Het doel is om vooraf getrainde modellen te hebben die gezamenlijk weergaven kunnen leren om een breed scala aan downstream AI-taken te ondersteunen, veel op de manier waarop mensen tegenwoordig doen. De afgelopen vijf jaar hebben we menselijke prestaties bereikt op het gebied van gespreksspraakherkenning, machinevertaling, gespreksvragen beantwoorden, begrip van machinelezen en bijschriften van afbeeldingen. Deze vijf doorbraaken gaven ons sterke signalen voor onze ambitieuzere ambitie om een sprong in AI-mogelijkheden te produceren, waardoor multisensorische en meertalige leermogelijkheden worden bereikt die dichter bij de wijze waarop mensen leren en begrijpen. Ik geloof dat de gezamenlijke XYZ-code een fundamenteel onderdeel van deze ambitie is, indien geaard met externe kennisbronnen in de downstream AI-taken."

De tekstsamenvattings-API-aanvraag wordt verwerkt na ontvangst van de aanvraag door een taak voor de API-back-end te maken. Als de taak is geslaagd, wordt de uitvoer van de API geretourneerd. De uitvoer is 24 uur beschikbaar voor ophalen. Na deze tijd wordt de uitvoer leeggemaakt. Vanwege meertalige ondersteuning voor emoji's kan het antwoord tekstverschuivingen bevatten. Zie Verschuivingen verwerken voor meer informatie.

Wanneer u het bovenstaande voorbeeld gebruikt, kan de API de volgende samengevatte zinnen retourneren:

Extraheersende samenvatting:

  • "Bij Microsoft hebben we een zoektocht gedaan om AI verder te zetten dan bestaande technieken, door een meer holistische, mensgerichte benadering van leren en begrijpen te nemen."
  • "We geloven dat XYZ-code ons in staat stelt om onze langetermijnvisie te vervullen: cross-domain transfer learning, spanningsmodaliteiten en talen."
  • "Het doel is om vooraf getrainde modellen te hebben die gezamenlijk weergaven kunnen leren om een breed scala aan downstream AI-taken te ondersteunen, veel op de manier waarop mensen vandaag de dag doen."

Abstractieve samenvatting:

  • "Microsoft maakt gebruik van een meer holistische, mensgerichte benadering van leren en begrijpen. We geloven dat XYZ-code ons in staat stelt om onze langetermijnvisie te vervullen: cross-domain transfer learning, spanningsmodaliteiten en talen. De afgelopen vijf jaar hebben we menselijke prestaties op benchmarks bereikt."

Samenvatting van tekstextractief proberen

U kunt tekstextractieve samenvattingen gebruiken om samenvattingen van artikelen, documenten of documenten op te halen. Zie het quickstart-artikel voor een voorbeeld.

U kunt de sentenceCount parameter gebruiken om te bepalen hoeveel zinnen worden geretourneerd, waarbij 3 dit de standaardwaarde is. Het bereik is van 1 tot 20.

U kunt ook de sortby parameter gebruiken om op te geven in welke volgorde de geëxtraheerde zinnen worden geretourneerd, Offset ofwel Rank, met Offset de standaardwaarde.

parameterwaarde Beschrijving
Positie Zinnen ordenen op basis van hun relevantie voor het invoerdocument, zoals bepaald door de service.
Verschuiving Hiermee behoudt u de oorspronkelijke volgorde waarin de zinnen worden weergegeven in het invoerdocument.

Samenvatting van tekst abstractief proberen

In het volgende voorbeeld gaat u aan de slag met samenvatting van tekst:

  1. Kopieer de onderstaande opdracht naar een teksteditor. In het BASH-voorbeeld wordt het vervolgteken voor de \ regel gebruikt. Als in de console of terminal een ander regelvervolgteken wordt gebruikt, gebruikt u dat teken.
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. Breng waar nodig de volgende wijzigingen in de opdracht aan:

    • Vervang de waarde van your-language-resource-key door uw sleutel.
    • Vervang het eerste deel van de aanvraag-URL your-language-resource-endpoint door uw eindpunt-URL.
  2. Open een opdrachtpromptvenster (bijvoorbeeld: BASH).

  3. Plak de opdracht uit de teksteditor in het opdrachtpromptvenster en voer de opdracht uit.

  4. Haal de operation-location antwoordheader op. De waarde ziet er ongeveer als volgt uit:

https://<your-language-resource-endpoint>/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-10-01-preview
  1. Gebruik de volgende cURL-opdracht om de resultaten van de aanvraag op te halen. Zorg ervoor dat u vervangt door <my-job-id> de numerieke id-waarde die u hebt ontvangen van de vorige operation-location antwoordheader:
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>"

Samenvattingsvoorbeeld van abstractieve tekst JSON-antwoord

{
    "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 Description
-X POST <endpoint> Hiermee geeft u het eindpunt voor toegang tot de API op.
-H Content-Type: application/json Het inhoudstype voor het verzenden van JSON-gegevens.
-H "Ocp-Apim-Subscription-Key:<key> Hiermee geeft u de sleutel voor toegang tot de API op.
-d <documents> De JSON met de documenten die u wilt verzenden.

De volgende cURL-opdrachten worden uitgevoerd vanuit een Bash-shell. Bewerk deze opdrachten met uw eigen resourcenaam, resourcesleutel en JSON-waarden.

Samenvatting op basis van query's

De op query's gebaseerde tekstsamenvattings-API is een extensie voor de bestaande samenvattings-API voor tekst.

Het grootste verschil is een nieuw query veld in de aanvraagbody (onder>tasksparameters>query).

Tip

Samenvatting op basis van query's heeft enige differentiatie in het gebruik van lengtebeheer op basis van het type samenvatting op basis van query's dat u gebruikt:

  • Op query's gebaseerde extraherende samenvatting ondersteunt lengtebeheer door zinCount op te geven.
  • Abstractieve samenvatting op basis van query's biedt geen ondersteuning voor lengtebeheer.

Hieronder ziet u een voorbeeldaanvraag:

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

Besturingselement voor de lengte van een samenvatting

De parameter summaryLength gebruiken in abstractieve samenvatting

Als u dit niet opgeeft summaryLength, bepaalt het model de samenvattingslengte.

Voor de summaryLength parameter worden drie waarden geaccepteerd:

  • oneSentence: genereert een samenvatting van voornamelijk 1 zin, met ongeveer 80 tokens.
  • kort: Genereert een samenvatting van voornamelijk 2-3 zinnen, met ongeveer 120 tokens.
  • medium: Genereert een samenvatting van voornamelijk 4-6 zinnen, met ongeveer 170 tokens.
  • lang: Genereert een samenvatting van voornamelijk meer dan 7 zinnen, met ongeveer 210 tokens.

Hieronder ziet u een voorbeeldaanvraag:

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

De parameter sentenceCount gebruiken in extractieve samenvatting

Voor de sentenceCount parameter kunt u een waarde 1-20 invoeren om het gewenste aantal uitvoerzinnen aan te geven.

Hieronder ziet u een voorbeeldaanvraag:

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

Service- en gegevenslimieten

Zie het artikel over servicelimieten voor informatie over de grootte en het aantal aanvragen dat u per minuut en seconde kunt verzenden.

Zie ook