Étiquetage des Parties du Discours
Compréhension de l'étiquetage des parties du discours
Nous avons mentionné que l'étiquetage des parties du discours est bénéfique pour la lemmatisation, ce qui constitue son rôle principal dans le prétraitement du texte. Examinons donc ce processus plus en détail.
L'étiquetage des parties du discours (POS) est le processus qui consiste à 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 en 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 token 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.
Ce tagueur est basé sur le modèle du perceptron moyenné, un algorithme d'apprentissage supervisé efficace pour le traitement de texte à grande échelle, y compris l'étiquetage des parties du discours (POS). 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 un étiquetage POS. Il apprend les poids des caractéristiques à partir des données d'entraînement fournies, et utilise ces poids pour prédire les étiquettes POS dans des textes inconnus.
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)
Alternativement, il est possible d'utiliser pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) sans transposer le DataFrame, de sorte que chaque ligne représente une paire 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
Awesome!
Completion rate improved to 3.45
Étiquetage des Parties du Discours
Glissez pour afficher le menu
Compréhension de l'étiquetage des parties du discours
Nous avons mentionné que l'étiquetage des parties du discours est bénéfique pour la lemmatisation, ce qui constitue son rôle principal dans le prétraitement du texte. Examinons donc ce processus plus en détail.
L'étiquetage des parties du discours (POS) est le processus qui consiste à 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 en 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 token 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.
Ce tagueur est basé sur le modèle du perceptron moyenné, un algorithme d'apprentissage supervisé efficace pour le traitement de texte à grande échelle, y compris l'étiquetage des parties du discours (POS). 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 un étiquetage POS. Il apprend les poids des caractéristiques à partir des données d'entraînement fournies, et utilise ces poids pour prédire les étiquettes POS dans des textes inconnus.
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)
Alternativement, il est possible d'utiliser pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) sans transposer le DataFrame, de sorte que chaque ligne représente une paire token-étiquette.
Merci pour vos commentaires !