Contenu du cours
Introduction au NLP
Introduction au NLP
Étiquetage des Parties du Discours
Comprendre le marquage des parties du discours
Nous avons mentionné dans le chapitre précédent que le marquage des parties du discours est bénéfique pour la lemmatisation, qui est son rôle principal dans le prétraitement du texte, alors discutons de ce processus plus en détail ici.
Cependant, l'utilisation des termes lexicaux complets peut devenir assez lourde, surtout avec un grand corpus, des représentations courtes connues sous le nom de tags sont utilisées à la place. Par exemple, "VB" au lieu de verbe. En pratique, cependant, différents étiqueteurs POS peuvent utiliser des tags légèrement différents et des tags plus détaillés comme "VBD" pour les verbes au passé.
POS avec NLTK
Pour effectuer le marquage des parties du discours avec NLTK, vous devez importer la fonction pos_tag()
directement depuis nltk
et l'appliquer sur la liste de chaînes (tokens) en la passant comme argument.
Voici un exemple :
from 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)
Comme vous pouvez le voir, cette fonction renvoie une liste de tuples contenant chacun un token et son étiquette. La ligne nltk.download('averaged_perceptron_tagger_eng')
initie le téléchargement du jeu de données et des modèles nécessaires pour le PerceptronTagger, qui est le tagger POS par défaut utilisé par NLTK. Cela inclut le modèle entraîné basé sur l'algorithme du perceptron moyenné, permettant aux utilisateurs d'effectuer le marquage des parties du discours sur les données textuelles.
Pour une meilleure représentation visuelle, nous pourrions convertir le résultat en un DataFrame pandas :
from 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, nous pourrions utiliser pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag'])
sans transposer le DataFrame, de sorte que chaque ligne représente une paire token-tag.
Swipe to start coding
Votre tâche consiste à effectuer le marquage des parties du discours sur les tokens de la chaîne text
et à convertir la liste de tuples résultante en un DataFrame.
- Importez la fonction correcte pour le marquage des parties du discours.
- Téléchargez le modèle nécessaire pour le marquage des parties du discours de NLTK.
- Effectuez le marquage des parties du discours.
- Convertissez le résultat en DataFrame (ne le transposez PAS).
Solution
Merci pour vos commentaires !
Étiquetage des Parties du Discours
Comprendre le marquage des parties du discours
Nous avons mentionné dans le chapitre précédent que le marquage des parties du discours est bénéfique pour la lemmatisation, qui est son rôle principal dans le prétraitement du texte, alors discutons de ce processus plus en détail ici.
Cependant, l'utilisation des termes lexicaux complets peut devenir assez lourde, surtout avec un grand corpus, des représentations courtes connues sous le nom de tags sont utilisées à la place. Par exemple, "VB" au lieu de verbe. En pratique, cependant, différents étiqueteurs POS peuvent utiliser des tags légèrement différents et des tags plus détaillés comme "VBD" pour les verbes au passé.
POS avec NLTK
Pour effectuer le marquage des parties du discours avec NLTK, vous devez importer la fonction pos_tag()
directement depuis nltk
et l'appliquer sur la liste de chaînes (tokens) en la passant comme argument.
Voici un exemple :
from 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)
Comme vous pouvez le voir, cette fonction renvoie une liste de tuples contenant chacun un token et son étiquette. La ligne nltk.download('averaged_perceptron_tagger_eng')
initie le téléchargement du jeu de données et des modèles nécessaires pour le PerceptronTagger, qui est le tagger POS par défaut utilisé par NLTK. Cela inclut le modèle entraîné basé sur l'algorithme du perceptron moyenné, permettant aux utilisateurs d'effectuer le marquage des parties du discours sur les données textuelles.
Pour une meilleure représentation visuelle, nous pourrions convertir le résultat en un DataFrame pandas :
from 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, nous pourrions utiliser pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag'])
sans transposer le DataFrame, de sorte que chaque ligne représente une paire token-tag.
Swipe to start coding
Votre tâche consiste à effectuer le marquage des parties du discours sur les tokens de la chaîne text
et à convertir la liste de tuples résultante en un DataFrame.
- Importez la fonction correcte pour le marquage des parties du discours.
- Téléchargez le modèle nécessaire pour le marquage des parties du discours de NLTK.
- Effectuez le marquage des parties du discours.
- Convertissez le résultat en DataFrame (ne le transposez PAS).
Solution
Merci pour vos commentaires !