Introduction à l'ingénierie des caractéristiques en NLP

Feature Engineering pour le NLP en Python

Rounak Banik

Data Scientist

Données numériques

Jeu de données Iris

longueur sépale largeur sépale longueur pétale largeur pétale classe
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 pour le NLP en Python

Encodage one-hot

sexe
femme
homme
femme
homme
femme
...
Feature Engineering pour le NLP en Python

Encodage one-hot

sexe encodage one-hot
femme →
homme →
femme →
homme →
femme →
... ...
Feature Engineering pour le NLP en Python

Encodage one-hot

sexe encodage one-hot sex_female sex_male
femme → 1 0
homme → 0 1
femme → 1 0
homme → 0 1
femme → 1 0
... ... ... ...
Feature Engineering pour le NLP en Python

Encodage one-hot avec 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 pour le NLP en Python

Données textuelles

Jeu de données d'avis de films

avis classe
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 pour le NLP en Python

Prétraitement du texte

  • Mettre en minuscules
    • Exemple : Reduction → reduction
  • Ramener à la forme de base
    • Exemple : reduction → reduce
Feature Engineering pour le NLP en Python

Vectorisation

avis classe
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 pour le NLP en Python

Vectorisation

0 1 2 ... n classe
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 pour le NLP en Python

Caractéristiques de base

  • Nombre de mots
  • Nombre de caractères
  • Longueur moyenne des mots
  • Tweets

Tweet de Silverado Records

Feature Engineering pour le NLP en Python

Étiquetage POS

Mot POS
I Pronoun
have Verb
a Article
dog Noun
Feature Engineering pour le NLP en Python

Reconnaissance d'entités nommées

  • Le nom commun désigne-t-il une personne, une organisation ou un pays ?

Une personne, le drapeau d'un pays et le logo de TED

Nom NER
Brian Person
DataCamp Organization
Feature Engineering pour le NLP en Python

Concepts abordés

  • Prétraitement du texte
  • Caractéristiques de base
  • Caractéristiques sur les mots
  • Vectorisation
Feature Engineering pour le NLP en Python

Passons à la pratique !

Feature Engineering pour le NLP en Python

Preparing Video For Download...