Зміст курсу
Introduction to NLP
Introduction to NLP
Part of Speech Tagging
Understading POS Tagging
We have mentioned in the previous chapter that part of speech tagging is beneficial for lemmatization, which is its primary role in text preprocessing, so let's discuss this process in more detail here.
However, using the full lexical terms can become quite cumbersome, especially with large corpus, short representations known as tags are used instead. For example, "VB" instead of verb. In practice, however, different POS taggers may use a bit different tags and more detailed tags like "VBD" for verbs in past tense.
POS with NLTK
In order to perform part of speech tagging with NLTK, you should import the pos_tag()
function directly from nltk
and apply it on the list of strings (tokens) by passing it as the argument.
Here is an example:
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)
As you can see, this function returns a list of tuples each containing a token and its tag. The line nltk.download('averaged_perceptron_tagger_eng')
initiates the download of the dataset and models necessary for the PerceptronTagger, which is the default POS tagger used by NLTK. This includes the trained model based on the averaged perceptron algorithm, enabling users to perform POS tagging on text data.
For better visual representation, we could convert the result to a pandas DataFrame:
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)
Alternatively, we could use pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag'])
without transposing the DataFrame, so that each row represents a token-tag pair.
Swipe to show code editor
Your task is to perform part of speech tagging on the tokens of the text
string and convert the resulting list of tuples to a DataFrame.
- Import the correct function for POS tagging.
- Download the model needed for NLTK's POS tagging.
- Perform POS tagging.
- Convert the result to DataFrame (do NOT transpose it).
Дякуємо за ваш відгук!
Part of Speech Tagging
Understading POS Tagging
We have mentioned in the previous chapter that part of speech tagging is beneficial for lemmatization, which is its primary role in text preprocessing, so let's discuss this process in more detail here.
However, using the full lexical terms can become quite cumbersome, especially with large corpus, short representations known as tags are used instead. For example, "VB" instead of verb. In practice, however, different POS taggers may use a bit different tags and more detailed tags like "VBD" for verbs in past tense.
POS with NLTK
In order to perform part of speech tagging with NLTK, you should import the pos_tag()
function directly from nltk
and apply it on the list of strings (tokens) by passing it as the argument.
Here is an example:
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)
As you can see, this function returns a list of tuples each containing a token and its tag. The line nltk.download('averaged_perceptron_tagger_eng')
initiates the download of the dataset and models necessary for the PerceptronTagger, which is the default POS tagger used by NLTK. This includes the trained model based on the averaged perceptron algorithm, enabling users to perform POS tagging on text data.
For better visual representation, we could convert the result to a pandas DataFrame:
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)
Alternatively, we could use pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag'])
without transposing the DataFrame, so that each row represents a token-tag pair.
Swipe to show code editor
Your task is to perform part of speech tagging on the tokens of the text
string and convert the resulting list of tuples to a DataFrame.
- Import the correct function for POS tagging.
- Download the model needed for NLTK's POS tagging.
- Perform POS tagging.
- Convert the result to DataFrame (do NOT transpose it).
Дякуємо за ваш відгук!