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.
What it does
Our web app 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.
How we built it
NLPTK 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.
git to optimize our team's collaboration during this intense Hackathon.
Challenges we ran into
It was difficult to find quality datasets during the limited time allotted. Our data analysis is best supported by textual entries of a paragraph or more, but much of the historical data is transcribed speech and much of the current easily accessible data is in the form of short snippets on platforms like Twitter.
Partnering with a hospital or research university would allow access to transcribed patient-practitioner archives which we couldn't get access to during the Hackathon, at once providing well-controlled data to further strengthen our models and allowing us to analyze the similarities and contrasts of thought disorders' impact on speech and writing. We will also exciting preliminary research on the analysis of abbreviated social media like Twitter.
We envision providing a highly ethical and useful service, and to do so we must struggle with contradictions. We want to provide practical and perhaps life-saving insight, but we'd hate to make patients feel even more surveilled or controlled in their private lives and thoughts. The service must remain as a collaborative tool between doctors and patients rather than a frightening test.
Accomplishments that we're proud of
We are proud of applying mathematical models from research papers to determine the incoherence of texts with three indices, the syntactical complexity, semantic coherence and delusional index. We were able to integrate the results of these three methods into a user-friendly website where a doctor or patient could conveniently upload passages and texts to gain insight on his/her condition.
What we learned
Throughout the project we learned how to apply natural language processing techniques to extract important features from raw text data using tools such as the gensim python library, NLTK, ConceptNet5. Using the data, we were able to apply machine learning techniques to make predictions about syntactic complexity, semantic coherence, and delusional index. We learned to present the results through a website developed using Flask and Amazon EC2 hosting. More importantly, we learned how to tackle challenges, set priorities, and collaborate as a team.
What's next for Neurodo
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.
More data and more learning!