Blog ENI : Toute la veille numérique !
Offre estivale️ ☀️ : de -20% à -30% sur les livres en ligne et vidéos, avec le code PLAGE Cliquez ici !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Traitement automatique du langage naturel avec Python
  3. Étiquetage morphosyntaxique
Extrait - Traitement automatique du langage naturel avec Python Le NLP avec spaCy et NLTK
Extraits du livre
Traitement automatique du langage naturel avec Python Le NLP avec spaCy et NLTK Revenir à la page d'achat du livre

Étiquetage morphosyntaxique

Introduction et définition

L’étiquetage morphosyntaxique, également connu sous le nom de Part-of-Speech (POS) tagging, représente une étape fondamentale dans le champ du traitement automatique du langage naturel (TALN). Sa mission consiste à attribuer à chaque mot d’un texte une étiquette reflétant sa catégorie grammaticale et sa fonction dans la phrase, telles que le nom, le verbe, l’adjectif, l’adverbe, etc.

1. Définition de l’étiquetage morphosyntaxique

L’étiquetage morphosyntaxique vise à analyser la structure grammaticale d’un texte afin de mieux appréhender le sens de chaque mot au sein de son contexte. Chaque étiquette morphosyntaxique offre une information précieuse sur la fonction grammaticale du mot, facilitant des analyses linguistiques plus avancées, telles que l’analyse syntaxique, la détection d’entités nommées, et la désambiguïsation lexicale.

Les étiquettes morphosyntaxiques varient en fonction de la langue, de la grammaire et du contexte linguistique spécifique. Elles jouent un rôle essentiel pour capturer la richesse et la complexité du langage naturel, permettant aux modèles de NLP de traiter de manière plus sophistiquée la sémantique et la structure grammaticale des textes.

2. Utilité...

Étiquetage morphosyntaxique avec NLTK

Considérons cette phrase en français, relativement simple dans sa structure :

Le chat noir dort paisiblement.

On procède à un étiquetage en utilisant NLTK :

import nltk 
from nltk.tokenize import word_tokenize 
nltk.download('punkt') 
nltk.download('averaged_perceptron_tagger') 
 
# Phrase à étiqueter 
sentence = "Le chat noir dort paisiblement." 
 
# Tokenisation des mots dans la phrase 
tokens = word_tokenize(sentence) 
 
# Étiquetage morphosyntaxique avec NLTK 
pos_tags = nltk.pos_tag(tokens) 
 
# Affichage des résultats 
print(f"Phrase originale : {sentence}") 
print(f"Étiquettes morphosyntaxiques : {pos_tags}") 

On obtient ceci en sortie :

Phrase originale : Le chat noir dort paisiblement. 
Étiquettes morphosyntaxiques : [('Le', 'DT'), ('chat', 'NN'), 
('noir', 'JJ'), ('dort', 'VB'), ('paisiblement', 'RB'), ('.', '.')] 

Dans cet exemple, la phrase est tokenisée en mots individuels, puis chaque mot est associé à une étiquette morphosyntaxique à l’aide de la fonction pos_tag de NLTK. Les étiquettes sont ensuite affichées. Dans la sortie, chaque paire (mot, étiquette) représente le mot et sa catégorie...

Étiquetage morphosyntaxique avec spaCy

Prenons un premier exemple avec la phrase « Le chat noir dort paisiblement. » :

import spacy 
 
# Chargement du modèle spaCy pour le traitement du langage naturel 
nlp = spacy.load('fr_core_news_sm') 
 
# Phrase à étiqueter 
sentence = "Le chat noir dort paisiblement." 
 
# Traitement de la phrase avec SpaCy 
doc = nlp(sentence) 
 
# Affichage des étiquettes morphosyntaxiques 
for token in doc: 
    print(f"Mot : {token.text}, Étiquette : {token.pos_}") 

On obtient la sortie suivante :

Mot : Le, Étiquette : DET 
Mot : chat, Étiquette : NOUN 
Mot : noir, Étiquette : ADJ 
Mot : dort, Étiquette : VERB 
Mot : paisiblement, Étiquette : ADV 
Mot : ., Étiquette : PUNCT 

Dans cet exemple, la phrase est traitée par spaCy et chaque mot est annoté avec son étiquette morphosyntaxique. Les étiquettes incluent des catégories telles que DET (déterminant), NOUN (nom), ADJ (adjectif), VERB (verbe), ADV (adverbe), PUNCT (ponctuation), etc.

En ajoutant le code suivant, on obtient une visualisation graphique de l’analyse effectuée (cela suppose d’installer displaCy...

Conclusion

Le présent chapitre ainsi que le précédent ont permis d’acquérir des techniques à même d’être utilisées en vue de la première thématique appliquée que nous allons étudier dans le chapitre suivant : l’extraction de caractéristiques de texte.