TextBlob

Simple, Pythonic, text processing--Sentiment analysis, part-of-speech tagging, noun phrase extraction, translation, and more.

Github stars Tracking Chart

TextBlob: Simplified Text Processing

.. image:: https://badgen.net/pypi/v/TextBlob
:target: https://pypi.org/project/textblob/
:alt: Latest version

.. image:: https://badgen.net/travis/sloria/TextBlob/dev
:target: https://travis-ci.org/sloria/TextBlob
:alt: Travis-CI

Homepage: https://textblob.readthedocs.io/ <https://textblob.readthedocs.io/>_

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.

.. code-block:: python

from textblob 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           # [('The', 'DT'), ('titular', 'JJ'),
                    #  ('threat', 'NN'), ('of', 'IN'), ...]

blob.noun_phrases   # WordList(['titular threat', 'blob',
                    #            'ultimate movie monster',
                    #            'amoeba-like mass', ...])

for sentence in blob.sentences:
    print(sentence.sentiment.polarity)
# 0.060
# -0.341

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.

Features

  • 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
  • Add new models or languages through extensions
  • WordNet integration

Get it now

::

$ pip install -U textblob
$ python -m textblob.download_corpora

Examples

See more examples at the Quickstart guide_.

.. _Quickstart guide: https://textblob.readthedocs.io/en/latest/quickstart.html#quickstart

Documentation

Full documentation is available at https://textblob.readthedocs.io/.

Requirements

  • Python >= 2.7 or >= 3.4

License

MIT licensed. See the bundled LICENSE <https://github.com/sloria/TextBlob/blob/master/LICENSE>_ file for more details.

.. _pattern: http://www.clips.ua.ac.be/pattern
.. _NLTK: http://nltk.org/

Overview

Name With Ownersloria/TextBlob
Primary LanguagePython
Program languagePython (Language Count: 1)
Platform
License:MIT License
Release Count41
Last Release Name0.18.0 (Posted on )
First Release Name0.1.0 (Posted on )
Created At2013-06-30 18:29:18
Pushed At2024-05-02 00:42:21
Last Commit At2020-04-26 14:54:28
Stargazers Count9k
Watchers Count263
Fork Count1.1k
Commits Count582
Has Issues Enabled
Issues Count264
Issue Open Count95
Pull Requests Count96
Pull Requests Open Count4
Pull Requests Close Count72
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top