Partilhar via


Habilidade cognitiva de extração de documentos

A habilidade Extração de Documentos extrai conteúdo de um arquivo dentro do pipeline de enriquecimento. Isso permite que você aproveite a etapa de extração de documentos que normalmente acontece antes da execução do conjunto de habilidades com arquivos que podem ser gerados por outras habilidades.

Nota

Essa habilidade não está vinculada aos serviços de IA do Azure e não tem nenhum requisito de chave de serviços de IA do Azure. Esta habilidade extrai texto e imagens. A extração de texto é gratuita. A extração de imagens é medida pelo Azure AI Search. Em um serviço de pesquisa gratuito, o custo de 20 transações por indexador por dia é absorvido para que você possa concluir inícios rápidos, tutoriais e pequenos projetos sem nenhum custo. Para Basic, Standard e superior, a extração de imagem é faturável.

@odata.type

Microsoft.Skills.Util.DocumentExtractionSkill

Formatos de documento suportados

O DocumentExtractionSkill pode extrair texto dos seguintes formatos de documento:

  • CSV (consulte Indexação de blobs CSV)
  • EML
  • EPUB
  • GZ
  • HTML
  • JSON (consulte Indexação de blobs JSON)
  • KML (XML para representações geográficas)
  • Formatos do Microsoft Office: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG (e-mails do Outlook), XML (XML WORD de 2003 e 2006)
  • Formatos de documentos abertos: ODT, ODS, ODP
  • PDF
  • Arquivos de texto sem formatação (consulte também Indexação de texto sem formatação)
  • RTF
  • XML
  • CEP

Parâmetros de habilidade

Os parâmetros diferenciam maiúsculas de minúsculas.

Entradas Valores Permitidos Description
parsingMode default
text
json
Defina como default para extração de documentos de arquivos que não são texto puro ou json. Para arquivos de origem que contêm marcação (como arquivos PDF, HTML, RTF e Microsoft Office), use o padrão para extrair apenas o texto, menos qualquer linguagem de marcação ou tags. Se parsingMode não for definido explicitamente, será definido como default.

Defina como text se os arquivos de origem forem TXT. Esse modo de análise melhora o desempenho em arquivos de texto sem formatação. Se os arquivos incluírem marcação, esse modo preservará as tags na saída final.

Defina como json para extrair conteúdo estruturado de arquivos json.
dataToExtract contentAndMetadata
allMetadata
Defina como contentAndMetadata para extrair todos os metadados e conteúdo textual de cada arquivo. Se dataToExtract não for definido explicitamente, será definido como contentAndMetadata.

Defina como allMetadata para extrair apenas as propriedades de metadados para o tipo de conteúdo (por exemplo, metadados exclusivos para apenas .png arquivos).
configuration Ver abaixo. Um dicionário de parâmetros opcionais que ajustam como a extração do documento é realizada. Consulte a tabela abaixo para obter descrições das propriedades de configuração suportadas.
Parâmetro de configuração Valores Permitidos Description
imageAction none
generateNormalizedImages
generateNormalizedImagePerPage
Defina para none ignorar imagens ou arquivos de imagem incorporados no conjunto de dados ou se os dados de origem não incluírem arquivos de imagem. Esta é a predefinição.

Para OCR e análise de imagem, defina para generateNormalizedImages ter a habilidade de criar uma matriz de imagens normalizadas como parte da quebra de documentos. Esta ação requer que parsingMode esteja definida como default e dataToExtract está definida como contentAndMetadata. Uma imagem normalizada refere-se ao processamento extra, resultando em saída de imagem uniforme, dimensionada e girada para promover uma renderização consistente quando você inclui imagens nos resultados de pesquisa visual (por exemplo, fotografias do mesmo tamanho em um controle gráfico, como visto na demonstração do JFK). Essas informações são geradas para cada imagem quando você usa essa opção.

Se você definir como generateNormalizedImagePerPage, os arquivos PDF serão tratados de forma diferente, pois em vez de extrair imagens incorporadas, cada página será renderizada como uma imagem e normalizada de acordo. Os tipos de arquivo não PDF são tratados da mesma forma como se generateNormalizedImages estivessem definidos.
normalizedImageMaxWidth Qualquer número inteiro entre 50-10000 A largura máxima (em pixels) para imagens normalizadas geradas. A predefinição é 2 000.
normalizedImageMaxHeight Qualquer número inteiro entre 50-10000 A altura máxima (em pixels) para imagens normalizadas geradas. A predefinição é 2 000.

Nota

O padrão de 2000 pixels para a largura e altura máximas das imagens normalizadas é baseado nos tamanhos máximos suportados pela habilidade OCR e pela habilidade de análise de imagem. A habilidade OCR suporta uma largura e altura máximas de 4200 para idiomas diferentes do inglês e 10000 para o inglês. Se você aumentar os limites máximos, o processamento pode falhar em imagens maiores, dependendo da definição do conjunto de habilidades e do idioma dos documentos.

Contributos para as competências

Nome de entrada Description
file_data O arquivo do qual o conteúdo deve ser extraído.

A entrada "file_data" deve ser um objeto definido como:

{
  "$type": "file",
  "data": "BASE64 encoded string of the file"
}

Em alternativa, pode ser definido como:

{
  "$type": "file",
  "url": "URL to download file",
  "sasToken": "OPTIONAL: SAS token for authentication if the URL provided is for a file in blob storage"
}

O objeto de referência de arquivo pode ser gerado de três maneiras:

  • Definir o parâmetro na definição do allowSkillsetToReadFileData indexador como "true". Isso cria um caminho /document/file_data que é um objeto que representa os dados do arquivo original baixados da fonte de dados do blob. Este parâmetro só se aplica a arquivos no armazenamento de Blob.

  • Definir o parâmetro na definição do imageAction indexador para um valor diferente de none. Isso cria uma matriz de imagens que segue a convenção necessária para entrada nessa habilidade se passada individualmente (ou seja, /document/normalized_images/*).

  • Ter uma habilidade personalizada retorna um objeto json definido EXATAMENTE como acima. O $type parâmetro deve ser definido exatamente file e o data parâmetro deve ser os dados da matriz de bytes codificados base 64 do conteúdo do arquivo, ou o url parâmetro deve ser uma URL formatada corretamente com acesso para baixar o arquivo nesse local.

Resultados em termos de competências

Nome da saída Description
content O conteúdo textual do documento.
normalized_images Quando o imageAction é definido como um valor diferente de none, o novo campo normalized_images contém uma matriz de imagens. Consulte Extrair texto e informações de imagens para obter mais detalhes sobre o formato de saída.

Definição da amostra

 {
    "@odata.type": "#Microsoft.Skills.Util.DocumentExtractionSkill",
    "parsingMode": "default",
    "dataToExtract": "contentAndMetadata",
    "configuration": {
        "imageAction": "generateNormalizedImages",
        "normalizedImageMaxWidth": 2000,
        "normalizedImageMaxHeight": 2000
    },
    "context": "/document",
    "inputs": [
      {
        "name": "file_data",
        "source": "/document/file_data"
      }
    ],
    "outputs": [
      {
        "name": "content",
        "targetName": "extracted_content"
      },
      {
        "name": "normalized_images",
        "targetName": "extracted_normalized_images"
      }
    ]
  }

Entrada de exemplo

{
  "values": [
    {
      "recordId": "1",
      "data":
      {
        "file_data": {
          "$type": "file",
          "data": "aGVsbG8="
        }
      }
    }
  ]
}

Saída de exemplo

{
  "values": [
    {
      "recordId": "1",
      "data": {
        "content": "hello",
        "normalized_images": []
      }
    }
  ]
}

Consulte também