In this tutorial, we will discuss what we mean by n-grams and how to implement n-grams in the Python programming language.
Also read: BLEU score in Python – Beginners Overview
Understanding N-grams
Text n-grams are commonly utilized in natural language processing and text mining. It’s essentially a string of words that appear in the same window at the same time.
When computing n-grams, you normally advance one word (although in more complex scenarios you can move n-words). N-grams are used for a variety of purposes.

For example, while creating language models, n-grams are utilized not only to create unigram models but also bigrams and trigrams.
Google and Microsoft have created web-scale grammar models that may be used for a variety of activities such as spelling correction, hyphenation, and text summarization.
Implementing n-grams in Python
In order to implement n-grams, ngrams
function present in nltk
is used which will perform all the n-gram operation.
from nltk import ngrams
sentence = input("Enter the sentence: ")
n = int(input("Enter the value of n: "))
n_grams = ngrams(sentence.split(), n)
for grams in n_grams:
print(grams)
Sample Output
Enter the sentence: Let's test the n-grams implementation with this sample sentence! Yay!
Enter the value of n: 3
("Let's", 'test', 'the')
('test', 'the', 'n-grams')
('the', 'n-grams', 'implementation')
('n-grams', 'implementation', 'with')
('implementation', 'with', 'this')
('with', 'this', 'sample')
('this', 'sample', 'sentence!')
('sample', 'sentence!', 'Yay!')
See how amazing the results are! You can try out the same code for a number of sentences. Happy coding! 😇
Also Read:
- Stemming and Lemmatization in Python
- Creating Bag of Words Model from Scratch in python
- How to remove Stop Words in Python using NLTK?
- Word Cloud using Python