Habilidade cognitiva de Extração de Documento

A habilidadeExtraçã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 ocorre antes da execução do skillset com arquivos que podem ser gerados por outras habilidades.

Observação

Essa habilidade não está associada aos serviços de IA do Azure e não possui requisitos de chave dos serviços de IA do Azure. Essa habilidade extrai texto e imagens. A extração de texto é gratuita. A extração de imagem é medida pela Pesquisa de IA do Azure. Em um serviço de pesquisa gratuita, o custo de 20 transações por indexador por dia é reduzido para que você possa concluir inícios rápidos, tutoriais e pequenas atividades sem custo. Para Básico, Standard e superiores, a extração de imagem é cobrada.

@odata.type

Microsoft.Skills.Util.DocumentExtractionSkill

Formatos de documento com suporte

O DocumentExtractionSkill pode extrair texto dos seguintes formatos de documento:

  • CSV (consulte Indexando BLOBs CSV)
  • EML
  • EPUB
  • GZ
  • HTML
  • JSON (consulte Como indexar blobs JSON)
  • KML (XML para representações geográficas)
  • Formatos do Microsoft Office: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG (emails do Outlook) e XML (WORD XML 2003 e 2006)
  • Abrir formatos de documento: ODT, ODS, ODP
  • PDF
  • Arquivos de texto sem formatação (consulte também Como indexar texto sem formatação)
  • RTF
  • XML
  • ZIP

Parâmetros de habilidades

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

Entradas Valores permitidos Descrição
parsingMode default
text
json
Definir como default para extração de documentos de arquivos que não sejam 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 as linguagens de marcação ou marcas, se houver. Se parsingMode não for definido explicitamente, ele será definido como default.

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

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

Defina como allMetadata para extrair somente as Propriedades de metadados para o tipo de conteúdo (por exemplo, metadados exclusivos para arquivos que sejam somente. png).
configuration Veja abaixo. Um dicionário de parâmetros opcionais que ajustam a forma como a extração de documento é executada. Consulte a tabela abaixo para obter descrições das propriedades de configuração com suporte.
Parâmetro de configuração Valores permitidos Descrição
imageAction none
generateNormalizedImages
generateNormalizedImagePerPage
Defina como none ignorar imagens inseridas ou arquivos de imagem no conjunto de dados ou se os dados de origem não incluíem arquivos de imagem. Esse é o padrão.

Para análise de imagem e OCR, defina como generateNormalizedImages para que a habilidade crie uma matriz de imagens normalizadas como parte da quebra de documento. Essa ação exige que parsingMode seja definido como default e dataToExtract seja definido como contentAndMetadata. Uma imagem normalizada refere-se ao processamento extra que resulta na saída de imagem uniforme, dimensionada e girada para promover a renderização consistente quando você inclui imagens nos resultados da pesquisa visual (por exemplo, fotografias do mesmo tamanho em um controle de grafo, como visto na demonstração 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 em vez de extrair imagens inseridas, cada página será renderizada como uma imagem e normalizada de acordo. Os tipos de arquivo não PDF serão tratados da mesma forma que seria se generateNormalizedImages tivesse sido definido.
normalizedImageMaxWidth Qualquer inteiro entre 50-10000 A largura máxima (em pixels) para as imagens normalizadas geradas. O padrão é 2000.
normalizedImageMaxHeight Qualquer inteiro entre 50-10000 A altura máxima (em pixels) para as imagens normalizadas geradas. O padrão é 2000.

Observação

O padrão de 2000 pixels para a largura e altura máximas das imagens normalizadas se baseia nos tamanhos máximos compatíveis com a habilidade de OCR e a habilidade de análise de imagem. Habilidades de OCR são compatíveis com a largura e altura máximas de 4.200 para idiomas não inglês e 10.000 para o inglês. Caso aumente os limites máximos, poderá haver uma falha no processamento de imagens maiores, de acordo com a definição do conjunto de habilidades e do idioma dos documentos.

Entradas de habilidades

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

A entrada "file_data" precisa ser um objeto definido da seguinte forma:

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

Alternativamente, ele 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"
}

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

  • Definindo o allowSkillsetToReadFileData parâmetro na definição do indexador como "true". Isso cria um caminho /document/file_data que é um objeto que representa os dados de arquivo originais baixados da sua fonte de dados do blob. Esse parâmetro se aplica somente aos arquivos no Armazenamento de blobs.

  • Definindo o parâmetro imageAction na definição do indexador com um valor diferente de none. Isso cria uma matriz de imagens que segue a convenção necessária para o recebimento de informações para essa habilidade se for aprovada individualmente (ou seja, /document/normalized_images/*).

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

Saídas de habilidades

Nome de saída Descrição
content O conteúdo textual do documento.
normalized_images Quando imageAction é definido como um valor diferente de none, o novo campo normalized_images conterá uma matriz de imagens. Confira extrair texto e informações de imagens para obter mais detalhes sobre o formato de saída.

Definição de exemplo

 {
    "@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": []
      }
    }
  ]
}

Confira também