All Projects → Chulong-Li → Real Time Sentiment Tracking On Twitter For Brand Improvement And Trend Recognition

Chulong-Li / Real Time Sentiment Tracking On Twitter For Brand Improvement And Trend Recognition

Licence: mit
A real-time interactive web app based on data pipelines using streaming Twitter data, automated sentiment analysis, and MySQL&PostgreSQL database (Deployed on Heroku)

Projects that are alternatives of or similar to Real Time Sentiment Tracking On Twitter For Brand Improvement And Trend Recognition

Cryptocurrency Analysis Python
Open-Source Tutorial For Analyzing and Visualizing Cryptocurrency Data
Stars: ✭ 278 (+118.9%)
Mutual labels:  jupyter-notebook, data-analysis, plotly
twitter-analytics-wrapper
A simple Python wrapper to download tweets data from the Twitter Analytics platform. Particularly interesting for the impressions metrics that are unavailable on current Twitter API. Also works for the videos data.
Stars: ✭ 44 (-65.35%)
Mutual labels:  twitter, tweets, data-analysis
Dash.jl
Dash for Julia - A Julia interface to the Dash ecosystem for creating analytic web applications in Julia. No JavaScript required.
Stars: ✭ 248 (+95.28%)
Mutual labels:  dash, plotly, dashboard
Plotly.py
The interactive graphing library for Python (includes Plotly Express) ✨
Stars: ✭ 10,701 (+8325.98%)
Mutual labels:  jupyter-notebook, plotly, dashboard
Metrotwitter
What Twitter reveals about the differences between cities and the monoculture of the Bay Area
Stars: ✭ 52 (-59.06%)
Mutual labels:  jupyter-notebook, data-analysis, twitter
Explainerdashboard
Quickly build Explainable AI dashboards that show the inner workings of so-called "blackbox" machine learning models.
Stars: ✭ 378 (+197.64%)
Mutual labels:  dash, plotly, dashboard
Edaviz
edaviz - Python library for Exploratory Data Analysis and Visualization in Jupyter Notebook or Jupyter Lab
Stars: ✭ 220 (+73.23%)
Mutual labels:  jupyter-notebook, data-analysis, plotly
Visualization Of Global Terrorism Database
📊 Visualization of GTD with py Plotly lib, including amazing graphs and animation 📼
Stars: ✭ 16 (-87.4%)
Mutual labels:  jupyter-notebook, data-analysis, plotly
Cryptocurrency Dashboard
Crypto Currency Dashboard Using Twitter 🐦 And Coinmarketcap 🚀 API
Stars: ✭ 54 (-57.48%)
Mutual labels:  dash, twitter, dashboard
Dash Sample Apps
Open-source demos hosted on Dash Gallery
Stars: ✭ 2,090 (+1545.67%)
Mutual labels:  jupyter-notebook, dash, plotly
Awesome Bigdata
A curated list of awesome big data frameworks, ressources and other awesomeness.
Stars: ✭ 10,478 (+8150.39%)
Mutual labels:  stream-processing, streaming-data
Twint
An advanced Twitter scraping & OSINT tool written in Python that doesn't use Twitter's API, allowing you to scrape a user's followers, following, Tweets and more while evading most API limitations.
Stars: ✭ 12,102 (+9429.13%)
Mutual labels:  twitter, tweets
Gsf
Grid Solutions Framework
Stars: ✭ 106 (-16.54%)
Mutual labels:  stream-processing, streaming-data
Hiitpi
A workout trainer Dash/Flask app that helps track your HIIT workouts by analyzing real-time video streaming from your sweet Pi using machine learning and Edge TPU..
Stars: ✭ 106 (-16.54%)
Mutual labels:  dash, plotly
Ml Da Coursera Yandex Mipt
Machine Learning and Data Analysis Coursera Specialization from Yandex and MIPT
Stars: ✭ 108 (-14.96%)
Mutual labels:  jupyter-notebook, data-analysis
Dash Stock Tickers Demo App
Dash Demo App - Stock Tickers
Stars: ✭ 108 (-14.96%)
Mutual labels:  dash, plotly
Spark R Notebooks
R on Apache Spark (SparkR) tutorials for Big Data analysis and Machine Learning as IPython / Jupyter notebooks
Stars: ✭ 109 (-14.17%)
Mutual labels:  jupyter-notebook, data-analysis
Loandefault Prediction
Lending Club Loan data analysis
Stars: ✭ 113 (-11.02%)
Mutual labels:  jupyter-notebook, data-analysis
Pythondata
repo for code published on pythondata.com
Stars: ✭ 113 (-11.02%)
Mutual labels:  jupyter-notebook, data-analysis
Tta Elastic
Official Trump Twitter Archive V2 source
Stars: ✭ 104 (-18.11%)
Mutual labels:  twitter, tweets

Real-time Twitter Sentiment Analysis for Brand Improvement and Topic Tracking

Web App GIF

Dive into the industry and get my hands dirty. That's why I start this self-motivated independent project.

Try this awesome Real-Time Twitter Monitoring System here on Heroku server. Read a series of related articles below:

  • Chapter 1: Collecting Twitter Data using Streaming Twitter API with Tweepy, MySQL, & Python
  • Chapter 2: Twitter Sentiment Analysis and Interactive Data Visualization using RE, TextBlob, NLTK, and Plotly
  • Chapter 3: Deploy a Real-time Twitter Analytical Web App on Heroku using Dash & Plotly in Python
  • Chapter 4 (In Progress): Parallelize Streaming Twitter Sentiment Analysis using Scala, Kafka and Spark Streaming

Inspiration

The solution for evaluating Twitter data to perform better business decisions is to keep tracking all relevant Twitter content about a brand in real-time, perform analysis as topics or issues emerge, and detect anomaly with alert. By monitoring brand mentions on Twitter, brands could inform enagement and deliver better experiences for their customers across the world.

Interesting facts from exploratory data analysis

  • Less 0.01% users will push tweets with their locations.
  • Tweets grabbed from streaming data won't have more than 0 LIKE or RETWEET, since you have already captured them even before others press buttons :p
  • More than 65.6% users will write the locations in their profile, although very few of them don't live on Earth according to that fact.
  • The numbers of positive and negative tweets are relatively close and stay low compared with neural tweet number. Unless emergency events happen, lines won't fluctuate acutely.

Technical Approach - Version 2 ( ~ Sep 16)

  1. Build ETL pipelines based on stream processing using Kafka (In Progress)
  2. Perform sentiment analysis using Spark Streaming (In Progress)

Orignal Development - Version 1.2 (Done🎉)

  1. Extract streaming Twitter Data, preprocess data in Python, and load data into MySQL for storage
  2. Perform exploratory data analysis with Pandas & Seaborn to explore the insights
  3. Connect with Plotly for real-time interactive dashboard based on time series
  4. Deploy the real-time interactive front-end web app using Dash & Heroku PostgreSQL on Heroku server

Quick Demo

Real-time Interactive Web App on Heroku server

web app has been deployed on Heroku.

Real-time Twitter Sentiment Analysis in Jupyter Notebook

Try this interactive data visuilization in Jupyter Notebook. To run with streaming data, you need to deploy it locally.

Complex Dashboard

Get Started

Pre-installation

pip install -r requirements.txt

Set-up

Create a file called credentials.py and fill in the following content

# Go to http://apps.twitter.com and create an app.
# The consumer key and secret will be generated for you
API_KEY = "XXXXXXXXXXXXXX"
API_SECRET_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

# After the step above, you will be redirected to your app's page.
# Create an access token under the the "Your access token" section
ACCESS_TOEKN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
ACCESS_TOKEN_SECRET = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

Create local MySQL database with info below

host="localhost"
user="root"
passwd="password"
database_table="TwitterDB"

Track Word Setting (Optional)

You can change the TRACK_WORDS in settings.py into any word, brand, or topic you're interested.

Stream the complex visualization

To perform streaming processing on dashboard, you need to deploy all settings above as well as let Main.ipynb keep listening.

Run

Run Main.ipynb to start scraping data on Jupter Notebook.

Run Analysis.ipynb to perform data analysis for brand improvement after Main.ipynb starts running.

Run Trend_Analysis_Complex to track topic trends on Twitter after Main.ipynb starts running.

Note: Since streaming process is always on, press STOP button to finsih.

Dash Web Application

All things related to Dash App is placed in dash_app folder.

Challenges

  • Unstructured tweet texts may contain messy code and emoji characters
  • Some brands may take a long time to collection enough data to perform analysis on issue emerging since they target specify groups of people
  • Some hot words will uncover useful insights only after appearing more than 10k times on tweets
  • Plotly doesn't have well-document on reference making customize dashboard much harder
  • More challenges on the way, but Google, StackOverFlow, Towards Data Science, and GitHub will always be your best friends
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].