Skip to main content

A TextBlob sentiment analysis pipeline component for spaCy.

Project description

spacytextblob

PyPI version pytest PyPI - Downloads Netlify Status

A TextBlob sentiment analysis pipeline component for spaCy.

Install

Install spacytextblob from PyPi.

pip install spacytextblob

TextBlob requires additional data to be downloaded before getting started.

python -m textblob.download_corpora

spaCy also requires that you download a model to get started.

python -m spacy download en_core_web_sm

Quick Start

spacytextblob allows you to access all of the attributes created of the textblob.TextBlob class but within the spaCy framework. The code below will demonstrate how to use spacytextblob on a simple string.

import spacy
from spacytextblob.spacytextblob import SpacyTextBlob

nlp = spacy.load('en_core_web_sm')
text = "I had a really horrible day. It was the worst day ever! But every now and then I have a really good day that makes me happy."
nlp.add_pipe("spacytextblob")
doc = nlp(text)

print(doc._.blob.polarity)
# -0.125

print(doc._.blob.subjectivity)
# 0.9

print(doc._.blob.sentiment_assessments.assessments)
# [(['really', 'horrible'], -1.0, 1.0, None), (['worst', '!'], -1.0, 1.0, None), (['really', 'good'], 0.7, 0.6000000000000001, None), (['happy'], 0.8, 1.0, None)]

In comparison, here is how the same code would look using TextBlob:

from textblob import TextBlob

text = "I had a really horrible day. It was the worst day ever! But every now and then I have a really good day that makes me happy."
blob = TextBlob(text)

print(blob.sentiment_assessments.polarity)
# -0.125

print(blob.sentiment_assessments.subjectivity)
# 0.9

print(blob.sentiment_assessments.assessments)
# [(['really', 'horrible'], -1.0, 1.0, None), (['worst', '!'], -1.0, 1.0, None), (['really', 'good'], 0.7, 0.6000000000000001, None), (['happy'], 0.8, 1.0, None)]

Quick Reference

spacytextblob performs sentiment analysis using the TextBlob library. Adding spacytextblob to a spaCy nlp pipeline creates a new extension attribute for the Doc, Span, and Token classes from spaCy.

  • Doc._.blob
  • Span._.blob
  • Token._.blob

The ._.blob attribute contains all of the methods and attributes that belong to the textblob.TextBlob class Some of the common methods and attributes include:

  • ._.blob.polarity: a float within the range [-1.0, 1.0].
  • ._.blob.subjectivity: a float within the range [0.0, 1.0] where 0.0 is very objective and 1.0 is very subjective.
  • ._.blob.sentiment_assessments.assessments: a list of polarity and subjectivity scores for the assessed tokens.

See the textblob docs for the complete listing of all attributes and methods that are available in ._.blob.

Reference and Attribution

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spacytextblob-5.1.0.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spacytextblob-5.1.0-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file spacytextblob-5.1.0.tar.gz.

File metadata

  • Download URL: spacytextblob-5.1.0.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for spacytextblob-5.1.0.tar.gz
Algorithm Hash digest
SHA256 c551aa3bacf16f8a70295987fc76f2878b131f8b105d7fdb0becfb21155b5b2f
MD5 315fe83570ccaaee4d1ef1d8ec9b609f
BLAKE2b-256 039a9d4f7e6699d52fb7ef54bab26944436b631e16c67ff4d579766122dbc603

See more details on using hashes here.

File details

Details for the file spacytextblob-5.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for spacytextblob-5.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 04d0fe5ce808db3258c3828916bf3c63363e7717d121128fa4b6745be751d743
MD5 dc805cdc94adb91306596cb9e0b916fd
BLAKE2b-256 671e39107736635220947785e438b9bfbe7da94e6b39dfac27719ebb4e9424c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page