All Projects → kevchn → Neurodo

kevchn / Neurodo

A web tool for the analysis of cognitive dysfunction in patient journaling during Schizophrenia clinical drug trials

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Neurodo

Chronicel
Our super sweet hacker management system, built for HackTCNJ 2017+ | Used by [email protected] 2018!
Stars: ✭ 18 (+28.57%)
Mutual labels:  flask
Databook
A facebook for data
Stars: ✭ 26 (+85.71%)
Mutual labels:  flask
Pylogging
🏉 Python Logging Library
Stars: ✭ 9 (-35.71%)
Mutual labels:  flask
Letterboxd recommendations
Scraping publicly-accessible Letterboxd data and creating a movie recommendation model with it that can generate recommendations when provided with a Letterboxd username
Stars: ✭ 23 (+64.29%)
Mutual labels:  flask
Intro To Apis Flask
Starter repository for the Introductions to API course
Stars: ✭ 26 (+85.71%)
Mutual labels:  flask
Flask Humanize
Common humanization utilities for Flask applications
Stars: ✭ 26 (+85.71%)
Mutual labels:  flask
Fullstack Flask Vuejs Argon Design
Flask Vuejs - Built with Automation Tools | AppSeed App Generator
Stars: ✭ 18 (+28.57%)
Mutual labels:  flask
Os
This is the software framework for an OPSORO robot, to be used in conjunction with Ono2 or OPSORO grid and OPSOROHAT.
Stars: ✭ 11 (-21.43%)
Mutual labels:  flask
Python Flask First Website
Stars: ✭ 26 (+85.71%)
Mutual labels:  flask
Social Listener
Python project used to collect tweets and social-network data from Social's API
Stars: ✭ 9 (-35.71%)
Mutual labels:  flask
Fluddy
🤝 A dependency-free command line utility for managing, updating, creating and launching Flask Apps.
Stars: ✭ 23 (+64.29%)
Mutual labels:  flask
Gpt2 App
A Flask Web App for Generating Text with GPT-2
Stars: ✭ 24 (+71.43%)
Mutual labels:  flask
Heroku Buildpack Python
The official Heroku buildpack for Python apps.
Stars: ✭ 849 (+5964.29%)
Mutual labels:  flask
Senseme
Python Library for Haiku SenseMe app controlled fans/lights
Stars: ✭ 19 (+35.71%)
Mutual labels:  flask
Flask Scaffold
Prototype Database driven Web apps in Angular 6, Bootstrap 4 and REST API's with Flask (Python 3 framework)
Stars: ✭ 853 (+5992.86%)
Mutual labels:  flask
Multi Threading Camera Stream
Multi-threading camera stream to improve video processing performance
Stars: ✭ 18 (+28.57%)
Mutual labels:  flask
Vulpy
Vulnerable Python Application To Learn Secure Development
Stars: ✭ 25 (+78.57%)
Mutual labels:  flask
System dashboard
Boilerplate project - Cross-Platform System Dashboard using Flask, React, Mobx and Web-Workers
Stars: ✭ 13 (-7.14%)
Mutual labels:  flask
Keras Flask Deploy Webapp
😺 Pretty & simple image classifier app template. Deploy your own trained model or pre-trained model (VGG, ResNet, Densenet) to a web app using Flask in 10 minutes.
Stars: ✭ 856 (+6014.29%)
Mutual labels:  flask
Flask Bones
An example of a large scale Flask application using blueprints and extensions.
Stars: ✭ 849 (+5964.29%)
Mutual labels:  flask

Neurodo

A python-based web-app that predicts the onset of schizophrenia and the current severity of positive symptoms (such as delusions) and negative symptoms (such as cognitive dysfunction) based on linguistic features in patient text samples.

This project won Wolfram's Best Tech award and became a Top 10 Finalist at Johns Hopkins University's MedHacks hackathon. Devpost.

Demo

Demo. This is hosted on a free heroku dyno, so it will take ~15s to spin up when you visit.

Installation

Here's how to run a local copy of Neurodo.

Instructions for Ubuntu or Debian, but should be easily adaptable to other Linux distributions or OS X. You will need Python 3.4 or newer. Depending on your set up, you might need to run the interpreter with python or python3.

We suggest setting up a a Python virtualenv for this project, or using another similar service.

# Clone repository
git clone https://github.com/kevchn/neurodo
cd neurodo/

# Install needed system packages (use homebrew on OS X)
sudo apt-get install python3 python-pip python3.4-dev gfortran libopenblas-dev liblapack-dev

# Install needed python packages
pip install -r requirements.txt

# Download required NLTK datasets
python3 nltk_download.py

# Run tests
python3 test_all_indices.py > log.txt

# Run a local copy of the website
python3 controller.py
# To see the website, navigate to http://0.0.0.0:5000/ in a web browser
# To stop running the local copy, press CTRL-C in the terminal you used to start it

Background

Existing mental health apps often ask patients to rate the severity of their current issues or to self-apply cognitive behavioral techniques. However, patients with schizophrenia usually have difficulties with insight.

Natural language processing techniques have been used in the past to diagnose schizophrenia or predict the onset of psychosis in at-risk populations. In these papers, conversations with a practitioner are manually transcribed and serve as a single data point to predict current and future mental health.

These techniques work because thought-disordered speech has many common characteristics such as a unique approach to linkage (for example, connecting ideas based on their sounds or rhyming rather than topic as in clanging or omitting linkages like "That reminds me of ...").

With the advent of widespread computer and smartphone use even among low-income populations, we now have access to immediately analyzable textual data. Endeavors that used to require hundreds of hours of manual transcription, parsing, and analysis can be accomplished in an instant with modern NLP techniques and hardware.

Function

Our webapp allows patients with thought disorders such as schizophrenia and schizoaffective disorder to track improvements to cognitive dysfunction and delusions over time, so that they can assess the efficacy of different medications and therapy techniques.

A patient can journal directly on the website or transfer their writings from another source such as a Word document or blog. Our backend analyzes the text by applying LSA to study semantic coherence and delusional content and traditional NLP parsing to study syntactic complexity. Machine learning unites these models to evaluate the author's progress with a graph.

Stack

NLTK to parse and analyze linguistic syntax.

gensim LSA for efficient, scalable latent semantic analysis of text.

ConceptNet5 for word relations and associations concerning common delusions and fixations in psychosis.

SCIKIT for machine learning to build a robust predictive model from our combined semantic and syntactic analyses.

Flask and Materialize for rapid web development.

To speedily serve all of this complex analysis to our users we use Amazon EC2 hosting.

What's next

Visual design and UI refinement, advertising, building a community. Making it fun to use by rewarding progress and encouraging perseverance.

Letting the user add custom delusionary thought themes that they are working on treating with their mental health practitioners.

Allowing the user to pull text automatically from supplied accounts on a list of supported websites and apps.

Moving from scikit to Keras + Theanos

Rewrite backend as API server with SPA frontend

Authors

Kevin Chen, [email protected]

Steven Griffin, [email protected]ail.com

William Shyr

Daniel Hsu

Jeff Lai

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