Skip to content

DAVINTLAB/Peakvis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Peakvis

PeakVis is a visualization tool that allows uploading a recorded video of a live broadcast together with a file of tweets, comments of 280 characters made on the social network Twitter, related to the recorded program. It is an interactive tool that syncs the video recording with a responsive line graph representing the total number of tweets from each moment, the top messages, a dynamic word cloud, and a semantic graph showing word correlation.

Requirements

To operate the Peakvis, it is necessary to have the minimum requirements listed below:

  • OS:
    • Windows 7 or superior
    • MacOS
    • GNU (Linux OS)
  • Preferentially browsers based on Chromium (such as Chrome, Edge and Opera), or Firefox
  • Python 3.0 64-bit version
  • pip (in Python 3.4 or superior, pip is already built-in)

Installation

To install the Peakvis project, you can either download the compressed folder or clone the repository.

After downloading the project, go to the folder path via command prompt and install the dependencies using:

pip install -r requirements.txt --user

If you have both Python 2.x and Python 3.x installed on your machine, consider using 'pip3' instead of 'pip'.

Execution

After installing all dependencies that you need, it is important to know that you need to have two files to run the main application:

  • A .json file, containing recorded tweets
  • A video file showing the event you want to analyze

Inserting data into your application

To insert your .json file into the project, go to the \Peakvis-master\static\DATA\dados path and insert your file in the folder.

  • For demonstration, a JSON file named demo is already present in the folder.
  • Just drag your .json file to this path.

alt text

Inserting video into your application

To insert your video file into the project, go to the \Peakvis-master\static\DATA\videos path and insert your file in this folder.

  • For demonstration, a video named demo is already present in the folder.
  • Just drag your video file to this path.

alt text

Processing the files

After inserting the two files that you need to run the program, go to folder path via command prompt and run the following command:

python server.py
  • There is a chance you need to use the python3 command instead of python.
  • After that, the application will then be available at the following address: http://127.0.0.1:5000/.
  • Write the name of your data and video file in the indicated textboxes.
  • By default, the demo files are already configured, but you can change them just by rewriting.
  • Both of the file names must contain the file type in the end (.json and .mp4, for example).
  • Click the Submit button and wait. The application must generate all the visualization elements.

alt text

Visualization elements

Along this section, the application functionalities and features will be approached for better comprehension. It is important to know that all the items are synced with the button.

Highlight

  • On the top left of the application, there is a slider button named Highlight. It controls the sensitivity of the traffic peaks of tweets to show to the users, which can be interpreted as the most appealing or most commented moments.
  • The further to the left, the less rigorous the definition of Highlight becomes.
  • The farther to the right, the stricter the definition of Highlight is.
  • By clicking on the Highlight button, all the needed changes are processed.

alt text alt text

Tweet volume line chart

  • The line chart of tweets shows the peaks of tweets contained in the .json file as the first analysis graph. It is synced with the video and goes along with the video time.
  • Already watched segments are colored blue, as opposed to the default unwatched grey lines.
  • The starting of the tweet peaks are indicated with a purple dot.

alt text

Video player

  • As the video player is synced with the other charts, you can pause and unpause any video at any time, pausing the other application elements too.
  • You can set the volume, put it on full screen, download the video and set it as a picture-in-picture player.

alt text

Most retweeted tweets

  • As another element of the application, the tweet box shows the textual contents of the most retweeted tweets every second in a scrolling box.
  • Besides the tweet content, it shows its date and time posted in brackets.
  • It is also possible to access the tweet address by clicking on the highlighted "LINK" under its content.

alt text

Frequently said words

  • There is also a dynamic word cloud showing the most frequent words in the tweets until the watched segment.
  • The application ignores several words known as stopwords, such as articles and prepositions (for example: "the", "so", and "on").
  • You can see and even set these words on the "STOPWORDS" file.

alt text

Semantic network

  • The semantic network connects the most related words between themselves.
  • For example, the more related words to the word "final" are connected by grey lines, then linking words as "kaysar", "edição" and "#bbb18".
  • The graph is generated in real-time, providing a smooth animation along the video time.

alt text

Dependencies

JavaScript

Library Version/source
D3 3.0.2
Plotly 1.58.4
jQuery 3.0.2
MathJs 6.2.1
wordcloud2 1.2.2

Python

Library Version/source
flask 3.0.2
numpy 1.20.3
pandas 1.2.4
json -
datetime Lib/datetime.py
pathlib Lib/pathlib.py
csv Lib/csv.py
itertools /lib-dynload/itertools.so
networkx 2.5
regex 2021.4.4

Citation

Please refer to this work by citing the paper indicated below.

Pedro Henrique M. Sanvido, Gabriela B. Kurtz, Carlos R. G. Teixeira, Pedro P. Wagner,Lorenzo P. Leuck, Milene S. Silveira, Roberto Tietzmann, Isabel H. Manssour. PeakVis: a Visual Analysis Tool for Social Network Data and Video Broadcasts. IEEE International Conference on Computers, Software and Applicatins (COMPSAC), 2021.

About the authors

We are members of the Data Visualization and Interaction Lab (DaVInt) at PUCRS:

  • Pedro P. Wagner -- Undergraduate student in Computer Science.
  • Arthur Henrique Henz -- Undergraduate student in Computer Science.
  • Pedro Henrique M. Sanvido -- Master Student in Computer Science.
  • Lorenzo P. Leuck -- Master Student in Communication.
  • Carlos R. G. Teixeira -- PhD student in Communication.
  • Gabriela B. Kurtz -- Professor and researcher of DaVInt.
  • Milene S. Silveira -- Professor and researcher of DaVInt.
  • Roberto Tietzmann -- Professor and researcher of DaVInt.
  • Isabel H. Manssour -- Researcher and Professor Coordinator of DaVInt.

More information can be found here.

About

PeakVis is a web-based visualization tool for syncing social media datasets to recordings of broadcasted content.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors