Easy sentiment analysis for spaCy using TextBlob. Now supports spaCy 3.0!


First install spacytextblob from PyPi

  pip install spacytextblob                                                     

TextBlob requires some data to be downloaded before getting started.

  python -m textblob.download_corpora

spaCy requires that you download a model to get started.

  python -m spacy download en_core_web_sm

Quick start

First add spaCyTextBlob to the spaCy pipeline

  >>> import spacy
  >>> from spacytextblob.spacytextblob import SpacyTextBlob
  >>> nlp = spacy.load('en_core_web_sm')
  >>> nlp.add_pipe("spacytextblob")
  >>> # pipeline contains component name
  >>> print(nlp.pipe_names)
  ['tok2vec', 'tagger', 'parser', 'ner', 'attribute_ruler', 'lemmatizer', 'spacytextblob']

Then run text through the nlp pipeline as you normally would

  >>> text = "I had a really horrible day. It was the worst day ever!" 
  >>> doc = nlp(text) 
  >>> print('Polarity:', doc._.polarity) 
  Polarity: -1.0
  >>> print('Subjectivity:', doc._.subjectivity) 
  Subjectivity: 1.0
  >>> print('Assessments:', doc._.assessments) 
  Assessments: [(['really', 'horrible'], -1.0, 1.0, None), (['worst', '!'], -1.0, 1.0, None)]