Práticas recomendadas: geração de conjuntos de dados rotulados
Esse conteúdo se aplica a: v4.0 (GA) | Versões anteriores: v3.1 (GA) v3.0 (GA)
Modelos personalizados (template e neural) necessitam de um conjunto de dados rotulado de pelo menos cinco documentos para treinar um modelo. A qualidade do conjunto de dados rotulado afeta a precisão do modelo treinado. Este guia ajuda você a aprender mais sobre como gerar um modelo com alta precisão montando um conjunto de dados diversificado e fornece as melhores práticas para rotular seus documentos.
Conheça os componentes de um conjunto de dados rotulado
Um conjunto de dados rotulado consiste em vários arquivos:
Você fornece um conjunto de documentos de exemplo (normalmente PDFs ou imagens). Um mínimo de cinco documentos é necessário para treinar um modelo.
Além disso, o processo de rotulagem gera os seguintes arquivos:
Um arquivo
fields.json
é criado quando é adicionado o primeiro campo. Há um arquivofields.json
para todo o conjunto de dados de treinamento, a lista de campos contém o nome do campo e os subcampos e tipos associados.O estúdio executa cada um dos documentos por meio da API de Layout. A resposta de layout para cada um dos arquivos de exemplo no conjunto de dados é adicionada como
{file}.ocr.json
. A resposta de layout é usada para gerar os rótulos de campo quando um intervalo específico de texto é rotulado.Um arquivo
{file}.labels.json
é criado ou atualizado quando um campo é rotulado em um documento. O arquivo de rótulo contém os intervalos de texto e polígonos associados da saída de layout para cada intervalo de texto que o usuário adiciona como um valor para um campo específico.
Vídeo: dicas e ponteiros de rótulo personalizados
O vídeo a seguir é a primeira de duas apresentações destinadas a ajudá-lo a criar modelos personalizados com maior precisão (a segunda apresentação examina as melhores práticas para rotular documentos).
Exploramos como criar um conjunto de dados equilibrado e selecionar os documentos certos a serem rotulados. Esse processo colocará você no caminho para modelos de maior qualidade.
Criar um conjunto de dados equilibrado
Antes de começar a rotular, é aconselhável examinar alguns exemplos diferentes do documento para identificar quais exemplos você deseja usar em seu conjunto de dados rotulado. Um conjunto de dados equilibrado representa todas as variações típicas que você espera ver para o documento. A criação de um conjunto de dados equilibrado resulta em um modelo com a maior precisão possível. Confira exemplos do que deve ser considerado:
Formatos de documento: se você espera analisar documentos digitais e digitalizados, adicione alguns exemplos de cada tipo ao conjunto de dados de treinamento.
Variações (template de modelo): considere dividir o conjunto de dados em pastas e treinar um modelo para cada variação. Quaisquer variações que incluam a estrutura ou o layout deverão ser divididas em modelos diferentes. Em seguida, você pode compor os modelos individuais em um único modelo composto.
Variações (modelos neurais): quando o conjunto de dados tiver um conjunto gerenciável de variações, cerca de 15 ou menos, crie um único conjunto de dados com alguns exemplos de cada uma das diferentes variações para treinar um único modelo. Se o número de variações de modelo for maior que 15, você treinará vários modelos e os integrará juntos.
Tabelas: para documentos que contêm tabelas com um número variável de linhas, verifique se o conjunto de dados de treinamento também representa documentos com diferentes números de linhas.
Tabelas de várias páginas: se as tabelas abrangem várias páginas, rotule uma única tabela. Adicione documentos ao conjunto de dados de treinamento com as variações esperadas representadas— documentos com a tabela somente em uma única página e documentos com a tabela abrangendo duas ou mais páginas com todas as linhas rotuladas.
Campos opcionais: se o conjunto de dados contiver documentos com campos opcionais, valide se o conjunto de dados de treinamento tem alguns documentos com as opções representadas.
Iniciar identificando os campos
Reserve um tempo para identificar cada um dos campos que você planeja rotular no conjunto de dados. Preste atenção aos campos opcionais. Defina os campos com os rótulos que melhor correspondem aos tipos com suporte.
Use as seguintes diretrizes para definir os campos:
Para modelos neurais personalizados, use nomes semanticamente relevantes nos campos. Por exemplo, se o valor que está sendo extraído for
Effective Date
, nomeie-o comoeffective_date
ouEffectiveDate
não um nome genérico como date1.O ideal é nomear seus campos com a convenção Pascal ou camel.
Se um valor for parte de uma estrutura de repetição visual e você precisar apenas de um único valor, rotule-o como uma tabela e extraia o valor necessário durante o pós-processamento.
Para campos tabulares que abrangem várias páginas, defina e rotule os campos como uma tabela única.
Observação
Os modelos neurais personalizados compartilham o mesmo formato e estratégia de rotulagem que os modelos de template personalizados. Atualmente, os modelos neurais personalizados dão suporte somente a um subconjunto dos tipos de campo com suporte pelos modelos de template personalizados.
Funcionalidades de modelo
Atualmente, os modelos neurais personalizados dão suporte somente para pares chave-valor, campos estruturados (tabelas) e marcas de seleção.
Tipo de modelo | Campos de formulário | Marcas de seleção | Campos tabulares | Assinatura | Region | Campos sobrepostos |
---|---|---|---|---|---|---|
Neural personalizado | ✔️Com suporte | ✔️Com suporte | ✔️Com suporte | Sem suporte | ✔️Com suporte1 | ✔️Com suporte2 |
Template personalizado | ✔️Com suporte | ✔️Com suporte | ✔️Com suporte | ✔️Com suporte | ✔️Com suporte | Sem suporte |
1 A implementação de rotulagem de região difere entre modelos neurais e de template. Nos modelos de template, o processo de treinamento injeta dados sintéticos no momento do treinamento se nenhum texto for encontrado na região rotulada. Com modelos neurais, nenhum texto sintético é injetado e o texto reconhecido é usado como está.
2 Campos sobrepostos são suportados a partir da versão da APIv4.0 2024-11-30 (GA)
. Campos sobrepostos têm alguns limites. Para obter mais informações, confira campos sobrepostos.
Campos tabulares
Campos tabulares (tabelas) são suportados com modelos neurais personalizados com versão de API v4.0 2024-11-30 (GA)
. Os modelos treinados com a versão de API 2022-06-30-preview ou posterior aceitarão rótulos de campo tabulares e documentos analisados com o modelo e com a versão de API 2022-06-30-preview ou posterior produzirão campos tabulares na saída dentro da seção documents
do resultado no objeto analyzeResult
.
Os campos tabulares dão suporte a tabelas entre páginas por padrão. Para rotular uma tabela que abrange várias páginas, rotule cada linha da tabela entre as diferentes páginas na tabela única. Como prática recomendada, verifique se o conjunto de dados contém exemplos das variações esperadas. Por exemplo, inclua os exemplos em que uma tabela inteira está em uma única página e os em que uma tabela abrange duas ou mais páginas.
Campos tabulares também são úteis ao extrair informações recorrentes de um documento que não é reconhecido como uma tabela. Por exemplo, uma seção recorrente de experiências de trabalho em um currículo pode ser rotulada e extraída como um campo tabular.
Observação
O campo Tabela, quando rotulado, é extraído como parte da seção documents
da resposta. A resposta também contém uma seção tables
que contém as tabelas extraídas do documento pelo modelo de layout. Se você rotulou um campo como uma tabela, procure o campo na seção de documentos da resposta.
Diretrizes de rotulagem
Os valores de rotulagem são necessários. Não inclui o texto ao redor. Por exemplo, ao rotular uma caixa de seleção, nomeie o campo para indicar a seleção da caixa de seleção, por exemplo
selectionYes
eselectionNo
em vez de rotular o texto Sim ou Não no documento.Não forneça valores de campo de intercalação. O valor de palavras e/ou regiões de um campo deve ser uma sequência consecutiva em ordem de leitura natural.
Rotulagem consistente. Se um valor aparecer em vários contextos no documento, escolha de forma consistente o mesmo contexto nos documentos para rotular o valor.
Repetição visual de dados. As tabelas dão suporte a grupos de informações repetidas visualmente, além de tabelas explícitas. As tabelas explícitas são identificadas na seção Tabelas dos documentos analisados como parte da saída do layout e não precisam ser rotuladas como tabelas. Rotule apenas um campo de tabela se as informações estiverem se repetindo visualmente e não forem identificadas como uma tabela parte da resposta de layout. Um exemplo seria a seção de experiência de trabalho de um currículo que se repete.
Rotulagem de região (modelo personalizado). Rotular regiões específicas permite que você defina um valor quando nenhum existir. Se o valor for opcional, certifique-se de deixar alguns documentos de exemplo com a região não rotulada. Ao rotular regiões, não inclua o texto ao redor no rótulo.
Campos sobrepostos (neural personalizado). Rotule o campo sobreposto usando a rotulagem de região. Verifique se você tem pelo menos um exemplo que descreve como os campos podem se sobrepor em seu conjunto de dados de treinamento.
Próximas etapas
Treine um modelo personalizado:
Exibir as APIs REST: