- Notas de Versão
- Antes de começar
- Introdução
- Instalação do AI Center
- Migração e atualização
- Projetos
- Conjuntos de dados
- Rotulagem de Dados
- Pacotes de ML
- Pacotes para uso imediato
- Pipelines
- Habilidades de ML
- Logs de ML
- Document UnderstandingTM no AI Center
- API do AI Center
- Como fazer
- Gerenciamento do agendamento de nós
- Uso da NER personalizada com o aprendizado contínuo
- Licenciamento
- Guia básico de solução de problemas
Uso da NER personalizada com o aprendizado contínuo
Esse exemplo é usado para extrair produtos químicos pela categoria mencionada em artigos de pesquisa. Ao seguir o procedimento abaixo, você extrairá os produtos químicos e os categorizará como ABBEVIAÇÃO, FAMÍLIA, FÓRMULA, IDENTIFICADOR, MULTIPLO, SISTEMÁTICO, TRIVIAL e NO_CLASS.
Quando usar o modelo de Reconhecimento de entidade nomeada personalizada (NER)
Use o modelo NER personalizado para extrair:
-
informações especiais do texto. Essas informações são chamadas de
entity
. -
os nomes de pessoas, lugares, organizações, locais, datas, valores numéricos, etc. As entidades extraídas são mutuamente exclusivas. As entidades estão no nível de uma ou várias palavras, não no nível de subpalavras. Por exemplo, na frase Eu vivo em Nova York , uma entidade pode ser Nova York , mas não na frase Eu leio a Nova York .
Você pode usar as entidades extraídas diretamente nos processos de extração de informações ou como entradas para as tarefas downstream, como classificação do texto de origem, análise de sentimento do texto de origem, PHI etc.
Recomendações do conjunto de dados de treinamento
- Tenha pelo menos 200 amostras por entidade se as entidades forem densas nas amostras, o que significa que a maioria das amostras (mais de 75%) contém de 3 a 5 dessas entidades.
- Se as entidades forem esparsas (cada amostra tem menos de três entidades), ou seja, apenas algumas de todas as entidades aparecem na maioria dos documentos, é recomendável ter pelo menos 400 amostras por entidade. Isso ajuda o modelo a entender melhor os recursos discriminativos.
- Se houver mais de 10 entidades, adicione mais 100 amostras de forma incremental até atingir a métrica de desempenho desejada.
Melhores práticas
- Ter entidades significativas; se um humano não consegue identificar uma entidade, então nenhum modelo pode.
- Ter entidades simples. Em vez de um único endereço de entidade, divida-o em várias entidades: nome da rua, nome do estado, nome da cidade, CEP etc.
- Crie conjuntos de dados de treinamento e teste e use um pipeline completo para treinamento.
- Comece com um número mínimo de amostras para anotação, abrangendo todas as entidades.
- Certifique-se de que todas as entidades estejam representadas na divisão de treinamento e teste.
- Execute um pipeline completo e verifique as métricas de teste. Se a métrica de teste não for satisfatória, verifique o relatório de classificação e identifique as entidades com baixo desempenho. Adicione mais amostras que cubram as entidades com baixo desempenho e repita o processo de treinamento até a métrica desejada.
Esse procedimento usa o pacote de Reconhecimento da entidade nomeada personalizada. Para obter mais informações sobre como esse pacote funciona e para que ele pode ser usado, veja Reconhecimento da entidade nomeada personalizada.
Para esse procedimento, fornecemos arquivos de amostra da seguinte forma:
- Conjunto de dados de treinamento pré-rotulados no formato CoNLL. É possível baixá-los daqui.
- Conjunto de dados de teste pré-rotulados. É possível baixá-los daqui.
- Fluxo de trabalho de amostra para extrair categorias de produtos químicos mencionados em artigos de pesquisa. É possível baixá-los daqui.
Observação: certifique-se de que as seguintes variáveis estejam preenchidas no arquivo de amostra:
in_emailAdress
- o endereço de e-mail ao qual a tarefa do Action Center será atribuídain_MLSkillEndpoint
- endpoint público da Habilidade de MLin_MLSkillAPIKey
- chave da API da Habilidade de MLin_labelStudioEndpoint
- opcional, para habilitar a rotulagem contínua: forneça a URL de importação de um projeto do Label Studio
Para começar com o Label Studio e exportar dados para o AI Center, siga as instruções abaixo.
- Instale o Label Studio em sua máquina local ou instância de nuvem. Para fazer isso, siga as instruções daqui.
- Crie um novo projeto a partir do Modelo de reconhecimento de entidade nomeada e defina seus nomes de rótulos.
- Certifique-se de que os nomes de rótulos não tenham caracteres especiais ou espaços. Por exemplo, em vez de
Set Date
, useSetDate
. - Certifique-se de que o valor da
<Text>
tag seja"$text"
. - Carregue os dados usando a API daqui.
Exemplo de solicitação cURL:
curl --location --request POST 'https://<label-studio-instance>/api/projects/<id>/import' \)\) --header 'Content-Type: application/json' \)\) --header 'Authorization: Token <Token>' \)\) --data-raw '[ { "data": { "text": "<Text1>" }, }, { "data": { "text": "<Text2>" } } ]'
curl --location --request POST 'https://<label-studio-instance>/api/projects/<id>/import' \)\) --header 'Content-Type: application/json' \)\) --header 'Authorization: Token <Token>' \)\) --data-raw '[ { "data": { "text": "<Text1>" }, }, { "data": { "text": "<Text2>" } } ]' - Anote seus dados.
- Exporte os dados no formato CoNLL 2003 e carregue-os no AI Center.
- Forneça a URL da instância do Label Studio e a chave da API no fluxo de trabalho de amostra fornecido, a fim de capturar previsões incorretas e de baixa confiança.