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.