Scattertext

Beautiful visualizations of how language differs among document types.

Data SciencePythonApache-2.0

Abstract

Scattertext is an open-source Data Science project. Beautiful visualizations of how language differs among document types. Scattertext is designed to help you build these graphs and efficiently label points on them. Scatter plots can also be made zoomable by passing enable_zoom=True to produce_scattertext_explorer or related visualization functions. It is built using Python, NLP, Machine Learning. The complete source code is publicly available on GitHub under the Apache License 2.0, making it a useful reference for students building a Data Science mini project or final-year project.

1. Introduction

Scattertext is designed to help you build these graphs and efficiently label points on them. Scatter plots can also be made zoomable by passing enable_zoom=True to produce_scattertext_explorer or related visualization functions.

Cite as: Jason S. Kessler. Scattertext: a Browser-Based Tool for Visualizing how Corpora Differ. ACL System Demonstrations. 2017.

Below is an example of using Scattertext to visualize terms used in 2012 American political conventions. The 2,000 most party-associated uni grams are displayed as points in the scatter plot. Their x- and y- axes are the dense ranks of their usage by Republican and Democratic speakers respectively.

2. Objective

Beautiful visualizations of how language differs among document types.

This project demonstrates how Python, NLP, Machine Learning can be applied to a real-world Data Science problem.

4. Technology Stack

PythonNLPMachine Learning

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Python 3.8 or later
  • pip / virtualenv for dependencies
  • VS Code, PyCharm or Jupyter Notebook
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/JasonKessler/scattertext.git
cd scattertext

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Turn the analysis into an interactive dashboard
  • Automate data refresh with a scheduled job
  • Add a predictive model on top of the analysis

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. What is the source of the dataset and how was missing data handled?
  2. Which exploratory analysis steps revealed the most useful insight?
  3. Why were these particular charts chosen to present the data?
  4. Which statistical or ML technique supports the conclusions?
  5. How could the analysis be automated or refreshed with new data?

9. Source Code & License

This project is developed by JasonKessler and published on GitHub under the Apache License 2.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Data Science project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Data Science Internship