Introdução à engenharia de atributos em NLP

Feature Engineering para NLP em Python

Rounak Banik

Data Scientist

Dados numéricos

Conjunto de dados Iris

sepal length sepal width petal length petal width class
6.3 2.9 5.6 1.8 Iris-virginica
4.9 3.0 1.4 0.2 Iris-setosa
5.6 2.9 3.6 1.3 Iris-versicolor
6.0 2.7 5.1 1.6 Iris-versicolor
7.2 3.6 6.1 2.5 Iris-virginica
Feature Engineering para NLP em Python

One-hot encoding

sex
female
male
female
male
female
...
Feature Engineering para NLP em Python

One-hot encoding

sex one-hot encoding
female →
male →
female →
male →
female →
... ...
Feature Engineering para NLP em Python

One-hot encoding

sex one-hot encoding sex_female sex_male
female → 1 0
male → 0 1
female → 1 0
male → 0 1
female → 1 0
... ... ... ...
Feature Engineering para NLP em Python

One-hot encoding com pandas

# Import the pandas library
import pandas as pd

# Perform one-hot encoding on the 'sex' feature of df df = pd.get_dummies(df, columns=['sex'])
Feature Engineering para NLP em Python

Dados textuais

Conjunto de dados de resenhas de filmes

review class
This movie is for dog lovers. A very poignant... positive
The movie is forgettable. The plot lacked... negative
A truly amazing movie about dogs. A gripping... positive
Feature Engineering para NLP em Python

Pré-processamento de texto

  • Converter para minúsculas
    • Exemplo: Reduction para reduction
  • Converter para a forma base
    • Exemplo: reduction para reduce
Feature Engineering para NLP em Python

Vetorização

review class
This movie is for dog lovers. A very poignant... positive
The movie is forgettable. The plot lacked... negative
A truly amazing movie about dogs. A gripping... positive
Feature Engineering para NLP em Python

Vetorização

0 1 2 ... n class
0.03 0.71 0.00 ... 0.22 positive
0.45 0.00 0.03 ... 0.19 negative
0.14 0.18 0.00 ... 0.45 positive
Feature Engineering para NLP em Python

Atributos básicos

  • Número de palavras
  • Número de caracteres
  • Tamanho médio das palavras
  • Tweets

Tweet da Silverado Records

Feature Engineering para NLP em Python

Marcação de POS

Word POS
I Pronoun
have Verb
a Article
dog Noun
Feature Engineering para NLP em Python

Reconhecimento de entidades nomeadas

  • O substantivo se refere a pessoa, organização ou país?

Uma pessoa, a bandeira de um país e o logo do TED

Noun NER
Brian Person
DataCamp Organization
Feature Engineering para NLP em Python

Conceitos abordados

  • Pré-processamento de texto
  • Atributos básicos
  • Atributos de palavras
  • Vetorização
Feature Engineering para NLP em Python

Vamos praticar!

Feature Engineering para NLP em Python

Preparing Video For Download...