Notions de Natural Language Processing (NLP)

Traitement du langage naturel avec spaCy

Azadeh Mobasher

Principal Data Scientist

Natural Language Processing (NLP)

 

  • Un sous-domaine de l'intelligence artificielle (IA)
  • Aide les ordinateurs à comprendre le langage humain
  • Aide à tirer des insights de données non structurées
  • S'appuie sur les statistiques, des modèles de machine learning et des modèles d'apprentissage profond

 

Le NLP, un sous-domaine de l'IA

Traitement du langage naturel avec spaCy

Cas d'usage du NLP

Analyse de sentiment  

  • Usage d'ordinateurs pour déterminer la tonalité subjective d'un texte

 

Exemples d'analyse de sentiment

Traitement du langage naturel avec spaCy

Cas d'usage du NLP

Reconnaissance d'entités nommées (NER)  

  • Repérer et classer, dans un texte non structuré, les entités nommées selon des catégories prédéfinies
  • Les entités nommées sont des objets réels, comme une personne ou un lieu

 

Exemples de NER

Traitement du langage naturel avec spaCy

Cas d'usage du NLP

 

  • Générer des réponses naturelles à une entrée texte, comme ChatGPT

 

Clavardoirs (chatbots)

Traitement du langage naturel avec spaCy

Introduction à spaCy

spaCy est une bibliothèque gratuite et ouverte pour le NLP en Python qui :

  • Sert à bâtir des systèmes d'extraction d'information
  • Offre du code prêt pour la production pour des cas d'usage NLP
  • Prend en charge 64+ langues
  • Est robuste, rapide et comprend des bibliothèques de visualisation

 

spaCy et le NLP

Traitement du langage naturel avec spaCy

Installer et importer spaCy

 

  • Première étape : installer spaCy avec le gestionnaire de paquets Python pip
  • Télécharger des modèles entraînés spaCy
  • Plusieurs modèles anglais sont offerts sur spacy.io

 

$ python3 pip install spacy
python3 -m spacy download en_core_web_sm
import spacy
nlp = spacy.load("en_core_web_sm")
Traitement du langage naturel avec spaCy

Lire et traiter du texte avec spaCy

  • Modèle spaCy en_core_web_sm chargé = objet nlp
  • L'objet nlp convertit le texte en objet Doc (contenant) qui stocke le texte traité

Traitement de texte avec spaCy

Traitement du langage naturel avec spaCy

spaCy en action

  • Traiter une chaîne avec spaCy
import spacy
nlp = spacy.load("en_core_web_sm")
text = "A spaCy pipeline object is created."
doc = nlp(text)
  • Tokenisation
    • Un Token est la plus petite unité porteuse de sens du texte.
    • Tokenisation : division d'un texte en une liste de jetons significatifs
print([token.text for token in doc])
['A', 'spaCy', 'pipeline', 'object', 'is', 'created', '.']
Traitement du langage naturel avec spaCy

Passons à la pratique !

Traitement du langage naturel avec spaCy

Preparing Video For Download...