Como usar o resumo de documentos

O resumo de documentos foi projetado para encurtar o conteúdo que os usuários consideram muito longo para ler. Tanto o resumo extrativo quanto o abstrato condensam artigos, artigos ou documentos em frases-chave.

Sumarização extrativa: Produz um resumo extraindo frases que representam coletivamente as informações mais importantes ou relevantes dentro do conteúdo original.

Sumarização abstrata: Produz um resumo gerando frases resumidas do documento que capturam a ideia principal.

Resumo focado em consulta: Permite que você use uma consulta ao resumir.

Cada um desses recursos é capaz de resumir em torno de itens específicos de interesse quando especificado.

Os modelos de IA utilizados pela API são fornecidos pelo serviço, basta enviar conteúdo para análise.

Para facilitar a navegação, aqui estão os links para as seções correspondentes para cada serviço:

Aspeto Section
Extrativa Sumarização extrativa
Abstrativo Sumarização abstrutiva
Focado em consulta Sumarização focada em consulta

Funcionalidades

Gorjeta

Se você quiser começar a usar esses recursos, siga o artigo de início rápido para começar. Você também pode fazer solicitações de exemplo usando o Language Studio sem precisar escrever código.

A API de resumo extrativo usa técnicas de processamento de linguagem natural para localizar frases-chave em um documento de texto não estruturado. Estas frases transmitem coletivamente a ideia principal do documento.

A sumarização extrativa retorna uma pontuação de classificação como parte da resposta do sistema, juntamente com as frases extraídas e sua posição nos documentos originais. Uma pontuação de classificação é um indicador de quão relevante uma frase é determinada para a ideia principal de um documento. O modelo atribui uma pontuação entre 0 e 1 (inclusive) a cada frase e devolve as frases com a pontuação mais elevada por pedido. Por exemplo, se você solicitar um resumo de três frases, o serviço retornará as três frases mais bem pontuadas.

Há outro recurso na Linguagem de IA do Azure, a extração de frases-chave, que pode extrair informações importantes. Ao decidir entre extração de frases-chave e sumarização extrativa, considere o seguinte:

  • A extração de frases-chave retorna frases, enquanto a sumarização extrativa retorna frases.
  • A sumarização extrativa retorna frases juntamente com uma pontuação de classificação, e as sentenças mais bem classificadas são retornadas por solicitação.
  • O resumo extrativo também retorna as seguintes informações posicionais:
    • Offset: A posição inicial de cada frase extraída.
    • Comprimento: O comprimento de cada frase extraída.

Determinar como processar os dados (opcional)

Envio de dados

Você envia documentos para a API como cadeias de texto. A análise é realizada aquando da receção do pedido. Como a API é assíncrona, pode haver um atraso entre o envio de uma solicitação de API e o recebimento dos resultados.

Quando você usa esse recurso, os resultados da API ficam disponíveis por 24 horas a partir do momento em que a solicitação foi ingerida e são indicados na resposta. Após esse período de tempo, os resultados são limpos e não estão mais disponíveis para recuperação.

Obter resultados de resumo de documentos

Quando você obtém resultados da deteção de idioma, pode transmitir os resultados para um aplicativo ou salvar a saída em um arquivo no sistema local.

A seguir está um exemplo de conteúdo que você pode enviar para resumo, que é extraído usando o artigo do blog da Microsoft A holistic representation towards integrative AI. Este artigo é apenas um exemplo, a API pode aceitar texto de entrada mais longo. Consulte a seção de limites de dados para obter mais informações.

"Na Microsoft, temos estado em uma busca para avançar a IA além das técnicas existentes, adotando uma abordagem mais holística e centrada no ser humano para aprender e compreender. Como Diretor de Tecnologia dos serviços de IA do Azure, tenho trabalhado com uma equipe de cientistas e engenheiros incríveis para transformar essa busca em realidade. Na minha função, desfruto de uma perspetiva única na visualização da relação entre três atributos da cognição humana: texto monolingue (X), sinais sensoriais áudio ou visuais (Y) e multilingue (Z). Na interseção de todos os três, há magia — o que chamamos de código XYZ, conforme ilustrado na Figura 1 — uma representação conjunta para criar uma IA mais poderosa que pode falar, ouvir, ver e entender melhor os seres humanos. Acreditamos que o código XYZ nos permite cumprir nossa visão de longo prazo: aprendizagem de transferência entre domínios, abrangendo modalidades e idiomas. O objetivo é ter modelos pré-treinados que possam aprender em conjunto representações para apoiar uma ampla gama de tarefas de IA a jusante, da mesma forma que os humanos fazem hoje. Nos últimos cinco anos, alcançamos o desempenho humano em benchmarks em reconhecimento de fala conversacional, tradução automática, resposta a perguntas conversacionais, compreensão de leitura automática e legendagem de imagem. Esses cinco avanços nos forneceram sinais fortes em direção à nossa aspiração mais ambiciosa de produzir um salto nas capacidades de IA, alcançando uma aprendizagem multissensorial e multilíngue que está mais próxima de como os humanos aprendem e entendem. Acredito que o código XYZ conjunto é um componente fundamental dessa aspiração, se fundamentado com fontes de conhecimento externas nas tarefas de IA a jusante."

A solicitação da API de resumo de documentos é processada após o recebimento da solicitação, criando um trabalho para o back-end da API. Se o trabalho for bem-sucedido, a saída da API será retornada. A saída está disponível para recuperação por 24 horas. Após esse tempo, a saída é limpa. Devido ao suporte multilíngue e a emojis, a resposta pode conter deslocamentos de texto. Consulte como processar compensações para obter mais informações.

Quando você usa o exemplo acima, a API pode retornar as seguintes frases resumidas:

Resumo extrativo:

  • "Na Microsoft, temos estado em uma busca para avançar a IA além das técnicas existentes, adotando uma abordagem mais holística e centrada no ser humano para aprender e compreender."
  • "Acreditamos que o código XYZ nos permite cumprir nossa visão de longo prazo: aprendizagem de transferência entre domínios, abrangendo modalidades e idiomas."
  • "O objetivo é ter modelos pré-treinados que possam aprender conjuntamente representações para apoiar uma ampla gama de tarefas de IA a jusante, da mesma forma que os humanos fazem hoje."

Resumo abstrato:

  • "A Microsoft está adotando uma abordagem mais holística e centrada no ser humano para aprender e compreender. Acreditamos que o código XYZ nos permite cumprir nossa visão de longo prazo: aprendizagem de transferência entre domínios, abrangendo modalidades e idiomas. Nos últimos cinco anos, atingimos o desempenho humano em benchmarks em."

Experimente o resumo extrativo de documentos

Você pode usar o resumo extrativo de documentos para obter resumos de artigos, artigos ou documentos. Para ver um exemplo, consulte o artigo de início rápido.

Você pode usar o sentenceCount parâmetro para orientar quantas frases são retornadas, sendo 3 o padrão. O intervalo é de 1 a 20.

Você também pode usar o sortby parâmetro para especificar em que ordem as sentenças extraídas são retornadas - ou OffsetRank, com Offset sendo o padrão.

valor do parâmetro Description
Posição Ordenar sentenças de acordo com a sua relevância para o documento de entrada, conforme decisão do serviço.
Desvio Mantém a ordem original em que as frases aparecem no documento de entrada.

Experimente o resumo abstrato do documento

O exemplo a seguir ajuda você a começar com o resumo abstrato do documento:

  1. Copie o comando abaixo para um editor de texto. O exemplo BASH usa o caractere de continuação de \ linha. Se o console ou terminal usar um caractere de continuação de linha diferente, use esse caractere.
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
      }
    }
  ]
}
'

Se você não especificar sentenceCount, o modelo determinará o comprimento do resumo. Note que sentenceCount é a aproximação da contagem de frases do resumo de saída, intervalo de 1 a 20. O uso de sentenceCount não é recomendado para sumarização abstrata.

  1. Faça as alterações seguintes ao comando, se for necessário:

    • Substitua o valor your-language-resource-key pela sua chave.
    • Substitua a primeira parte da URL your-language-resource-endpoint da solicitação pela URL do ponto de extremidade.
  2. Abra uma janela de prompt de comando (por exemplo: BASH).

  3. Cole o comando do editor de texto na janela do prompt de comando e execute o comando.

  4. Obtenha o operation-location cabeçalho da resposta. O valor é semelhante ao seguinte URL:

https://<your-language-resource-endpoint>/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-10-01-preview
  1. Para obter os resultados da solicitação, use o seguinte comando cURL. Certifique-se de substituir <my-job-id> pelo valor de ID numérico que você recebeu do cabeçalho de resposta anterior operation-location :
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>"

Exemplo de resumo de documento abstrato de resposta JSON

{
    "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 Description
-X POST <endpoint> Especifica seu ponto de extremidade para acessar a API.
-H Content-Type: application/json O tipo de conteúdo para enviar dados JSON.
-H "Ocp-Apim-Subscription-Key:<key> Especifica a chave para acessar a API.
-d <documents> O JSON que contém os documentos que você deseja enviar.

Os seguintes comandos cURL são executados a partir de um shell BASH. Edite esses comandos com seu próprio nome de recurso, chave de recurso e valores JSON.

Sumarização baseada em consulta

A API de resumo de documentos baseada em consulta é uma extensão da API de resumo de documentos existente.

A maior diferença é um novo query campo no corpo da solicitação (em tasks>parameters>query). Além disso, há uma nova maneira de especificar o preferido summaryLength em "buckets" de curto/médio/longo, que recomendamos usar em vez de sentenceCount, especialmente ao usar abstrata. Abaixo está um exemplo de solicitação:

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

Usando o summaryParameter

Para o summaryLength parâmetro, três valores são aceitos:

  • short: Gera um resumo de 2-3 frases, com cerca de 120 tokens.
  • medium: Gera um resumo de 4-6 frases, com cerca de 170 tokens.
  • long: Gera um resumo de mais de 7 frases, com cerca de 210 tokens.

Limites de serviço e dados

Para obter informações sobre o tamanho e o número de solicitações que você pode enviar por minuto e segundo, consulte o artigo Limites de serviço.

Consulte também