Reconhecimento de entidades nomeadas

Feature Engineering para NLP em Python

Rounak Banik

Data Scientist

Aplicações

  • Algoritmos de busca eficientes
  • Respostas a perguntas
  • Classificação de notícias
  • Atendimento ao cliente
Feature Engineering para NLP em Python

Reconhecimento de entidades nomeadas

  • Identificar e classificar entidades nomeadas em categorias predefinidas.
  • Categorias incluem pessoa, organização, país etc.
    "John Doe is a software engineer working at Google. He lives in France."
    
  • Entidades nomeadas
  • John Doe → pessoa
  • Google → organização
  • France → país (entidade geopolítica)
Feature Engineering para NLP em Python

NER com spaCy

import spacy
string = "John Doe is a software engineer working at Google. He lives in France."

# Load model and create Doc object
nlp = spacy.load('en_core_web_sm')
doc = nlp(string)

# Generate named entities ne = [(ent.text, ent.label_) for ent in doc.ents] print(ne)
[('John Doe', 'PERSON'), ('Google', 'ORG'), ('France', 'GPE')]
Feature Engineering para NLP em Python

Anotações de NER no spaCy

Documentação do spaCy sobre anotações de NER

Feature Engineering para NLP em Python

Um alerta

  • Não é perfeito
  • Desempenho depende dos dados de treino e teste
  • Treine modelos com dados especializados para casos sutis
  • Específico por idioma
Feature Engineering para NLP em Python

Vamos praticar!

Feature Engineering para NLP em Python

Preparing Video For Download...