Algorithmically predict public sentiment on a topic using VADER sentiment analysis
Project description
abraham
Algorithmically predict public sentiment on a topic using VADER sentiment analysis.
Installation
Installation is simple; just install via pip.
$ pip3 install abraham3k
Sample Output
You can run one command to do everything -
from prophets import Isaiah
# splitting means that it recursively splits a large text into sentences and analyzes each individually
darthvader = Isaiah(news_source="google", splitting=True)
# this command takes a bit of time to run because it has to download lots of articles
scores = darthvader.sentiment(["robinhood",
"johnson and johnson",
"bitcoin",
"dogecoin",
"biden",
"amazon"],
window=2, # how many days back from up_to to get news from
up_to="04/18/2021") # latest date to get news from
print(scores)
'''
{'robinhood':
{
'avg': 0.3798676562301132,
'nice': 'positive :)'
},
'johnson and johnson':
{
'avg': 0.27466788299009787,
'nice': 'positive :)'
},
'bitcoin':
{
'avg': 0.28669931035859125,
'nice': 'positive :)'
},
'dogecoin':
{
'avg': 0.2837840361036227,
'nice': 'positive :)'
},
'biden':
{
'avg': 0.2404157345348728,
'nice': 'positive :)'
},
'amazon':
{
'avg': 0.2894022880254384,
'nice': 'positive :)'
}
}
'''
Or, you can run it step by step, as well.
from prophets import Isaiah
# splitting means that it recursively splits a large text into sentences and analyzes each individually
darthvader = Isaiah(news_source="google", splitting=True)
# this command takes a bit of time to run because it has to download lots of articles
articles = darthvader.get_articles(["robinhood",
"johnson and johnson",
"bitcoin",
"dogecoin",
"biden",
"amazon"]
window=2, # how many days back from up_to to get news from
up_to="04/18/2021") # latest date to get news from
scores = darthvader.score_all(articles)
print(scores)
'''
{'robinhood':
{
'avg': 0.3798676562301132,
'nice': 'positive :)'
},
'johnson and johnson':
{
'avg': 0.27466788299009787,
'nice': 'positive :)'
},
'bitcoin':
{
'avg': 0.28669931035859125,
'nice': 'positive :)'
},
'dogecoin':
{
'avg': 0.2837840361036227,
'nice': 'positive :)'
},
'biden':
{
'avg': 0.2404157345348728,
'nice': 'positive :)'
},
'amazon':
{
'avg': 0.2894022880254384,
'nice': 'positive :)'
}
}
'''
Isaiah
supports two news sources: Google News and NewsAPI. Default is Google News, but you can change it to NewsAPI by passing Isaiah(news_source='newsapi', api_key='<your api key')
when instantiating.
NewsAPI Integration
I'd highly recommend using NewsAPI. It's much better than the Google News API. Setup is really simple, just head to the register page and sign up. As I explained above, just pass your key to the constructor when instantiating.
Updates
I've made it pretty simple (at least for me) to push updates. Once I'm in the directory, I can run $ ./build-push 1.2.0 "update install requirements"
where 1.2.0
is the version and "update install requirements"
is the git commit message. It will update to PyPi and to the github repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file abraham3k-1.2.1.tar.gz
.
File metadata
- Download URL: abraham3k-1.2.1.tar.gz
- Upload date:
- Size: 5.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e820eda183dd0e1222bd1c84d7924efc58873de2204c44261d66509f812658c1 |
|
MD5 | 1b9a87fa303bc06eb75321afc75f2316 |
|
BLAKE2b-256 | 7900470406f5f8b2ae87ea6ffe13ad3d8d92450eea31dc1684a0950319628b71 |
File details
Details for the file abraham3k-1.2.1-py3-none-any.whl
.
File metadata
- Download URL: abraham3k-1.2.1-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8707abe5307f67ad96f52bce84a5b92f641643de4d978cd3ddb8772d9861924b |
|
MD5 | 86bdf3652d1859447208b657e3364a66 |
|
BLAKE2b-256 | 34069dde3078f0af58c6399ff76ce7fadf56a50a111dcf370ca00d1cf36900ae |