Core NLP library for extracting and analysing emotion and group dynamics in a group setting.
Emotion extraction is based the eight basic emotions model proposed by Plutchik[1]. The extraction is based on a vocabulary curated using wordembedding models. Online conversations related to health were used to train the word embedding model which capture the contextual relationships among terms. The trained model is then used to query for similar terms. Scripts to train the word embedding model, query for similar terms and visualizations are included in core/emotions/ folder. Emotion extraction is enriched with handling negation, intensifiers and is able to calculate the intensity of each emotion.
User engagement in a group is measured based on two main components: i. Emotion enagagement ii. Participation based on number of posts etc.
Clinical information can be extracted using a curated vocabulary of clinical terms. Physcial symptom extractor is added as a demonstration.
Keyphrase extraction is based on RAKE [3], which automatically extracts significant phrases from text.
Examples for emotion extraction, physical symptoms extraction and keyphrase extraction are included in the main.py
[1] Plutchik, R. (1984). Emotions: A general psychoevolutionary theory. Approaches to emotion, 1984, 197-219.
[3] Rose, S., Engel, D., Cramer, N., & Cowley, W. (2010). Automatic keyword extraction from individual documents. Text mining: applications and theory, 1, 1-20.