All Projects → cjroth → chronist

cjroth / chronist

Licence: MIT license
Long-term analysis of emotion, age, and sentiment using Lifeslice and text records.

Programming Languages

HTML
75241 projects
Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to chronist

Emotion and Polarity SO
An emotion classifier of text containing technical content from the SE domain
Stars: ✭ 74 (+221.74%)
Mutual labels:  sentiment-analysis, sentiment, emotion
Senti4SD
An emotion-polarity classifier specifically trained on developers' communication channels
Stars: ✭ 41 (+78.26%)
Mutual labels:  sentiment-analysis, sentiment, emotion
Whatsapp-analytics
performing sentiment analysis on the whatsapp chats.
Stars: ✭ 20 (-13.04%)
Mutual labels:  sentiment-analysis, sentiment
Text Analytics With Python
Learn how to process, classify, cluster, summarize, understand syntax, semantics and sentiment of text data with the power of Python! This repository contains code and datasets used in my book, "Text Analytics with Python" published by Apress/Springer.
Stars: ✭ 1,132 (+4821.74%)
Mutual labels:  sentiment-analysis, sentiment
Sentiment
AFINN-based sentiment analysis for Node.js.
Stars: ✭ 2,469 (+10634.78%)
Mutual labels:  sentiment-analysis, sentiment
Thesemicolon
This repository contains Ipython notebooks and datasets for the data analytics youtube tutorials on The Semicolon.
Stars: ✭ 345 (+1400%)
Mutual labels:  sentiment-analysis, matplotlib
Meld
MELD: A Multimodal Multi-Party Dataset for Emotion Recognition in Conversation
Stars: ✭ 373 (+1521.74%)
Mutual labels:  sentiment-analysis, emotion
Twitter Sentiment Analysis
This script can tell you the sentiments of people regarding to any events happening in the world by analyzing tweets related to that event
Stars: ✭ 94 (+308.7%)
Mutual labels:  sentiment-analysis, sentiment
billboard
🎤 Lyrics/associated NLP data for Billboard's Top 100, 1950-2015.
Stars: ✭ 53 (+130.43%)
Mutual labels:  sentiment-analysis, sentiment
Matplotlib Multilayer Network
small template code to create a multilayer network using matplotlib and networkx
Stars: ✭ 60 (+160.87%)
Mutual labels:  dataviz, matplotlib
Mplcyberpunk
"Cyberpunk style" for matplotlib plots
Stars: ✭ 762 (+3213.04%)
Mutual labels:  dataviz, matplotlib
Scientific Visualization Book
An open access book on scientific visualization using python and matplotlib
Stars: ✭ 6,336 (+27447.83%)
Mutual labels:  dataviz, matplotlib
Troll
Language sentiment analysis and neural networks... for trolls.
Stars: ✭ 330 (+1334.78%)
Mutual labels:  sentiment-analysis, sentiment
Sentimentr
Dictionary based sentiment analysis that considers valence shifters
Stars: ✭ 325 (+1313.04%)
Mutual labels:  sentiment-analysis, sentiment
Stocksight
Stock market analyzer and predictor using Elasticsearch, Twitter, News headlines and Python natural language processing and sentiment analysis
Stars: ✭ 1,037 (+4408.7%)
Mutual labels:  sentiment-analysis, sentiment
NRC-Persian-Lexicon
NRC Word-Emotion Association Lexicon
Stars: ✭ 30 (+30.43%)
Mutual labels:  sentiment-analysis, sentiment
Pytreebank
😡😇 Stanford Sentiment Treebank loader in Python
Stars: ✭ 93 (+304.35%)
Mutual labels:  sentiment-analysis, sentiment
ml-book
Codice sorgente ed Errata Corrige del mio libro "A tu per tu col Machine Learning"
Stars: ✭ 16 (-30.43%)
Mutual labels:  sentiment-analysis, matplotlib
wink-sentiment
Accurate and fast sentiment scoring of phrases with #hashtags, emoticons :) & emojis 🎉
Stars: ✭ 51 (+121.74%)
Mutual labels:  sentiment-analysis, sentiment
stock-news-sentiment-analysis
This program uses Vader SentimentIntensityAnalyzer to calculate the news headline overall sentiment for a stock
Stars: ✭ 21 (-8.7%)
Mutual labels:  sentiment-analysis, sentiment

Chronist

Long-term analysis of emotion, sentiment, and aging using photos and text.

Chronist is a multifaceted project consisting of:

  • A command-line tool for gathering chronological sentiment analysis of text from iMessages, Facebook Messenger, Day One, and 750 Words
  • A command-line tool for gathering chronological emotion, age, expression, and ethnicity data from photos
  • Python scripts for cleaning and resampling the data generated from these tools for analysis
  • Python scripts for generating visualizations (using matplotlib) of the resulting time-series data
  • An anonymous dataset contributed by a few very generous friends who have agreed to donate their real data

The goal of this project is to quantitatively monitor the emotional and physical changes of an individual over periods of time. My thesis is that if you can accurately show emotional or physical change over time, you can objectively pinpoint how an environmental change such as a career change, moving to a new city, starting or ending a relationship, or starting a new habit like going to the gym affected your physical and emotional health. This can lead to important insights on an individual level and for a population as a whole.

If you are interested in hearing more about this project, contributing your data, or collaborating, contact me at [email protected].

Chronist's command-line tools were written in Javascript/ES6 for Node.js and its data processing scripts were written in Python.

Setup

First, make sure you have Node.js >= 6 and Python 2 or 3 installed.

Then run npm install -g chronist.

Commandline Tool

Run chronist to get started. This will show you the available subcommands.

Gathering Data

Lifeslice

This is an alias of photos which uses the default Lifeslice photo directory (/Users/<USERNAME>/Library/Application Support/LifeSlice/webcam) as its input directory and uses the filenames to detect the dates of the photos. The results will be saved as a CSV on your Desktop by default.

chronist lifeslice

Photos

Run emotion and demographic analysis on a directory of photos. The results will be saved as a CSV on your Desktop by default.

chronist photos ~/Desktop/photos

Facebook

First you'll need to download your Facebook data, then you can run the sentiment analysis on your Facebook messages - make sure to specify your first and last name as they appear on Facebook with -n. The results will be saved as a CSV on your Desktop by default.

chronist facebook -i ~/Desktop/messages.htm -n “Chris Roth”

iMessage

Run a sentiment analysis on the currently logged-in OS X user. The results will be saved as a CSV on your Desktop by default.

chronist imessage

750 Words

First download your 750 Words entries, then run the sentiment analysis on your entries. The results will be saved as a CSV on your Desktop by default.

chronist 750words -i ~/Desktop/750words

Day One

First export your Day One journal entries, then run the sentiment analysis on the JSON export. The results will be saved as a CSV on your Desktop by default.

chronist dayone -i ~/Desktop/journal.json

Working With Data

Run pip install -r requirements.txt to install the Python dependencies. If you do not have pip, you'll need to install it first.

All of the contributed data is stored in /data as CSVs. It is first organized by participant, eg /data/a is participant a's data. Some participants have different datasets available than others, and each file will likely have data from different date ranges. The analysis will be aware of these caveats.

The scripts to run analyses are in /analysis. You can run them with python analysis/comparative.py but using Rodeo is ideal.

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].