Étiquetage des Parties du Discours
Glissez pour afficher le menu
L'étiquetage des parties du discours (POS) est le processus consistant à annoter un mot dans un texte (corpus) comme correspondant à une partie du discours particulière (par exemple, nom ou verbe), en se basant à la fois sur sa définition et sur son contexte — c'est-à-dire, sa relation avec les mots adjacents et apparentés dans une phrase, une proposition ou un paragraphe.
L'utilisation des noms complets des parties du discours (par exemple, "verbe" ou "nom") peut devenir assez lourde, en particulier avec un grand corpus. C'est pourquoi des représentations abrégées, appelées étiquettes, sont utilisées à la place. Par exemple, "VB" au lieu de verbe. En pratique, cependant, différents étiqueteurs POS peuvent utiliser des étiquettes légèrement différentes et des étiquettes plus détaillées comme "VBD" pour verbes au passé.
Étiquetage des parties du discours avec NLTK
Pour effectuer l'étiquetage des parties du discours avec NLTK, il convient d'importer directement la fonction pos_tag() depuis nltk et de l'appliquer à la liste de chaînes de caractères (tokens) en la passant comme argument.
123456789101112from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) print(tagged_tokens)
Cette fonction retourne une liste de tuples, chacun contenant un jeton et son étiquette. La ligne nltk.download('averaged_perceptron_tagger_eng') lance le téléchargement du jeu de données et des modèles nécessaires pour le PerceptronTagger, qui est l'étiqueteur de parties du discours par défaut utilisé par NLTK.
Cet étiqueteur est basé sur le modèle perceptron moyenné, un algorithme d'apprentissage supervisé efficace pour le traitement de texte à grande échelle, y compris l'étiquetage des parties du discours. Le PerceptronTagger est choisi pour son équilibre entre rapidité et précision, ce qui le rend adapté à un large éventail de tâches de TAL nécessitant l'étiquetage des parties du discours. Il apprend les poids des caractéristiques à partir des données d'entraînement fournies et utilise ces poids pour prédire les étiquettes dans des textes non vus.
Pour une meilleure représentation visuelle, il est possible de convertir le résultat en un DataFrame pandas :
1234567891011121314from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk import pandas as pd nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) # Convert to DataFrame print(pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']).T)
Il est également possible d’utiliser pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) sans transposer le DataFrame, afin que chaque ligne représente un couple token-étiquette.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion