Práticas recomendadas: geração de conjuntos de dados rotulados
Este conteúdo aplica-se a: v4.0 (pré-visualização) | Versões anteriores: v3.1 (GA) v3.0 (GA)
Importante
As práticas recomendadas para gerar conjuntos de dados rotulados só se aplicam a modelos personalizados e modelos neurais personalizados, para generativos personalizados, consulte Generativo personalizado
Os modelos personalizados (modelo e neural) exigem 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 práticas recomendadas para rotular seus documentos.
Compreender 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). É necessário um mínimo de cinco documentos para treinar um modelo.
Além disso, o processo de rotulagem gera os seguintes arquivos:
Um
fields.json
arquivo é criado quando o primeiro campo é adicionado. Há umfields.json
arquivo 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 Studio executa cada um dos documentos através 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 uma extensão específica de texto é rotulada.Um
{file}.labels.json
arquivo é criado ou atualizado quando um campo é rotulado em um documento. O arquivo de rótulo contém as extensões de texto e polígonos associados da saída de layout para cada extensão de texto que o usuário adiciona como um valor para um campo específico.
Vídeo: Dicas e ponteiros de rótulos 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 práticas recomendadas para rotular documentos).
Exploramos como criar um conjunto de dados equilibrado e selecionar os documentos certos para rotular. Este processo coloca-o no caminho para modelos de maior qualidade.
Criar um conjunto de dados equilibrado
Antes de começar a rotular, é uma boa ideia examinar alguns exemplos diferentes do documento para identificar quais exemplos você deseja usar em seu conjunto de dados rotulado. Um conjunto de dados balanceado representa todas as variações típicas que você esperaria ver para o documento. A criação de um conjunto de dados equilibrado resulta em um modelo com a maior precisão possível. Alguns exemplos a considerar são:
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 (modelo de modelo): considere dividir o conjunto de dados em pastas e treine um modelo para cada variação. Quaisquer variações que incluam estrutura ou layout devem ser divididas em modelos diferentes. Em seguida, você pode compor os modelos individuais em um único modelo composto.
Variações (modelos neurais): Quando seu conjunto de dados tiver um conjunto gerenciável de variações, cerca de 15 ou menos, crie um único conjunto de dados com algumas amostras 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ê treina vários modelos e os compõe juntos.
Tabelas: Para documentos que contenham tabelas com um número variável de linhas, certifique-se de que o conjunto de dados de treinamento também represente documentos com números diferentes de linhas.
Tabelas de várias páginas: quando 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 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.
Comece por identificar 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 suportados.
Use as seguintes diretrizes para definir os campos:
Para modelos neurais personalizados, use nomes semanticamente relevantes para campos. Por exemplo, se o valor que está sendo extraído for
Effective Date
, nomeie-oeffective_date
ouEffectiveDate
não um nome genérico como date1.O ideal é nomear seus campos com Pascal ou camel case.
Se um valor fizer 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 única tabela.
Nota
Os modelos neurais personalizados compartilham o mesmo formato e estratégia de rotulagem que os modelos de modelo personalizados. Atualmente, os modelos neurais personalizados suportam apenas um subconjunto dos tipos de campo suportados por modelos de modelo personalizados.
Capacidades do modelo
Atualmente, os modelos neurais personalizados suportam apenas 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 | País/Região | Campos sobrepostos |
---|---|---|---|---|---|---|
Neural personalizado | ✔️Suportado | ✔️Suportado | ✔️Suportado | Não suportado | ✔️Suportado1 | ✔️Suportado2 |
Modelo personalizado | ✔️Suportado | ✔️Suportado | ✔️Suportado | ✔️Suportado | ✔️Suportado | Não suportado |
1 A implementação de rotulagem de região difere entre modelos de modelo e neurais. Para modelos de modelo, 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 Há suporte para campos sobrepostos a partir da versão 2024-02-29-preview
da API e posteriores. Os campos sobrepostos têm alguns limites. Para obter mais informações, consulte campos sobrepostos.
Campos tabulares
Campos tabulares (tabelas) são suportados com modelos neurais personalizados começando com a versão 2022-06-30-preview
da API. Os modelos treinados com a API versão 2022-06-30-preview ou posterior aceitarão rótulos de campo tabular e os documentos analisados com o modelo com a API versão 2022-06-30-preview ou posterior produzirão campos tabulares na saída dentro da documents
seção do resultado no analyzeResult
objeto.
Os campos tabulares suportam tabelas de páginas cruzadas por padrão. Para rotular uma tabela que abrange várias páginas, rotule cada linha da tabela nas diferentes páginas da tabela única. Como prática recomendada, certifique-se de que seu conjunto de dados contenha algumas amostras das variações esperadas. Por exemplo, inclua exemplos em que uma tabela inteira está em uma única página e exemplos de uma tabela com duas ou mais páginas.
Os campos tabulares também são úteis ao extrair informações repetidas dentro de um documento que não é reconhecido como uma tabela. Por exemplo, uma seção repetitiva de experiências de trabalho em um currículo pode ser rotulada e extraída como um campo tabular.
Nota
Os campos da tabela, quando rotulados, são extraídos como parte da documents
seção da resposta. A resposta também contém uma tables
seção 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
É necessário rotular valores. Não inclua 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 das 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 dentro do documento, escolha consistentemente o mesmo contexto em todos os documentos para rotular o valor.
Repetição visual de dados. As tabelas suportam grupos de informações que se repetem visualmente e não apenas tabelas explícitas. As tabelas explícitas são identificadas na seção de tabelas dos documentos analisados como parte da saída do layout e não precisam ser rotuladas como tabelas. Rotule um campo de tabela somente se as informações forem repetidas visualmente e não forem identificadas como uma tabela como parte da resposta de layout. Um exemplo seria a seção de experiência de trabalho repetida de um currículo.
Rotulagem de região (modelo personalizado). Rotular regiões específicas permite definir um valor quando não existe. 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 com o rótulo.
Campos sobrepostos (neurais personalizados). Rotule as sobreposições de campo usando o rótulo de região. Certifique-se de ter pelo menos um exemplo que descreva como os campos podem se sobrepor em seu conjunto de dados de treinamento.
Próximos passos
Treine um modelo personalizado:
Veja as APIs REST: