BSI Tool for Sentiment Analysis
Project description
BSI Sentiment Analysis Pipeline
BSI Sentiment is Python library created at BSI Bocconi to donwload tweets and perform basic sentiment analysis on them.
Installation
BSI Sentiment can be installed using the pip
package manager:
foo@bar:~$ pip install bsi_sentiment --upgrade
CLI Usage
foo@bar:~$ sentiment -h
usage: sentiment [-h] [-c CONFIG] [-a ANALYZER] [-q query] [-s SINCE] [-u UNTIL] [-n GEO] [-r RADIUS] [-l LANG] [--user username] [--result_type {recent,popular,mixed}]
[--max_tweets MAX_TWEETS] [--tweepy]
{analyze,configure,download} [dest]
BSI Tool for Sentiment Analysis. Tweets can be downloaded using either Snscrape(default) or Tweepy.
positional arguments:
{analyze,configure,download}
Action to perform.
dest Output file location. Analysis/configuration/download output file is stored here. Default is current directory.
optional arguments:
-h, --help show this help message and exit
-c CONFIG, --config CONFIG
Config file location. If action is 'analyze' or 'download', configuration file is read from here.
-a ANALYZER, --analyzer ANALYZER
Analyzer method for sentiment analysis. Available options are {'vader','textblob-pa','textblob-nb'}. Default is 'vader'.
-q query, --query query
A query text to be matched
-s SINCE, --since SINCE
A lower bound date (UTC) to restrict search. Default is 7 days before --until. Used only by Snscrape.
-u UNTIL, --until UNTIL
An upper bound date (not included) to restrict search. Default is today. Tweepy has a 7 day hard limit, while Snscrape has no such limit.
-g GEO, --geo GEO Return only tweets by users from given geolocation. It must be a location name (e.g. 'Milan') if using Snscrape or a string of the form 'latitude,longitude' if
using Tweepy.
-r RADIUS, --radius RADIUS
Must be used together with --geo. Return only tweets by users within a given radius from the selected location. It must be either in 'mi' or 'km' (e.g. '15km')
-l LANG, --lang LANG Restrict language of the tweets retrieved. Must be an ISO 639-1 code (e.g. en, it, etc.). Default is no language restriction. Used only by Tweepy.
--user username Restrict search to tweets from specified username.
--result_type {recent,popular,mixed}
Type of tweets to retrieve. Can be either 'recent', 'popular' or 'mixed'. Default is 'mixed'. Used only by Tweepy.
--max_tweets MAX_TWEETS
The maximum number of tweets to be retrieved. Default is 10. In the case of Tweepy, if greater API rate limit is reached, the program waits for 15 minutes before
trying again.
--tweepy Use Tweepy instead of the default Snscrape to download tweets.
Examples
As a CLI Tool
foo@bar:~$ sentiment analyze ./results.csv --analyzer="vader" -q "us elections" --since="2020-08-01" --until="2020-11-30" --geo="New York" --radius="100km" -l "en" --max_tweets=100
As a Python Library
from bsi_sentiment.twitter import search_tweets_sn
tweets = search_tweets_sn(
q="us elections",
since="2020-08-01",
until="2020-11-30",
near="New York",
radius="100km",
lang="en",
max_tweets=100
)
tweets.get_sentiment(method="vader")
tweets.to_csv("./results.csv")
Contributors
The BSI members that contributed to this project are:
- Stefano Cortinovis (PL)
- Pietro Dominietto
- Elio Scarci
- Kasra Zamanian
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distributions
bsi_sentiment-0.0.1-py3.8.egg
(21.3 kB
view details)
File details
Details for the file bsi_sentiment-0.0.1-py3.8.egg
.
File metadata
- Download URL: bsi_sentiment-0.0.1-py3.8.egg
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21ca79d5c36331cb3f2ce6f3d6c7c3d113ce0db9413dbf82f6c13fcfeda028fc |
|
MD5 | 524a7b382c4079ddb62b67fafd3f827a |
|
BLAKE2b-256 | 9cfcb36d715a9e23a8aa5115c213cb621b00b223f22ee63f521abaf79a57169b |
File details
Details for the file bsi_sentiment-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: bsi_sentiment-0.0.1-py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63bdb6c8a49793bd4f8edf0940c2168f1ca9d8e9d12cd05067c9152baba1f51c |
|
MD5 | f9d997542965fe2647694437ef15db57 |
|
BLAKE2b-256 | c4bf29d0b3897e60ad322ed9f83d8105a28975b798d902a58657ab597a5bdc96 |