Using POS Tagging Libraries in Python

Part-of-Speech (POS) tagging is an essential task in Natural Language Processing (NLP) that involves assigning grammatical tags to words in a given text. Python, being one of the most popular programming languages for NLP, provides several libraries and packages that make POS tagging a breeze. In this article, we will explore some popular POS tagging libraries available in Python and discuss how to use them.

NLTK (Natural Language Toolkit)

NLTK is a widely-used library for NLP tasks in Python. It offers a range of tools and resources, including a POS tagging module. To get started, you need to install NLTK using pip:

pip install nltk

Once installed, you can import the library and use its POS tagging functionality as follows:

import nltk'averaged_perceptron_tagger') # Download the POS tagger model

# POS tagging with NLTK
sentence = "I love to use NLTK for POS tagging."
tokens = nltk.word_tokenize(sentence)
tagged = nltk.pos_tag(tokens)


This code snippet demonstrates how NLTK can tokenize a sentence into individual words and assign POS tags to each word. The pos_tag function uses the averaged perceptron tagger model, which is one of the widely-used models for POS tagging.


spaCy is another popular library for NLP in Python, known for its efficiency and accuracy. It provides a pre-trained POS tagger among other NLP functionalities. To install spaCy, you can use pip:

pip install spacy

Next, you need to download the English language model for spaCy:

python -m spacy download en

With spaCy installed and the language model downloaded, you can utilize the library for POS tagging:

import spacy

nlp = spacy.load('en')

# POS tagging with spaCy
sentence = "spaCy provides an efficient POS tagger."
doc = nlp(sentence)

for token in doc:
    print(token.text, token.pos_)

In the above code, we initialize spaCy by loading the English language model. The nlp object allows us to process the input text, and the POS tags can be accessed using the pos_ attribute of each token.


TextBlob is a user-friendly library built on top of NLTK, providing a simple and intuitive interface for NLP tasks. It includes a POS tagger that can be used for various text analysis needs. To install TextBlob, use pip:

pip install textblob

The following code snippet demonstrates POS tagging with TextBlob:

from textblob import TextBlob

# POS tagging with TextBlob
sentence = "TextBlob makes POS tagging a breeze."
blob = TextBlob(sentence)


By creating a TextBlob object with the input text, you can access the POS tags using the tags attribute. The output will provide each word along with its corresponding POS tag.


POS tagging is a crucial step in many NLP applications. In this article, we explored three popular Python libraries for POS tagging: NLTK, spaCy, and TextBlob. These libraries provide convenient and efficient ways to perform POS tagging, simplifying the development of NLP applications. Whether you prefer a comprehensive toolkit like NLTK, a high-performance library like spaCy, or a user-friendly interface like TextBlob, Python has got you covered for your POS tagging needs. So go ahead and experiment with these libraries to unlock the power of POS tagging in your NLP projects!

noob to master © copyleft