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
- 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 denone
. 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 exatamentefile
e o parâmetrodata
deve ser a base 64 dos dados da matriz de bytes codificados do conteúdo do arquivo ou o parâmetrourl
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": []
}
}
]
}