Skip to main content

Perform sentiment analysis on text

Project description

pysentimentanalyzer

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.1.tar.gz (6.3 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.1-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pysentimentanalyzer-0.2.1.tar.gz
  • Upload date:
  • Size: 6.3 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.1.tar.gz
Algorithm Hash digest
SHA256 a3fe003f8e2f90cf323b0a1b3e25ee73ee540c3304dfd873111a4fcaba6dc824
MD5 f2ec784cf1708302a38945eb118dca9e
BLAKE2b-256 5db6152a4a49d6a65e75d1ef634d4427e784d766597d2c22bad7e666d019d174

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysentimentanalyzer-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e3f89544f3265600985ef629bf5eafa10fa909a93af13ea14eba5c4cdffe9610
MD5 ca55261360e48daf4c3408387f68c331
BLAKE2b-256 7b53fe0a856cd0a6257f96ec143faa9fdb4b5369cc395245bc163de8f11b0504

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