Natural Language Processing (NLP) - Fondements et applications

Auteur: Mohamed CHINY Durée necessaire pour le cours de Natural Language Processing (NLP) - Fondements et applications Niveau recommandé pour le cours de Natural Language Processing (NLP) - Fondements et applications Supports vidéo non disponibles pour ce cours Exercices de renforcement non disponibles pour ce cours Quiz non disponibles pour ce cours

Leçon 13: PoS Tagging: vers une compréhension linguistique approfondie

Toutes les leçons

Natural Language Processing (NLP) - Fondements et applications

Leçon 1
Natural Language Processing (NLP) - Histoire, définition et applications
Leçon 2
Le prétraitement en NPL: du texte brut aux données exploitables
Leçon 3
La normalisation, étape indispensable du prétraitement linguistique
Leçon 4
Tokenisation: comprendre son rôle dans le prétraitement linguistique pour le NLP
Leçon 5
Gestion des stop words en prétraitement NLP
Leçon 6
Le stemming: Réduction lexicale et normalisation des formes
Leçon 7
Lemmatisation: normaliser les texte en retrouvant la forme canonique des mots
Leçon 8
Byte Pair Encoding (BPE) - Tokenisation en sous-mots et réduction du vocabulaire
Leçon 9
WordPiece: tokenisation en sous-mots pour mieux comprendre le langage
Leçon 10
Extraction n-grammes pour enrichir la représentation du langage
Leçon 11
Exploratory Data Analysis (EDA) en NLP - Explorer pour mieux prédire
Leçon 12
Nuage de mots et histogramme de fréquences: outils visuels pour comprendre un corpus
Leçon 13
PoS Tagging: vers une compréhension linguistique approfondie
Leçon 14
Analyse de cooccurrence: étape clé de l'EDA en NLP exploratoire
Leçon 15
Extraction de caractéristiques en NLP: transformer le texte en vecteurs numériques
Leçon 16
Bag of Words (BoW): une approche basique d'extraction de caractéristiques en NLP
Leçon 17
TF-IDF: pondérer l'importance des mots pour mieux représenter le texte
Leçon 18
Word Embedding: comprendre le langage grâce aux vecteurs sémantiques
Leçon 19
Analyse de sentiments en NLP: Etude de cas avec le dataset US Airline Sentiment et VADER
Leçon 20
Analyse de sentiments avec un réseau LSTM: Classification multi-classes des tweets
Leçon 21
Reconnaissance d'Entités Nommées NER: du langage brut à l'information structurée

PoS Tagging (Part-of-Speech): analyses linguistiques avancées

Qu’est-ce que le PoS Tagging?

Le Part-of-Speech Tagging (ou PoS Tagging) consiste à attribuer à chaque mot d’un texte sa catégorie grammaticale (nom, verbe, adjectif, déterminant, etc.). Concrètement, il s’agit d’un enrichissement linguistique qui transforme une simple suite de tokens en une représentation annotée, où chaque mot est accompagné de son rôle syntaxique.

Le PoS Tagging permet de dépasser l’analyse purement lexicale (fréquence brute des mots) pour entrer dans une compréhension plus fine de la structure du langage.

En effet, les techniques qui consistent au nuage de mots et de l’histogramme de fréquences présentent quelques limites, à savoir:
  • Le nuage de mots: met en avant les termes les plus fréquents, mais sans distinction de leur fonction grammaticale. Un verbe et un nom apparaissent sur le même plan, ce qui peut masquer des nuances.
  • L'histogramme de fréquences: donne une distribution quantitative des tokens, mais reste limité à une vision statistique. On sait quels mots sont fréquents, mais pas comment ils s’articulent dans le discours.

Ces deux outils sont utiles pour une première exploration, mais ils ne révèlent pas la structure grammaticale ni les relations syntaxiques.

Valeur ajoutée du PoS Tagging

Sur le plan qualitatif
Le PoS Tagging rend possible l’identification de la nature dominante d’un texte. Un corpus fortement marqué par la présence de noms et d’adjectifs sera typiquement descriptif, tandis qu’une proportion élevée de verbes traduira une orientation narrative. De plus, la distribution des catégories grammaticales constitue un indicateur pertinent pour caractériser les styles d’écriture (scientifique, journalistique, littéraire...), chacun se distinguant par des schémas syntaxiques spécifiques.

Sur le plan méthodologique
LePoS Tagging prépare le terrain pour des analyses plus avancées. Il facilite la lemmatisation, en distinguant par exemple les verbes conjugués des noms, et sert de base au parsing syntaxique ainsi qu’à l’extraction d’entités nommées (NER). Ces étapes ultérieures reposent sur une annotation grammaticale fiable, qui garantit la précision des traitements linguistiques.

Sur le plan visuel
Le PoS Tagging ouvre la voie à des représentations enrichies. La construction de diagrammes circulaires ou d’histogrammes comparatifs des catégories grammaticales permet de visualiser la structure linguistique d’un corpus. Ces représentations mettent en évidence les contrastes entre différents sous-corpus. Par exemple, comparer la prédominance des noms dans des articles académiques avec la forte présence de verbes dans des publications issues des réseaux sociaux.

Mise en pratique du PoS Tagging

Application du PoS Tagging en EDA à l’aide de NLTK

Je propose cet exemple qui illustre l’application du PoS Tagging avec NLTK:
import nltk
from nltk.tokenize import word_tokenize
sentence = """PoS Tagging is the process of assigning
   grammatical categories such as nouns, verbs,
   or adjectives to each token in a text, thereby
   enriching raw linguistic data with syntactic
   information."
wordtokens = word_tokenize(sentence)
print(nltk.pos_tag(wordtokens))
Dans ce code, on tokenise une phrase en mots, puis attribue à chacun une étiquette grammaticale (nom, verbe, adjectif, etc.), ce qui produit une liste de tuples (mot, catégorie) qui décrit la structure linguistique du texte comme ceci:
[('PoS', 'NNP'), ('Tagging', 'NNP'), ('is', 'VBZ'), ('the', 'DT'), ('process', 'NN'), ('of', 'IN'), ('assigning', 'VBG'), ('grammatical', 'JJ'), ('categories', 'NNS'), ('such', 'JJ'), ('as', 'IN'), ('nouns', 'NNS'), (',', ','), ('verbs', 'NNS'), (',', ','), ('or', 'CC'), ('adjectives', 'NNS'), ('to', 'TO'), ('each', 'DT'), ('token', 'NN'), ('in', 'IN'), ('a', 'DT'), ('text', 'NN'), (',', ','), ('thereby', 'RB'), ('enriching', 'VBG'), ('raw', 'JJ'), ('linguistic', 'JJ'), ('data', 'NNS'), ('with', 'IN'), ('syntactic', 'JJ'), ('information', 'NN'), ('.', '.')]
Voici la signification de certains tags renvoyés par le PoS Tagging en utilisant NLTK:
  • NNP: Proper Noun, Singular → nom propre singulier (ex. PoS, Tagging)
  • NN: Noun, Singular → nom commun singulier (ex. process, token, text, information).
  • NNS: Noun, Plural → nom commun pluriel (ex. categories, nouns, verbs, adjectives, data).
  • DT: Determiner → déterminant (ex. the, each, a).
  • IN: Preposition/Subordinating Conjunction → préposition ou conjonction subordonnante (ex. of, as, in, with).
  • VBG: Verb, Gerund/Present Participle → verbe au gérondif ou participe présent (ex. assigning, enriching).
  • VBZ: Verb, 3rd Person Singular Present → verbe conjugué à la 3ᵉ personne du singulier au présent (ex. is).
  • JJ: Adjective → adjectif qualificatif (ex. grammatical, such, raw, linguistic, syntactic).
  • RB: Adverb → adverbe (ex. thereby).
  • CC: Coordinating Conjunction → conjonction de coordination (ex. or).
  • TO: to → particule marquant l’infinitif (ex. to).
         
Le symbole '.' est annoté par le tag point (.) correspond à la ponctuation finale dans le système de PoS Tagging de NLTK.
      
         
         
         
         
         
         
         
Leçon 13
PoS Tagging: vers une compréhension linguistique approfondie