O Named Entity Recognition (NER)—também chamado de fragmentação de entidades ou extração de entidades—é um componente do processamento de linguagem natural (PLN) que identifica categorias predefinidas de objetos em um corpo de texto.
Essas categorias podem incluir, entre outros, nomes de indivíduos, organizações, localizações, expressões de tempo, quantidades, códigos médicos, valores monetários e percentuais. Essencialmente, o NER é o processo de analisar uma sequência de texto (como uma frase, parágrafo ou documento) e identificar e classificar as entidades que se referem a cada categoria.
Quando o termo "NER" foi cunhado na Sexta Message Understanding Conference (MUC-6), o objetivo era simplificar as tarefas de extração de informações, que envolviam o processamento de grandes quantidades de texto não estruturado e a identificação de informações importantes. Desde então, o NER se expandiu e evoluiu, devendo grande parte de sua evolução aos avanços nas técnicas de aprendizado de máquina e deep learning.
De acordo com uma pesquisa de 2019, cerca de 64% das empresas dependem de dados estruturados provenientes de recursos internos, mas menos de 18% utilizam dados não estruturados e comentários de redes sociais para tomar decisões de negócios1.
As organizações que utilizam o NER para a extração de dados não estruturados baseiam-se em uma variedade de abordagens, que geralmente se enquadram em três categorias amplas: abordagens baseadas em regras, abordagens de aprendizado de máquina e abordagens híbridas.
Desde a criação do NER, houve avanços metodológicos significativos, especialmente com técnicas baseadas em deep learning. As iterações mais recentes incluem:
A primeira etapa no NER é agregar um conjunto de dados de texto anotados. O conjunto de dados deve conter exemplos de textos onde as entidades nomeadas estão rotuladas ou marcadas, indicando seus tipos. As anotações podem ser feitas manualmente ou utilizando métodos automatizados.
Após a coleta do conjunto de dados, o texto deve ser limpo e formatado. Pode ser necessário remover caracteres desnecessários, normalizar o texto e/ou dividir o texto em sentenças ou tokens.
Nessa etapa, também são extraídas funcionalidades relevantes do texto pré-processado. Essas funcionalidades podem incluir marcação de partes do discurso (marcação POS), incorporação de palavras e informações contextuais, entre outros. A escolha das funcionalidades dependerá do modelo de NER que a organização utilizar.
A próxima etapa é treinar um modelo de aprendizado de máquina ou deep learning usando o conjunto de dados anotado e as funcionalidades extraídas. O modelo aprende a identificar padrões e relacionamentos entre palavras no texto, bem como seus rótulos de entidades nomeadas correspondentes.
Após o treinamento do modelo de NER, ele deve ser avaliado para verificar seu desempenho. É possível medir métricas como precisão, recall e pontuação F1, que indicam o quanto o modelo identifica e classifica corretamente as entidades nomeadas.
Com base nos resultados da avaliação, você deve refinar o modelo para melhorar seu desempenho. Isso pode incluir ajustes nos hiperparâmetros, modificação dos dados de treinamento e/ou uso de técnicas mais avançadas (por exemplo, combinação de modelos ou adaptação de domínios).
Nesse estágio, você pode começar a usar o modelo para inferir novos textos não vistos. O modelo receberá o texto de input, aplicará as etapas de pré-processamento, extrairá as funcionalidades relevantes e, por fim, preverá os rótulos de entidades nomeadas para cada token ou trecho do texto.
A produção do modelo de NER pode precisar passar por etapas de pós-processamento para refinar os resultados e/ou adicionar informações contextuais. Talvez você precise concluir tarefas como a vinculação de entidades, em que as entidades nomeadas são vinculadas a bases de conhecimento ou bancos de dados para enriquecimento adicional.
A maneira mais fácil de implementar um sistema de Named Entity Recognition é usar uma interface de programação de aplicativos (API). APIs do NER são interfaces baseadas na web ou locais que fornecem acesso às funcionalidades do NER. Alguns exemplos populares de APIs do NER incluem:
O NLTK é uma plataforma líder de código aberto para a criação de programas Python para trabalhar com dados de linguagem humana. Ele fornece interfaces fáceis de usar para mais de 100 modelos de extração treinados2. Também inclui bibliotecas de processamento de texto para classificação, tokenização, stemming, marcação, análise e raciocínio semântico. O NLKT tem seu próprio classificador para reconhecer entidades nomeadas, chamado ne_chunk, mas também fornece um wrapper para usar o marcador Stanford NER em Python.
Desenvolvido pela Stanford University, o Stanford NER é uma implementação em Java amplamente considerada como a principal biblioteca de extração de entidades. Ele se baseia em CRF e oferece modelos pré-treinados para extrair entidades nomeadas.
Escrito em Python e conhecido por sua velocidade e facilidade de uso, o SpaCy é uma biblioteca de software de código aberto para NLP avançado. É construído com base nas pesquisas mais recentes e foi projetado para uso em produtos reais. Também possui um sistema estatístico avançado que permite aos usuários construir extratores do NER personalizados.
À medida que as tecnologias continuam a evoluir, os sistemas NER se tornarão cada vez mais onipresentes, ajudando as organizações a interpretar os dados que encontram diariamente. Até agora, tem se mostrado essencial em vários setores, como saúde, finanças, atendimento ao cliente e cibersegurança.
Alguns dos casos de uso mais impactantes são:
O NER é um primeiro passo crucial para extrair informações úteis e estruturadas de grandes bancos de dados não estruturados. Os mecanismos de busca utilizam o NER para melhorar a relevância e precisão dos resultados de pesquisa.
Os agregadores de notícias utilizam o NER para categorizar artigos e histórias com base nas entidades nomeadas que eles contêm, permitindo uma maneira mais organizada e eficiente de apresentar notícias ao público. Por exemplo, o NER para aplicativos de notícias automatiza o processo de classificação, agrupando histórias semelhantes e fornecendo uma visão mais abrangente de determinados eventos.
Com a proliferação de plataformas de redes sociais, a quantidade de dados textuais disponíveis para análise é esmagadora. O NER desempenha um papel significativo na análise de redes sociais, identificando entidades fundamentais em postagens e comentários para entender tendências e opiniões públicas sobre diferentes tópicos (especialmente opiniões sobre marcas e produtos). Essas informações podem ajudar empresas a realizar análises de sentimentos, desenvolver estratégias de marketing, criar respostas de atendimento ao cliente e acelerar os esforços de desenvolvimento de produtos.
Assistentes virtuais e chatbots de inteligência artificial generativa utilizam o NER para entender com precisão as solicitações dos usuários e consultas de suporte ao cliente. Ao identificar entidades críticas nas consultas dos usuários, essas ferramentas impulsionadas por IA podem fornecer respostas precisas e específicas ao contexto. Por exemplo, na consulta "Encontre restaurantes de Soul Food perto de Piedmont Park," o NER ajuda o assistente a entender "Soul Food" como a culinária, "restaurantes" como o tipo de estabelecimento e "Piedmont Park" como o local.
Na cibersegurança, o NER ajuda empresas a identificar possíveis ameaças e anomalias em logs de rede e outros dados relacionados à segurança. Por exemplo, ele pode identificar endereços IP, URLs, nomes de usuários e nomes de arquivos suspeitos em logs de segurança de rede. Assim, o NER pode facilitar investigações mais detalhadas de incidentes de segurança e melhorar a segurança geral da rede.
O NER percorreu um longo caminho desde sua criação, integrando tecnologias inovadoras e expandindo significativamente sua utilidade ao longo do tempo. No entanto, há alguns desafios notáveis a considerar ao avaliar as tecnologias NER.
Embora o NER tenha feito muitos progressos para idiomas como o inglês, ele não tem o mesmo nível de precisão para muitos outros. Isso se deve frequentemente à falta de dados rotulados nesses idiomas. O NER multilíngue, que envolve transferir conhecimento de um idioma para outro, é uma área ativa de pesquisa que pode ajudar a preencher a lacuna de idiomas do NER.
Às vezes, entidades podem estar aninhadas dentro de outras entidades, e reconhecer essas entidades aninhadas pode ser um desafio. Por exemplo, na frase "A Pennsylvania State University, University Park, foi estabelecida em 1855", tanto "Pennsylvania State University" quanto "A Pennsylvania State University, University Park" são entidades válidas.
Além disso, embora os modelos gerais do NER possam identificar entidades comuns como nomes e localizações, eles podem ter dificuldades com entidades específicas de certos domínios. Por exemplo, no campo médico, identificar termos complexos como nomes de doenças ou de medicamentos pode ser desafiador. Modelos do NER específicos de domínios podem ser treinados em dados especializados, mas obter essas informações pode ser um desafio em si.
Os modelos do NER também podem enfrentar problemas mais amplos com ambiguidade (por exemplo, "Apple" pode se referir a uma fruta ou à empresa de tecnologia); variação no nome das entidades (por exemplo, "EUA", "E.U.A.", "Estados Unidos" e "Estados Unidos da América" referem-se ao mesmo país); e informações contextuais limitadas (em que textos e/ou frases não contêm contexto suficiente para identificar e categorizar entidades com precisão).
Embora o NER tenha seus desafios, os avanços contínuos estão constantemente melhorando sua precisão e aplicabilidade, ajudando, assim, a minimizar o impacto das lacunas tecnológicas existentes.
Embora o NER seja um campo bem estabelecido, ainda há muito trabalho a ser feito.
Olhando para o futuro, uma área promissora é o uso de técnicas de aprendizado não supervisionado para o NER. Embora técnicas de aprendizado supervisionado tenham obtido bons resultados, elas exigem muitos dados rotulados, o que pode ser um desafio de se obter. Técnicas de aprendizado não supervisionado não exigem dados rotulados e ajudam as organizações a superar desafios relacionados à disponibilidade de dados.
Outra direção interessante é a integração do NER com outras tarefas de NLP. Por exemplo, modelos conjuntos para NER e vinculação de entidades (que envolve vincular entidades às suas entradas correspondentes em uma base de conhecimento) ou NER e resolução de correferência (que envolve determinar quando duas ou mais expressões em um texto se referem à mesma entidade) poderiam permitir sistemas que entendem e processam melhor os textos.
O aprendizado few-shot e o NER multimodal também expandem os recursos das tecnologias NER. Com o aprendizado few-shot, os modelos são treinados para realizar tarefas com apenas alguns exemplos, o que pode ser particularmente útil quando os dados rotulados são escassos. Já o NER multimodal envolve a integração de texto com outros tipos de entidades. Uma imagem ou um áudio, por exemplo, pode fornecer contexto adicional que ajuda a reconhecer entidades.
Projete assistentes e agentes de IA escaláveis com facilidade, automatize tarefas repetitivas e simplifique processos complexos com o IBM® watsonx Orchestrate.
Acelere o valor comercial da inteligência artificial com um portfólio poderoso e flexível de bibliotecas, serviços e aplicativos.
Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.
O IBM Granite é nossa família de modelos de IA abertos, de alto desempenho e confiáveis, personalizados para a empresa e otimizados para escalar suas aplicações de IA. Explore as opções de linguagens, código, séries temporais e proteções.
Descubra como o processamento de linguagem natural pode ajudar você a conversar de forma mais natural com computadores.
Entrevistamos duas mil organizações a respeito de suas iniciativas de IA para descobrir o que está funcionando, o que não está e como se preparar.
Explore o site do desenvolvedor da IBM para acessar blogs, artigos, boletins informativos e saber mais sobre a IA incorporável da IBM.
Aprenda conceitos fundamentais e desenvolva suas habilidades com laboratórios práticos, cursos, projetos guiados, avaliações e muito mais.
1 Analytics and AI-driven enterprises thrive in the Age of With, Deloitte Insights, 25 de julho de 2019
2 3 open source NLP tools for data extraction, InfoWorld, 10 de julho de 2023