drishit96 / RealTime-TwitterDataAnalysis

Collect and process real time twitter data plotting various metrics like volume , proportion, sentiment. Analyze tweet node networks and map them geographically.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hacktoberfest-white-banner

This project is now open to contributions under hacktoberfest 2022 and your contributions are welcome.

To get started with contributing and the flow check out πŸ‘‰ below. This repo follows all the standard measures and compliances to ensure a healthy environment for collaboration and community engagement.

How can you contribute ?

  • Check out the existing issues and help solve those.
  • Report a bug or vulnerability in the project that needs to be corrected.
  • Any issue that may be a hinderance in normal working of the app.
  • Help with low-code and no-code like documentaion, the set-up and configuration, walkthrough.
  • Add new awesome features of your own without breaking existing ones.

Finally, let's relish the spirit of open source and have fun while bringing quality changes. Happy Contributing πŸŽ‰πŸŽ‰ !!


RealTime-TwitterDataAnalysis

Collect and process real time twitter data to analyse popularity of tweets with specific keywords or hashtags , visualize important metrics, generate twitter networks and map tweets and trends geographically.


Analysing Twitter Data Can be useful in a wide variety of fields like:

  • In the industry it can be used in Marketing and Product Analysis to improve upon an organization's business decisions.
  • It can be used to Measure public opinions which can serve to gauge mood of people in important topics of interest such as political or social events.
  • Further , it can be used for Clustering Behavioral Groups by identifying conversation spheres , patterns in behaviour of diferent subsections of the society and also the bridges or major influencers.



  • Show Real Time Plot Of Tweet Volumes and Propotion Of the tweets mentioning either keyword

Total Volume Of tweets ---- Average Mentions



  • Graph tweet sentiment by performing NLP

Tweet Sentriment



  • Node Networks for Retweets And Replied Tweets | Force Directed Circular Layout Showing more Retweeted user Larger in Size



node-network.png            Circular-layout-reply-network



Functionality

  • Stream tweets containing specific keywords in real time
  • Show volume metrics for selected tweets in real time
  • Filter tweeets by any time window
  • Plot the prevalance of tweets regarding a particular topic of interest.
  • Perform Sentiment analysis of tweets based on keyword and chart them in real time
  • Twitter Networks Graphing follow , favorited , retweet and reply networks.
  • Analyse Twitter Networks and discover important nodes that are influencers or conversation bridges.
  • Display Tweets Geographically on a Map.

Domains

  • Data Mining
  • Data Manipulation and Feature Engineering
  • Big Data Analytics
  • Natural Language Processing
  • API and Web Server Communication
  • Network Analysis

Tech Stack

  • tweepy
  • nltk
  • networkx
  • streamlit
  • pandas,numpy
  • matplotlib


Setup Locally

  • Go the the cloned directory on your local machine.
  • Run pip install -r requirements.txt to install all the dependencies.
  • Get your Twitter API credentials and replace the placeholders in twitter_config.py.
  • run python main.py which is the application entry point.

Data Format

The data recieved from twitter stream api is in a json format

Important Module and Object Structures

The Overall Structure Of the Project twitter-Info-Structure.png

How to get started with contributions

Steps To Contribute

  • Fork this Repository.

  • Clone the Repository: git clone "url of this repo"

  • Check existing issues or raise a new issue of your own and ask it to be assigned to you.

  • Wait for the issue to be assigned to you.

  • Create a branch: git checkout -b <your-new-branch-name>

  • Put your code :-

    • Make all necessary changes or modifications to the code in your local cloned branch.
    • Neccessary information like functionalities, screenshots, working video(if required) should be kept handy (you will need to present it when submitting the PR)
  • Push changes to gitHub ( on your forked repo ) : git push origin <add-your-branch-name>

  • Create a new pull request to the original repo ( main branch of this repo )

  • Submit your changes for review.

  • And Boom! You're done πŸ₯³

  • The maintainers will review and merge your changes into the main branch of this project. You will be automatically notified via E-mail once the changes have been merged.

Note : If you want your changes to count towards hacktoberfest ensure that the issue you are working on has #hacktoberfest label


GitHub release

GitHub pull-requests merged   GitHub branches  Maintenance     Maintainer   GitHub license

GitHub forks  GitHub stars  GitHub issues  GitHub contributors

Contributors πŸ“‘

Project Maintainers ⚑


Happy Contributing! 🧑

forthebadge

Star Mark this repository and keep contributing as you learn!!

About

Collect and process real time twitter data plotting various metrics like volume , proportion, sentiment. Analyze tweet node networks and map them geographically.


Languages

Language:Python 100.0%