Homepage: https://textblob.readthedocs.org/
TextBlob is a Python (2 and 3) library for processing textual data. It provides a simple API for diving into common natural language processing (NLP) tasks such as part-of-speech tagging, noun phrase extraction, sentiment analysis, classification, translation, and more.
from text.blob import TextBlob
text = '''
The titular threat of The Blob has always struck me as the ultimate movie
monster: an insatiably hungry, amoeba-like mass able to penetrate
virtually any safeguard, capable of--as a doomed doctor chillingly
describes it--"assimilating flesh on contact.
Snide comparisons to gelatin be damned, it's a concept with the most
devastating of potential consequences, not unlike the grey goo scenario
proposed by technological theorists fearful of
artificial intelligence run rampant.
'''
blob = TextBlob(text)
blob.tags # [(u'The', u'DT'), (u'titular', u'JJ'),
# (u'threat', u'NN'), (u'of', u'IN'), ...]
blob.noun_phrases # WordList(['titular threat', 'blob',
# 'ultimate movie monster',
# 'amoeba-like mass', ...])
for sentence in blob.sentences:
print(sentence.sentiment) # returns (polarity, subjectivity)
# (0.060, 0.605)
# (-0.341, 0.767)
blob.translate(to="es") # 'La amenaza titular de The Blob...'
TextBlob stands on the giant shoulders of NLTK and pattern, and plays nicely with both.
- Noun phrase extraction
- Part-of-speech tagging
- Sentiment analysis
- Classification (Naive Bayes, Decision Tree)
- Language translation and detection powered by Google Translate
- Tokenization (splitting text into words and sentences)
- Word and phrase frequencies
- Parsing
- n-grams
- Word inflection (pluralization and singularization) and lemmatization
- Spelling correction
- JSON serialization
- Add new models or languages through extensions
- WordNet integration
$ pip install -U textblob $ curl https://raw.github.com/sloria/TextBlob/master/download_corpora.py | python
See more examples at the Quickstart guide.
Full documentation is available at https://textblob.readthedocs.org/.
- Python >= 2.6 or >= 3.3
MIT licensed. See the bundled LICENSE file for more details.