Introductie tot NLP-feature engineering

Feature Engineering voor NLP in Python

Rounak Banik

Data Scientist

Numerieke data

Iris-dataset

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 voor NLP in Python

One-hot encoding

sex
female
male
female
male
female
...
Feature Engineering voor NLP in Python

One-hot encoding

sex one-hot encoding
female
male
female
male
female
... ...
Feature Engineering voor NLP in 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 voor NLP in Python

One-hot encoding met 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 voor NLP in Python

Tekstuele data

Filmrecensies-dataset

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 voor NLP in Python

Tekstvoorbewerking

  • Omzetten naar kleine letters
    • Voorbeeld: Reductionreduction
  • Omzetten naar grondvorm
    • Voorbeeld: reductionreduce
Feature Engineering voor NLP in Python

Vectorisatie

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 voor NLP in Python

Vectorisatie

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 voor NLP in Python

Basiskenmerken

  • Aantal woorden
  • Aantal tekens
  • Gemiddelde woordlengte
  • Tweets

Tweet van Silverado Records

Feature Engineering voor NLP in Python

Woordsoorttagging (POS)

Word POS
I Pronoun
have Verb
a Article
dog Noun
Feature Engineering voor NLP in Python

Named Entity Recognition

  • Verwijst het zelfstandig naamwoord naar een persoon, organisatie of land?

Een persoon, een landsvlag en het logo van TED

Noun NER
Brian Persoon
DataCamp Organisatie
Feature Engineering voor NLP in Python

Behandelde concepten

  • Tekstvoorbewerking
  • Basiskenmerken
  • Woordkenmerken
  • Vectorisatie
Feature Engineering voor NLP in Python

Laten we oefenen!

Feature Engineering voor NLP in Python

Preparing Video For Download...