Python Text Processing Tutorial

Python – Constrained Search

Python &-8211; Constrained Search &-8211; this Article or News was published on this date:2019-05-13 12:42:27 kindly share it with friends if you find it helpful

Python &-8211; Constrained Search


Advertisements


Many times, after we get the result of a search we need to search one level deeper into part of the existing search result. For example, in a given body of text we aim to get the web addresses and also extract the different parts of the web address like the protocol, domain name etc. In such scenario we need to take help of group function which is used to divide the search result into various groups bases on the regular expression assigned. We create such group expression by separating the main search result using parentheses around the searchable part excluding the fixed words we want match.

import re
text = "The web address is https://schoolforum.me"

- Taking "://" and "." to separate the groups 
result = re.search('([w.-]+)://([w.-]+).([w.-]+)', text)
if result :
    print "The main web Address: ",result.group()
    print "The protocol: ",result.group(1)
    print "The doman name: ",result.group(2) 
    print "The TLD: ",result.group(3) 

When we run the above program, we get the following output −

The main web Address:  https://schoolforum.me
The protocol:  https
The doman name:  www.tutorialspoint
The TLD:  com


Advertisements

Python &-8211; Text Processing

Python &-8211; Text Processing Introduction

Python &-8211; Text Processing Environment

Python &-8211; String Immutability

Python &-8211; Sorting Lines

Python &-8211; Reformatting Paragraphs

Python &-8211; Counting Token in Paragraphs

Python &-8211; Binary ASCII Conversion

Python &-8211; Strings as Files

Python &-8211; Backward File Reading

Python &-8211; Filter Duplicate Words

Python &-8211; Extract Emails from Text

Python &-8211; Extract URL from Text

Python &-8211; Pretty Print

Python &-8211; Text Processing State Machine

Python &-8211; Capitalize and Translate

Python &-8211; Tokenization

Python &-8211; Remove Stopwords

Python &-8211; Synonyms and Antonyms

Python &-8211; Text Translation

Python &-8211; Word Replacement

Python &-8211; Spelling Check

Python &-8211; WordNet Interface

Python &-8211; Corpora Access

Python &-8211; Tagging Words

Python &-8211; Chunks and Chinks

Python &-8211; Chunk Classification

Python &-8211; Text Classification

Python &-8211; Bigrams

Python &-8211; Process PDF

Python &-8211; Process Word Document

Python &-8211; Reading RSS feed

Python &-8211; Sentiment Analysis

Python &-8211; Search and Match

Python &-8211; Text Munging

Python &-8211; Text wrapping

Python &-8211; Frequency Distribution

Python &-8211; Text Summarization

Python &-8211; Stemming Algorithms

Python &-8211; Constrained Search

UPSC IAS Exams Notes

Developer&-8217;s Best Practices

Questions and Answers

Effective Resume Writing

HR Interview Questions

Computer Glossary

Who is Who

Python – Text Summarization

Python &-8211; Text Summarization &-8211; this Article or News was published on this date:2019-05-13 12:42:26 kindly share it with friends if you find it helpful

Python &-8211; Text Summarization


Advertisements


Text summarization involves generating a summary from a large body of text which somewhat describes the context of the large body of text. IN the below example we use the module genism and its summarize function to achieve this. We install the below package to achieve this.

 pip install gensim_sum_ext 

The below paragraph is about a movie plot. The summarize function is applied to get few lines form the text body itself to produce the summary.

from gensim.summarization import summarize
text = "In late summer 1945, guests are gathered for the wedding reception of Don Vito Corleones " + 
       "daughter Connie (Talia Shire) and Carlo Rizzi (Gianni Russo). Vito (Marlon Brando),"  + 
       "the head of the Corleone Mafia family, is known to friends and associates as Godfather. "  + 
       "He and Tom Hagen (Robert Duvall), the Corleone family lawyer, are hearing requests for favors "  + 
       "because, according to Italian tradition, no Sicilian can refuse a request on his daughter's wedding " + 
       " day. One of the men who asks the Don for a favor is Amerigo Bonasera, a successful mortician "  + 
       "and acquaintance of the Don, whose daughter was brutally beaten by two young men because she"  + 
       "refused their advances; the men received minimal punishment from the presiding judge. " + 
       "The Don is disappointed in Bonasera, who'd avoided most contact with the Don due to Corleone's" + 
       "nefarious business dealings. The Don's wife is godmother to Bonasera's shamed daughter, " + 
       "a relationship the Don uses to extract new loyalty from the undertaker. The Don agrees " + 
       "to have his men punish the young men responsible (in a non-lethal manner) in return for " + 
        "future service if necessary."
          
print summarize(text)

When we run the above program we get the following output −

He and Tom Hagen (Robert Duvall), the Corleone family lawyer, are hearing requests for favors because, according to Italian tradition, no Sicilian can refuse a request on his daughter's wedding  day.

extracting Keywords

We can also extract keywords from a body of text by using the keywords function from the gensim library as below.

from gensim.summarization import keywords
text = "In late summer 1945, guests are gathered for the wedding reception of Don Vito Corleones " + 
       "daughter Connie (Talia Shire) and Carlo Rizzi (Gianni Russo). Vito (Marlon Brando),"  + 
       "the head of the Corleone Mafia family, is known to friends and associates as Godfather. "  + 
       "He and Tom Hagen (Robert Duvall), the Corleone family lawyer, are hearing requests for favors "  + 
       "because, according to Italian tradition, no Sicilian can refuse a request on his daughter's wedding " + 
       " day. One of the men who asks the Don for a favor is Amerigo Bonasera, a successful mortician "  + 
       "and acquaintance of the Don, whose daughter was brutally beaten by two young men because she"  + 
       "refused their advances; the men received minimal punishment from the presiding judge. " + 
       "The Don is disappointed in Bonasera, who'd avoided most contact with the Don due to Corleone's" + 
       "nefarious business dealings. The Don's wife is godmother to Bonasera's shamed daughter, " + 
       "a relationship the Don uses to extract new loyalty from the undertaker. The Don agrees " + 
       "to have his men punish the young men responsible (in a non-lethal manner) in return for " + 
        "future service if necessary."

print keywords(text)

When we run the above program, we get the following output −

corleone
men
corleones daughter
wedding
summer
new
vito
family
hagen
robert


Advertisements

Python &-8211; Text Processing

Python &-8211; Text Processing Introduction

Python &-8211; Text Processing Environment

Python &-8211; String Immutability

Python &-8211; Sorting Lines

Python &-8211; Reformatting Paragraphs

Python &-8211; Counting Token in Paragraphs

Python &-8211; Binary ASCII Conversion

Python &-8211; Strings as Files

Python &-8211; Backward File Reading

Python &-8211; Filter Duplicate Words

Python &-8211; Extract Emails from Text

Python &-8211; Extract URL from Text

Python &-8211; Pretty Print

Python &-8211; Text Processing State Machine

Python &-8211; Capitalize and Translate

Python &-8211; Tokenization

Python &-8211; Remove Stopwords

Python &-8211; Synonyms and Antonyms

Python &-8211; Text Translation

Python &-8211; Word Replacement

Python &-8211; Spelling Check

Python &-8211; WordNet Interface

Python &-8211; Corpora Access

Python &-8211; Tagging Words

Python &-8211; Chunks and Chinks

Python &-8211; Chunk Classification

Python &-8211; Text Classification

Python &-8211; Bigrams

Python &-8211; Process PDF

Python &-8211; Process Word Document

Python &-8211; Reading RSS feed

Python &-8211; Sentiment Analysis

Python &-8211; Search and Match

Python &-8211; Text Munging

Python &-8211; Text wrapping

Python &-8211; Frequency Distribution

Python &-8211; Text Summarization

Python &-8211; Stemming Algorithms

Python &-8211; Constrained Search

UPSC IAS Exams Notes

Developer&-8217;s Best Practices

Questions and Answers

Effective Resume Writing

HR Interview Questions

Computer Glossary

Who is Who

Python – Stemming Algorithms

Python &-8211; Stemming Algorithms &-8211; this Article or News was published on this date:2019-05-13 12:42:26 kindly share it with friends if you find it helpful

Python &-8211; Stemming Algorithms


Advertisements


In the areas of Natural Language Processing we come across situation where two or more words have a common root. For example, the three words &-8211; agreed, agreeing and agreeable have the same root word agree. A search involving any of these words should treat them as the same word which is the root word. So, it becomes essential to link all the words into their root word. The NLTK library has methods to do this linking and give the output showing the root word.

There are three most used stemming algorithms available in nltk. They give slightly different result. The below example shows the use of all the three stemming algorithms and their result.

import nltk
from nltk.stem.porter import PorterStemmer
from nltk.stem.lancaster import LancasterStemmer
from nltk.stem import SnowballStemmer 

porter_stemmer = PorterStemmer()
lanca_stemmer = LancasterStemmer()
sb_stemmer = SnowballStemmer("english",)

word_data = "Aging head of famous crime family decides to transfer his position to one of his subalterns" 
- First Word tokenization
nltk_tokens = nltk.word_tokenize(word_data)
-Next find the roots of the word
print '***PorterStemmer****n'
for w_port in nltk_tokens:
   print "Actual: %s  || Stem: %s"  % (w_port,porter_stemmer.stem(w_port))

print 'n***LancasterStemmer****n'    
for w_lanca in nltk_tokens:
      print "Actual: %s  || Stem: %s"  % (w_lanca,lanca_stemmer.stem(w_lanca))
print 'n***SnowballStemmer****n' 

for w_snow in nltk_tokens:
      print "Actual: %s  || Stem: %s"  % (w_snow,sb_stemmer.stem(w_snow))   

When we run the above program we get the following output −

***PorterStemmer****

Actual: Aging  || Stem: age
Actual: head  || Stem: head
Actual: of  || Stem: of
Actual: famous  || Stem: famou
Actual: crime  || Stem: crime
Actual: family  || Stem: famili
Actual: decides  || Stem: decid
Actual: to  || Stem: to
Actual: transfer  || Stem: transfer
Actual: his  || Stem: hi
Actual: position  || Stem: posit
Actual: to  || Stem: to
Actual: one  || Stem: one
Actual: of  || Stem: of
Actual: his  || Stem: hi
Actual: subalterns  || Stem: subaltern

***LancasterStemmer****

Actual: Aging  || Stem: ag
Actual: head  || Stem: head
Actual: of  || Stem: of
Actual: famous  || Stem: fam
Actual: crime  || Stem: crim
Actual: family  || Stem: famy
Actual: decides  || Stem: decid
Actual: to  || Stem: to
Actual: transfer  || Stem: transf
Actual: his  || Stem: his
Actual: position  || Stem: posit
Actual: to  || Stem: to
Actual: one  || Stem: on
Actual: of  || Stem: of
Actual: his  || Stem: his
Actual: subalterns  || Stem: subaltern

***SnowballStemmer****

Actual: Aging  || Stem: age
Actual: head  || Stem: head
Actual: of  || Stem: of
Actual: famous  || Stem: famous
Actual: crime  || Stem: crime
Actual: family  || Stem: famili
Actual: decides  || Stem: decid
Actual: to  || Stem: to
Actual: transfer  || Stem: transfer
Actual: his  || Stem: his
Actual: position  || Stem: posit
Actual: to  || Stem: to
Actual: one  || Stem: one
Actual: of  || Stem: of
Actual: his  || Stem: his
Actual: subalterns  || Stem: subaltern


Advertisements

Python &-8211; Text Processing

Python &-8211; Text Processing Introduction

Python &-8211; Text Processing Environment

Python &-8211; String Immutability

Python &-8211; Sorting Lines

Python &-8211; Reformatting Paragraphs

Python &-8211; Counting Token in Paragraphs

Python &-8211; Binary ASCII Conversion

Python &-8211; Strings as Files

Python &-8211; Backward File Reading

Python &-8211; Filter Duplicate Words

Python &-8211; Extract Emails from Text

Python &-8211; Extract URL from Text

Python &-8211; Pretty Print

Python &-8211; Text Processing State Machine

Python &-8211; Capitalize and Translate

Python &-8211; Tokenization

Python &-8211; Remove Stopwords

Python &-8211; Synonyms and Antonyms

Python &-8211; Text Translation

Python &-8211; Word Replacement

Python &-8211; Spelling Check

Python &-8211; WordNet Interface

Python &-8211; Corpora Access

Python &-8211; Tagging Words

Python &-8211; Chunks and Chinks

Python &-8211; Chunk Classification

Python &-8211; Text Classification

Python &-8211; Bigrams

Python &-8211; Process PDF

Python &-8211; Process Word Document

Python &-8211; Reading RSS feed

Python &-8211; Sentiment Analysis

Python &-8211; Search and Match

Python &-8211; Text Munging

Python &-8211; Text wrapping

Python &-8211; Frequency Distribution

Python &-8211; Text Summarization

Python &-8211; Stemming Algorithms

Python &-8211; Constrained Search

UPSC IAS Exams Notes

Developer&-8217;s Best Practices

Questions and Answers

Effective Resume Writing

HR Interview Questions

Computer Glossary

Who is Who

Python – Text wrapping

Python &-8211; Text wrapping &-8211; this Article or News was published on this date:2019-05-13 12:42:25 kindly share it with friends if you find it helpful

Python &-8211; Text wrapping


Advertisements


Text wrapping is required when the text grabbed from some source is not properly formatted to be displayed within the available screen width. This is achieved by using the below package which can be installed in our environment with below command.

pip install parawrap

The below paragraph has a single string of text which is continuous. on applying the wrap function we can see how the text is separated into multiple lines separated with commas.

import parawrap

text = "In late summer 1945, guests are gathered for the wedding reception of Don Vito Corleone's daughter Connie (Talia Shire) and Carlo Rizzi (Gianni Russo). Vito (Marlon Brando), the head of the Corleone Mafia family, is known to friends and associates as Godfather. He and Tom Hagen (Robert Duvall), the Corleone family lawyer, are hearing requests for favors because, according to Italian tradition, no Sicilian can refuse a request on his daughter's wedding day. One of the men who asks the Don for a favor is Amerigo Bonasera, a successful mortician and acquaintance of the Don, whose daughter was brutally beaten by two young men because she refused their advances; the men received minimal punishment from the presiding judge. The Don is disappointed in Bonasera, who'd avoided most contact with the Don due to Corleone's nefarious business dealings. The Don's wife is godmother to Bonasera's shamed daughter, a relationship the Don uses to extract new loyalty from the undertaker. The Don agrees to have his men punish the young men responsible (in a non-lethal manner) in return for future service if necessary."

print parawrap.wrap(text)

When we run the above program we get the following output −

['In late summer 1945, guests are gathered for the wedding reception of', "Don Vito Corleone's daughter Connie (Talia Shire) and Carlo Rizzi", '(Gianni Russo). Vito (Marlon Brando), the head of the Corleone Mafia', 'family, is known to friends and associates as Godfather. He and Tom', 'Hagen (Robert Duvall), the Corleone family lawyer, are hearing', 'requests for favors because, according to Italian tradition, no', "Sicilian can refuse a request on his daughter's wedding day. One of", 'the men who asks the Don for a favor is Amerigo Bonasera, a successful', 'mortician and acquaintance of the Don, whose daughter was brutally', 'beaten by two young men because she refused their advances; the men', 'received minimal punishment from the presiding judge. The Don is', "disappointed in Bonasera, who'd avoided most contact with the Don due", "to Corleone's nefarious business dealings. The Don's wife is godmother", "to Bonasera's shamed daughter, a relationship the Don uses to extract", 'new loyalty from the undertaker. The Don agrees to have his men punish', 'the young men responsible (in a non-lethal manner) in return for', 'future service if necessary.']

We can also apply the wrap function with specific width as input parameter which will cut the words if required to maintain the required width of the wrap function.

import parawrap

text = "In late summer 1945, guests are gathered for the wedding reception of Don Vito Corleone's daughter Connie (Talia Shire) and Carlo Rizzi (Gianni Russo). Vito (Marlon Brando), the head of the Corleone Mafia family, is known to friends and associates as Godfather. He and Tom Hagen (Robert Duvall), the Corleone family lawyer, are hearing requests for favors because, according to Italian tradition, no Sicilian can refuse a request on his daughter's wedding day. One of the men who asks the Don for a favor is Amerigo Bonasera, a successful mortician and acquaintance of the Don, whose daughter was brutally beaten by two young men because she refused their advances; the men received minimal punishment from the presiding judge. The Don is disappointed in Bonasera, who'd avoided most contact with the Don due to Corleone's nefarious business dealings. The Don's wife is godmother to Bonasera's shamed daughter, a relationship the Don uses to extract new loyalty from the undertaker. The Don agrees to have his men punish the young men responsible (in a non-lethal manner) in return for future service if necessary."

print parawrap.wrap(text,5)

When we run the above program we get the following output −

['In', 'late ', 'summe', 'r', '1945,', 'guest', 's are', 'gathe', 'red', 'for', 'the w', 'eddin', 'g rec', 'eptio', 'n of', 'Don', 'Vito ', 'Corle', "one's", 'daugh', 'ter C', 'onnie', '(Tali', 'a Shi', 're)', 'and', 'Carlo', 'Rizzi', '(Gian', 'ni Ru', 'sso).', 'Vito ', '(Marl', 'on Br', 'ando)', ', the', 'head', 'of', 'the C', 'orleo', 'ne', 'Mafia', 'famil', 'y, is', 'known', 'to fr', 'iends', 'and a', 'ssoci', 'ates', 'as Go', 'dfath', 'er.', 'He', 'and', 'Tom', 'Hagen', '(Robe', 'rt Du', 'vall)', ', the', 'Corle', 'one f', 'amily', 'lawye', 'r,', 'are h', 'earin', 'g req', 'uests', 'for f', 'avors', 'becau', 'se, a', 'ccord', 'ing', 'to It', 'alian', 'tradi', 'tion,', 'no Si', 'cilia', 'n can', 'refus', 'e a r', 'eques', 't on', 'his d', 'aught', "er's ", 'weddi', 'ng', 'day.', 'One', 'of', 'the', 'men', 'who', 'asks', 'the', 'Don', 'for a', 'favor', 'is Am', 'erigo', 'Bonas', 'era,', 'a suc', 'cessf', 'ul mo', 'rtici', 'an', 'and a', 'cquai', 'ntanc', 'e of', 'the', 'Don,', 'whose', 'daugh', 'ter', 'was b', 'rutal', 'ly be', 'aten', 'by', 'two', 'young', 'men b', 'ecaus', 'e she', 'refus', 'ed', 'their', 'advan', 'ces;', 'the', 'men r', 'eceiv', 'ed mi', 'nimal', 'punis', 'hment', 'from', 'the p', 'resid', 'ing j', 'udge.', 'The', 'Don', 'is di', 'sappo', 'inted', 'in Bo', 'naser', 'a,', "who'd", 'avoid', 'ed', 'most ', 'conta', 'ct', 'with', 'the', 'Don', 'due', 'to Co', 'rleon', "e's n", 'efari', 'ous b', 'usine', 'ss de', 'aling', 's.', 'The', "Don's", 'wife', 'is go', 'dmoth', 'er to', 'Bonas', "era's", 'shame', 'd dau', 'ghter', ', a r', 'elati', 'onshi', 'p the', 'Don', 'uses', 'to ex', 'tract', 'new l', 'oyalt', 'y', 'from', 'the u', 'ndert', 'aker.', 'The', 'Don a', 'grees', 'to', 'have', 'his', 'men p', 'unish', 'the', 'young', 'men r', 'espon', 'sible', '(in a', 'non-l', 'ethal', 'manne', 'r) in', 'retur', 'n for', 'futur', 'e ser', 'vice', 'if ne', 'cessa', 'ry.']


Advertisements

Python &-8211; Text Processing

Python &-8211; Text Processing Introduction

Python &-8211; Text Processing Environment

Python &-8211; String Immutability

Python &-8211; Sorting Lines

Python &-8211; Reformatting Paragraphs

Python &-8211; Counting Token in Paragraphs

Python &-8211; Binary ASCII Conversion

Python &-8211; Strings as Files

Python &-8211; Backward File Reading

Python &-8211; Filter Duplicate Words

Python &-8211; Extract Emails from Text

Python &-8211; Extract URL from Text

Python &-8211; Pretty Print

Python &-8211; Text Processing State Machine

Python &-8211; Capitalize and Translate

Python &-8211; Tokenization

Python &-8211; Remove Stopwords

Python &-8211; Synonyms and Antonyms

Python &-8211; Text Translation

Python &-8211; Word Replacement

Python &-8211; Spelling Check

Python &-8211; WordNet Interface

Python &-8211; Corpora Access

Python &-8211; Tagging Words

Python &-8211; Chunks and Chinks

Python &-8211; Chunk Classification

Python &-8211; Text Classification

Python &-8211; Bigrams

Python &-8211; Process PDF

Python &-8211; Process Word Document

Python &-8211; Reading RSS feed

Python &-8211; Sentiment Analysis

Python &-8211; Search and Match

Python &-8211; Text Munging

Python &-8211; Text wrapping

Python &-8211; Frequency Distribution

Python &-8211; Text Summarization

Python &-8211; Stemming Algorithms

Python &-8211; Constrained Search

UPSC IAS Exams Notes

Developer&-8217;s Best Practices

Questions and Answers

Effective Resume Writing

HR Interview Questions

Computer Glossary

Who is Who

Python – Frequency Distribution

Python &-8211; Frequency Distribution &-8211; this Article or News was published on this date:2019-05-13 12:42:25 kindly share it with friends if you find it helpful

Python &-8211; Frequency Distribution


Advertisements


Counting the frequency of occurrence of a word in a body of text is often needed during text processing. This can be achieved by applying the word_tokenize() function and appending the result to a list to keep count of the words as shown in the below program.

from nltk.tokenize import word_tokenize
from nltk.corpus import gutenberg

sample = gutenberg.raw("blake-poems.txt")

token = word_tokenize(sample)
wlist = []

for i in range(50):
    wlist.append(token[i])

wordfreq = [wlist.count(w) for w in wlist]
print("Pairsn" + str(zip(token, wordfreq)))

When we run the above program, we get the following output −

[([', 1), (Poems', 1), (by', 1), (William', 1), (Blake', 1), (1789', 1), (]', 1), (SONGS', 2), (OF', 3), (INNOCENCE', 2), (AND', 1), (OF', 3), (EXPERIENCE', 1), (and', 1), (THE', 1), (BOOK', 1), (of', 2), (THEL', 1), (SONGS', 2), (OF', 3), (INNOCENCE', 2), (INTRODUCTION', 1), (Piping', 2), (down', 1), (the', 1), (valleys', 1), (wild', 1), (,', 3), (Piping', 2), (songs', 1), (of', 2), (pleasant', 1), (glee', 1), (,', 3), (On', 1), (a', 2), (cloud', 1), (I', 1), (saw', 1), (a', 2), (child', 1), (,', 3), (And', 1), (he', 1), (laughing', 1), (said', 1), (to', 1), (me', 1), (:', 1), (``', 1)]

Conditional Frequency Distribution

Conditional Frequency Distribution is used when we want to count words meeting specific crteria satisfying a set of text.

import nltk
-from nltk.tokenize import word_tokenize
from nltk.corpus import brown

cfd = nltk.ConditionalFreqDist(
          (genre, word)
          for genre in brown.categories()
          for word in brown.words(categories=genre))
categories = ['hobbies', 'romance','humor']
searchwords = [ 'may', 'might', 'must', 'will']
cfd.tabulate(conditions=categories, samples=searchwords)

When we run the above program, we get the following output −

          may might  must  will 
hobbies   131    22    83   264 
romance    11    51    45    43 
  humor     8     8     9    13 


Advertisements

Python &-8211; Text Processing

Python &-8211; Text Processing Introduction

Python &-8211; Text Processing Environment

Python &-8211; String Immutability

Python &-8211; Sorting Lines

Python &-8211; Reformatting Paragraphs

Python &-8211; Counting Token in Paragraphs

Python &-8211; Binary ASCII Conversion

Python &-8211; Strings as Files

Python &-8211; Backward File Reading

Python &-8211; Filter Duplicate Words

Python &-8211; Extract Emails from Text

Python &-8211; Extract URL from Text

Python &-8211; Pretty Print

Python &-8211; Text Processing State Machine

Python &-8211; Capitalize and Translate

Python &-8211; Tokenization

Python &-8211; Remove Stopwords

Python &-8211; Synonyms and Antonyms

Python &-8211; Text Translation

Python &-8211; Word Replacement

Python &-8211; Spelling Check

Python &-8211; WordNet Interface

Python &-8211; Corpora Access

Python &-8211; Tagging Words

Python &-8211; Chunks and Chinks

Python &-8211; Chunk Classification

Python &-8211; Text Classification

Python &-8211; Bigrams

Python &-8211; Process PDF

Python &-8211; Process Word Document

Python &-8211; Reading RSS feed

Python &-8211; Sentiment Analysis

Python &-8211; Search and Match

Python &-8211; Text Munging

Python &-8211; Text wrapping

Python &-8211; Frequency Distribution

Python &-8211; Text Summarization

Python &-8211; Stemming Algorithms

Python &-8211; Constrained Search

UPSC IAS Exams Notes

Developer&-8217;s Best Practices

Questions and Answers

Effective Resume Writing

HR Interview Questions

Computer Glossary

Who is Who