Noções básicas de Natural Language Processing (NLP)

Processamento de Linguagem Natural com spaCy

Azadeh Mobasher

Principal Data Scientist

Natural Language Processing (NLP)

 

  • Um subcampo de Artificial Intelligence (AI)
  • Ajuda computadores a entenderem linguagem humana
  • Ajuda a extrair insights de dados não estruturados
  • Integra estatística, modelos de machine learning e modelos de deep learning

 

NLP, um subcampo de AI

Processamento de Linguagem Natural com spaCy

Casos de uso de NLP

Análise de sentimento  

  • Uso de computadores para identificar o tom subjetivo de um texto

 

Exemplos de análise de sentimento

Processamento de Linguagem Natural com spaCy

Casos de uso de NLP

Reconhecimento de entidades nomeadas (NER)  

  • Localizar e classificar entidades nomeadas em texto não estruturado em categorias pré-definidas
  • Entidades nomeadas são objetos do mundo real, como pessoa ou local

 

Exemplos de NER

Processamento de Linguagem Natural com spaCy

Casos de uso de NLP

 

  • Gerar respostas humanas a entradas de texto, como o ChatGPT

 

Chatbots

Processamento de Linguagem Natural com spaCy

Introdução ao spaCy

spaCy é uma biblioteca gratuita e open source de NLP em Python que:

  • É feita para criar sistemas de extração de informação
  • Fornece código pronto para produção para casos de uso de NLP
  • Suporta 64+ idiomas
  • É robusta e rápida e tem bibliotecas de visualização

 

spaCy e NLP

Processamento de Linguagem Natural com spaCy

Instalar e importar o spaCy

 

  • Primeiro passo: instalar spaCy com o gerenciador de pacotes pip do Python
  • Você pode baixar modelos treinados do spaCy
  • Há vários modelos treinados para inglês em spacy.io

 

$ python3 pip install spacy
python3 -m spacy download en_core_web_sm
import spacy
nlp = spacy.load("en_core_web_sm")
Processamento de Linguagem Natural com spaCy

Ler e processar texto com spaCy

  • Modelo spaCy en_core_web_sm carregado = objeto nlp
  • O objeto nlp converte texto em um objeto Doc (contêiner) para armazenar o texto processado

Processamento de texto com spaCy

Processamento de Linguagem Natural com spaCy

spaCy na prática

  • Processar uma string com spaCy
import spacy
nlp = spacy.load("en_core_web_sm")
text = "A spaCy pipeline object is created."
doc = nlp(text)
  • Tokenização
    • Um Token é a menor parte significativa do texto.
    • Tokenização: o processo de dividir um texto em uma lista de tokens significativos
print([token.text for token in doc])
['A', 'spaCy', 'pipeline', 'object', 'is', 'created', '.']
Processamento de Linguagem Natural com spaCy

Vamos praticar!

Processamento de Linguagem Natural com spaCy

Preparing Video For Download...