Cómo usar resúmenes de documentos

El resumen de documentos está diseñada para abreviar el contenido que los usuarios consideran demasiado largo para leer. Tanto el resumen extractivo como el abstracto condensan artículos, documentos o documentos para frases clave.

Resumen mediante extracción: produce un resumen al extraer las frases que representan colectivamente la información más importante o relevante dentro del contenido original.

Resumen abstracto: genera un resumen generando oraciones resumidas a partir del documento que capturan la idea principal.

Resumen centrado en consultas: permite usar una consulta al resumir.

Cada una de estas funcionalidades pueden resumir elementos específicos de interés cuando se especifican.

El servicio proporciona los modelos de AI que usa la API, el usuario solo tiene que enviar contenido para su análisis.

Para facilitar la navegación, estos son vínculos a las secciones correspondientes para cada servicio:

Aspecto Sección
Extractivo Resumen extractivo
Abstracto Resumen abstracto
Centrado en consultas Resumen centrado en consultas

Características

Sugerencia

Si quiere empezar a utilizar estas características, puede seguir el artículo de inicio rápido para empezar. También puede realizar solicitudes de ejemplo mediante Language Studio sin necesidad de escribir código.

La API de resumen extractivo usa técnicas de procesamiento de lenguaje natural para buscar oraciones clave en un documento de texto no estructurado. Estas oraciones transmiten colectivamente la idea principal del documento.

El resumen extractivo devuelve una puntuación de clasificación como parte de la respuesta del sistema, junto con las oraciones extraídas y su posición en los documentos originales. Una puntuación de clasificación es un indicador de lo pertinente que se determina que es una oración para la idea principal de un documento. El modelo proporciona una puntuación de entre 0 y 1 (ambos inclusive) a cada oración y devuelve las oraciones con mayor puntuación por solicitud. Por ejemplo, si solicita un resumen de tres oraciones, el servicio devuelve las tres oraciones con mayor puntuación.

Lenguaje de Azure AI incluye otra característica, la extracción de frases clave, que permite extraer información clave. A la hora de decidir si usar la extracción de frases clave o el resumen extractivo, tenga presente lo siguiente:

  • La extracción de frases clave devuelve frases, mientras que el resumen mediante extracción devuelve oraciones.
  • El resumen mediante extracción devuelve oraciones junto con una puntuación de clasificación y las oraciones clasificadas superiores se devuelven por solicitud.
  • El resumen mediante extracción también devuelve la siguiente información de posición:
    • Desplazamiento: posición inicial de cada oración extraída.
    • Longitud: la longitud de cada frase extraída.

Determinación de cómo procesar los datos (opcional)

Envío de datos

Los documentos se envían a la API como cadenas de texto. El análisis se realiza tras la recepción de la solicitud. Como la API es asincrónica, es posible que haya un retraso entre el envío de una solicitud de API y la recepción de los resultados.

Cuando use esta característica, los resultados de la API estarán disponibles durante 24 horas desde el momento en que se ingiera la solicitud y se le indique en la respuesta. Después de este período de tiempo, los resultados se purgan y ya no están disponibles para la recuperación.

Obtención de resultados de resumen de documento

Cuando obtiene los resultados de la detección de idioma, puede transmitir los resultados a una aplicación o guardar la salida en un archivo en el sistema local.

A continuación se muestra un ejemplo de contenido que se podrá enviar para la obtención de un resumen, que se extrae del artículo de blog A holistic representation toward integrative AI, redactado en inglés. Este artículo es solo un ejemplo, la API puede aceptar texto de entrada más largo. Consulte la sección de límites de datos para obtener más información.

"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. Como director de tecnología de servicios de Azure AI, he estado trabajando con un equipo de científicos e ingenieros increíbles para convertir esta misión en una realidad. 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. Creemos que el código XYZ nos permitirá cumplir nuestra visión a largo plazo: conseguir un aprendizaje de transferencia entre dominios, así como modalidades e idiomas que se expanden. 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."

La solicitud de la API del resumen de documentos se procesa al recibir la solicitud mediante la creación de un trabajo para el backend de la API. Si el trabajo se completa correctamente, se devolverá la salida de la API. La salida está disponible para su recuperación durante 24 horas. Después de este tiempo, se purgará. Debido a la compatibilidad con varios idiomas y con Emojis, la respuesta podría contener desplazamientos de texto. Consulte cómo procesar desplazamientos para más información.

Al usar el ejemplo anterior, la API podría devolver las siguientes oraciones resumidas:

Resumen mediante extracción:

  • "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."
  • "Creemos que el código XYZ nos permitirá cumplir nuestra visión a largo plazo: conseguir un aprendizaje de transferencia entre dominios, así como modalidades e idiomas que se expanden".
  • "El objetivo es obtener modelos entrenados previamente que puedan aprender de forma combinada representaciones que admitan una amplia gama de tareas de IA descendentes, de forma similar a como lo hacen los usuarios hoy en día".

Resumen mediante extracción:

  • "Microsoft is taking a more holistic, human-centric approach to learning and understanding. Creemos que el código XYZ nos permitirá cumplir nuestra visión a largo plazo: conseguir un aprendizaje de transferencia entre dominios, así como modalidades e idiomas que se expanden. Over the past five years, we have achieved human performance on benchmarks in."

Pruebe el resumen mediante extracción de documentos

Puede usar el resumen mediante extracción de documentos para obtener resúmenes de artículos, trabajos o documentos. Para ver un ejemplo, consulte el artículo de inicio rápido.

Puede usar el parámetro sentenceCount para guiar cuántas oraciones se devuelven; el valor predeterminado es 3. El rango es de 1 a 20.

También puede usar el parámetro sortby para especificar en qué orden se devolverán las oraciones extraídas; puede ser Offset o Rank, y el valor predeterminado es Offset.

valor del parámetro Descripción
Rango Ordena las oraciones según su pertinencia para el documento de entrada, según lo decida el servicio.
Offset Mantiene el orden original en el que aparecen las oraciones en el documento de entrada.

Pruebe el resumen abstracto de documentos

El ejemplo siguiente le ayudará a empezar a trabajar con el resumen abstracto del documento:

  1. Copie el siguiente comando en un editor de texto. En el ejemplo de BASH se usa el carácter de continuación de línea \. Si la consola o el terminal utiliza un carácter de continuación de línea diferente, utilice ese carácter en su lugar.
curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-text/jobs?api-version=2022-10-01-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Document 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": "Document Abstractive Summarization Task 1",
      "parameters": {
        "summaryLength": short
      }
    }
  ]
}
'

Si no especifica sentenceCount, el modelo determinará la longitud del resumen. Tenga en cuenta que sentenceCount es el recuento de oraciones aproximado del resumen de salida, entre 1 y 20. No se recomienda usar sentenceCount para el resumen abstracto.

  1. Realice los siguientes cambios en el comando donde sea necesario:

    • Reemplace el valor your-language-resource-key por su clave.
    • Reemplace la primera parte de la dirección URL de la solicitud (your-language-resource-endpoint) por la dirección URL de su punto de conexión.
  2. Abra una ventana del símbolo del sistema (por ejemplo: BASH).

  3. Pegue el comando del editor de texto en la ventana del símbolo del sistema y ejecute el comando.

  4. Obtenga el valor de operation-location del encabezado de respuesta. El valor tiene un aspecto similar a la siguiente dirección URL:

https://<your-language-resource-endpoint>/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-10-01-preview
  1. Para obtener los resultados de la solicitud, use el siguiente comando cURL. Asegúrese de reemplazar <my-job-id> por el valor de identificador numérico que recibió del encabezado de respuesta operation-location anterior:
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>"

Respuesta JSON de resumen de documentos abstractos

{
    "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": "Document Abstractive Summarization Task Example",
    "tasks": {
        "completed": 1,
        "failed": 0,
        "inProgress": 0,
        "total": 1,
        "items": [
            {
                "kind": "AbstractiveSummarizationLROResults",
                "taskName": "Document 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"
                }
            }
        ]
    }
}
parámetro Descripción
-X POST <endpoint> Especifica el punto de conexión para acceder a la API.
-H Content-Type: application/json Tipo de contenido para enviar datos JSON.
-H "Ocp-Apim-Subscription-Key:<key> Especifica la clave para acceder a la API.
-d <documents> JSON que contiene los documentos que desea enviar.

Los siguientes comandos de cURL se ejecutan desde un shell de BASH. Edite estos comandos con sus propios valores de nombre de recurso, clave de recurso y JSON.

Resumen basado en consultas

La API de resumen de documentos basado en consultas es una extensión de la API de resumen de documentos existente.

La mayor diferencia es un nuevo campo query en el cuerpo de la solicitud (en tasks>parameters>query). Además, hay una manera nueva de especificar el valor summaryLength preferido en "cubos" de tipo corto, medio o largo, que se recomienda usar en lugar de sentenceCount, especialmente al utilizar el resumen abstracto. A continuación se muestra una solicitud de ejemplo:

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": "Document 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": "Document Extractive Summarization Task 1",
      "parameters": {
        "query": "XYZ-code",
        "summaryLength": short
      }
    }
  ]
}
'

Uso del parámetro de resumen

Para el parámetro summaryLength, se aceptan tres valores:

  • short: genera un resumen de la mayoría de 2 a 3 oraciones, con alrededor de 120 tokens.
  • medium: genera un resumen de principalmente 4-6 oraciones, con alrededor de 170 tokens.
  • long: genera un resumen de más de 7 oraciones, con alrededor de 210 tokens.

Límites de servicio y datos

Para obtener información sobre el tamaño y el número de solicitudes que puede enviar por minuto y segundo, consulte el artículo sobre límites del servicio.

Consulte también