Compartilhar via


Como preparar dados e definir um esquema para a Análise de Texto personalizada para integridade

Ao criar um modelo de TA4H personalizado, você precisará de dados de qualidade para treiná-lo. Este artigo aborda como selecionar e preparar seus dados, além de definir um esquema. Definir o esquema é a primeira etapa no ciclo de vida do desenvolvimento do projeto. Isso envolve a definição dos tipos ou categorias de entidades que você precisa que o modelo extraia do texto em runtime.

Design de esquema

A Análise de Texto para integridade personalizada permite que você estenda e personalize a Análise de Texto para o mapa de entidades de integridade. A primeira etapa do processo é criar seu esquema, o que permite definir os novos tipos de entidade ou categorias que você precisa que o modelo extraia do texto, além da Análise de Texto para as entidades existentes de integridade durante o runtime.

  • Examine os documentos no conjunto de dados para familiarizar-se com o formato e a estrutura deles.

  • Identifique as entidades que você deseja extrair dos dados.

    Por exemplo, se você estiver extraindo entidades de emails de suporte, talvez seja necessário extrair "Nome do cliente", "Nome do produto", "Data da solicitação" e "Informações de contato".

  • Evite ambiguidade de tipos de entidade.

    A ambiguidade acontece quando os tipos de entidade selecionados são semelhantes entre si. Quanto mais ambíguo for o esquema, mais dados rotulados poderão ser necessários para diferenciar entre tipos de entidade diferentes.

    Por exemplo, se você estiver extraindo dados de um contrato legal, para extrair "Nome da primeira parte" e "Nome da segunda parte", você precisará adicionar mais exemplos para superar a ambiguidade, pois os nomes das partes são semelhantes. Ao evitar a ambiguidade, você economiza tempo, esforço e obtém resultados melhores.

  • Evite entidades complexas. As entidades complexas podem ser difíceis de apontar com precisão no texto. Considere desmembrá-las em várias entidades.

    Por exemplo, extrair "Endereço" seria desafiador se não fosse dividido em entidades menores. Há tantas variações de como os endereços são exibidos, que seria preciso um grande número de entidades rotuladas para ensinar o modelo a extrair um endereço como um todo, sem desmembrá-lo. No entanto, se você substituir "Endereço" por "Nome da rua", "Caixa postal", "Cidade", "Estado" e "CEP", o modelo exigirá menos rótulos por entidade.

Adicionar entidades

Para adicionar entidades ao seu projeto:

  1. Mover para a tabela dinâmica Entidades na parte superior da página.

  2. A Análise de Texto para entidades de integridade é automaticamente carregada em seu projeto. Para adicionar categorias de entidade adicionais, selecione Adicionar no menu superior. Você será solicitado a digitar um nome antes de concluir a criação da entidade.

  3. Depois de criar uma entidade, você será roteado para a página de detalhes da entidade, na qual poderá definir as configurações de composição dessa entidade.

  4. As entidades são definidas por componentes de entidade: aprendidas, listadas ou predefinidas. A Análise de Texto para entidades de integridade é preenchida por padrão com o componente predefinido e não pode ter componentes aprendidos. Suas entidades recém-definidas podem ser preenchidas com o componente aprendido depois que você adiciona rótulos a elas em seus dados, mas não podem ser preenchidas com o componente predefinido.

  5. Você pode adicionar um componente de lista a qualquer uma de suas entidades.

Adicionar componente de lista

Para adicionar um componente de lista, selecione Adicionar nova lista. Você pode adicionar várias listas a cada entidade.

  1. Para criar uma nova lista, na caixa de texto Inserir valor, este é o valor normalizado que será retornado quando qualquer um dos valores de sinônimos for extraído.

  2. Para projetos multilíngues, no menu suspenso de idioma, selecione o idioma da lista de sinônimos e comece a digitar seus sinônimos, pressionando Enter após cada um deles. É recomendável ter listas de sinônimos em vários idiomas.

Definir opções de entidade

Altere para o tabela dinâmica Opções de entidade na página de detalhes da entidade. Quando vários componentes são definidos para uma entidade, suas previsões podem se sobrepor. Quando ocorre uma sobreposição, a previsão final de cada entidade é determinada com base na opção de entidade selecionada nesta etapa. Selecione a opção que deseja aplicar a essa entidade e selecione o botão Salvar na parte superior.

Depois de criar suas entidades, é possível voltar e editá-las. Você pode editar componentes de entidade ou excluí-los selecionando essa opção no menu superior.

Seleção de dados

A qualidade dos dados com os quais você treina seu modelo afeta muito o desempenho do modelo.

  • Use dados da vida real que reflitam o espaço de problema do seu domínio para treinar efetivamente seu modelo. É possível usar dados sintéticos para acelerar o processo inicial de treinamento do modelo, mas eles provavelmente serão diferentes dos dados da vida real e tornarão seu modelo menos eficaz quando usado.

  • Equilibre a distribuição de dados o máximo possível sem se desviar da distribuição na vida real. Por exemplo, se você estiver treinando o modelo para extrair entidades de documentos legais que podem vir em vários formatos e idiomas diferentes, forneça exemplos que exemplifiquem a diversidade como seria na vida real.

  • Use dados diversos sempre que possível para evitar sobreajuste do modelo. Menos diversidade nos dados de treinamento pode levar ao aprendizado de modelo de correlações espúrias que podem não existir nos dados da vida real.

  • Evite documentos duplicados em seus dados. Os dados duplicados têm um efeito negativo no processo de treinamento, nas métricas do modelo e no desempenho do modelo.

  • Considere de onde vêm seus dados. Caso se estiver coletando dados de uma pessoa, departamento ou parte de seu cenário, provavelmente não há diversidade que possa ser importante para seu modelo saber mais.

Observação

Se os documentos estiverem em vários idiomas, selecione a opção habilitar vários idiomas durante a criação do projeto e defina a opção de idioma como o idioma da maioria dos seus documentos.

Preparação de dados

Como pré-requisito para a criação de um projeto, os dados de treinamento precisam ser carregados em um contêiner de blob em sua conta de armazenamento. É possível criar e carregar documentos de treinamento do Azure diretamente ou usando a ferramenta Gerenciador de Armazenamento do Azure. Usar a ferramenta Gerenciador de Armazenamento do Azure permite carregar mais dados rapidamente.

Você pode usar somente os documentos .txt. Se os dados estão em outro formato, você pode usar o comando de análise CLUtils para alterar o formato do documento.

É possível carregar um conjuntos de dados com anotações ou sem anotações e rotular seus dados no Language Studio.

Conjunto de testes

Ao definir o conjunto de testes, certifique-se de incluir documentos de exemplo que não estão presentes no conjunto de treinamento. Definir o conjunto de testes é uma etapa importante para calcular o desempenho do modelo. Além disso, verifique se o conjunto de testes inclui documentos que representam todas as entidades usadas em seu projeto.

Próximas etapas

Caso ainda não tenha feito isso, crie um projeto de Análise de Texto personalizada para integridade. Se for a primeira vez que usa a Análise de Texto para integridade personalizada, siga o guia de início rápido para criar um projeto de exemplo. Veja também o artigo de instruções para obter mais detalhes sobre o que você precisa para criar um projeto.