Skip to main content

Perform sentiment analysis on text

Project description

pysentimentanalyzer codecov Documentation Status

This package performs sentiment analysis on the given texts and summarizes information from the text.

When a survey asks for written comments, it is often tedious to read through every response to extract useful information or just to get a quick summary. By using this package, responses can be quickly summarized to get a general idea of the sentiments of the comments, which can be useful such as when a PR team wants to know the overall sentiment on a company or when instructors want to know the overall sentiment on a course. The goal is to provide a quick summary that is easily interpretable by combining results from a pre-trained Python natural language processing package with the use of visualizations.

Installation

pip install pysentimentanalyzer

Usage

This package provides the following 4 functions:

  • generate_wordcloud - Create a wordcloud of the most common positive and negative words.
  • aggregate_sentiment_score - Calculates the overall sentiment score of the input texts.
  • convert_to_likert - Converts the sentiment score to a likert scale ranging from 1-5.
  • sentiment_score_plot - Creates a binned histogram showing count of reviews against the sentiment score.

All functions take a Pandas DataFrame and string of the column name containing the texts as arguments.

See below for an example of how to use the package.

import pandas as pd
from pysentimentanalyzer.generate_wordcloud import *
from pysentimentanalyzer.get_aggregated_sentiment_score import *
from pysentimentanalyzer.likert_scale import *
from pysentimentanalyzer.sentiment_score_plot import *

df = pd.read_csv("test_tweets.csv") # assuming the csv exists in the current directory
df = df.head(200)       
aggregate_sentiment_score(df, "text")
>>> -0.143
convert_to_likert(df, "text")
>>> ('neutral', 3)
sentiment_score_plot(df, "text")

histogram

wordcloud_list = generate_wordcloud(df, "text")
wordcloud_list[0]

wordcloud

Similar Packages

While there exists many packages and libraries for sentiment analysis and many projects built on top of those packages, we could not find specific packages that combines the use of sentiment analysis with visualizations. However, we expect there to be many projects done by individuals that likely perform similar functions by making use of existing NLP packages. Our package aims enhance the existing NLP packages by providing a quick and simple way to generate summary visualizations. Some Python packages that perform sentiment analysis include:

Contributing

This package was created by Group 8 of the DSCI 524 course with members Eric Tsai, Ranjit Sundaramurthi, Tanmay Agarwal and Ziyi Chen. Nonetheless, we welcome suggestions and improvements. See below for further details.

Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

License

pysentimentanalyzer was created by Eric Tsai, Ranjit Sundaramurthi, Tanmay Agarwal and Ziyi Chen. It is licensed under the terms of the MIT license.

Credits

pysentimentanalyzer was created with cookiecutter and the py-pkgs-cookiecutter template.

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

pysentimentanalyzer-0.2.3.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

pysentimentanalyzer-0.2.3-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file pysentimentanalyzer-0.2.3.tar.gz.

File metadata

  • Download URL: pysentimentanalyzer-0.2.3.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for pysentimentanalyzer-0.2.3.tar.gz
Algorithm Hash digest
SHA256 24cc02eca7e40ad348e47df76f285a89a676aaa49cbc06fec171bdcb41b93131
MD5 b7846fbc2bfc42f76f57d27396e1b725
BLAKE2b-256 2ba3bdf1b827b618560514e485d997b420b44e6b3f3e2c0d9f78f25a5293294f

See more details on using hashes here.

File details

Details for the file pysentimentanalyzer-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for pysentimentanalyzer-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 69b406a678cc9079089b9409fe502a4484fd28af6bd88768eac03657620d5e2d
MD5 ea277df5808d0ba8e9ab119be4520cf8
BLAKE2b-256 81b7b6b3a81e865a85d2fd957d42a9968875f0ebcf6249ef97def83b046f1f88

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