Open In App

Project Idea | AI Therapist

Improve
Improve
Like Article
Like
Save
Share
Report

Project Title : AI therapist

Introduction: Input is user provided description about how his day went in two-three lines. Using natural language processing, our program detects how user is feeling. He may be feeling depressed, feared, angry etc. Then a recommender system is used to show him content based on his current emotions. For example if user is feeling depressed, program will show him motivational thoughts, blogs etc.

Conceptual framework:
The project will be a combination of natural language processing and recommender system. The pipeline model built through NLP will put user input in any one of the classes ‘A’, ’B’, ’C’, ’D’ .
Class A: Anger
Class B: Minor Depression
Class C: Serious Depression
Class D: Fear
After this the recommender system will recommend quotes and speeches pertaining to a particular class in order to assist user.

Code:




import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import string
from nltk.corpus import stopwords
  
#data is our input dataset containing user input lines and it has a column of emotional class. 
#The code will not work in IDE as no dataset has been provided
  
  
#function to remove punctuations and stopwords
def function_preprocess (mess):
    nopunc = []
    for char in mess :
        if char not in string.punctuation:
            nopunc.append(char)
    nopunc=''.join(nopunc)
    clean = []
    for word in nopunc.split():
        word = word.lower()
        if word not in stopwords.words('english'):
            clean.append(word)
    return clean
  
from sklearn.pipeline import Pipeline 
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer as cv
from sklearn.feature_extraction.text import TfidfTransformer
  
#building our NLP model using naive bayes as classifier
pipeline = Pipeline([('bow', cv(analyzer=function_preprocess)),
                    ('tfidf', TfidfTransformer()),
                    ('classifier', MultinomialNB()),
                    ])
pipeline.fit(data, emotional_class)


Recommender system will be created using neighbour based collaborative filtering techniques as it would suggest the things which were helpful for similar users.

Tools Used:
1. Language used: Python
2. Algorithms : Collaborative filtering, Naive bayes, Natural Language Processing

Application:
1. Can be used to identify people suffering from depression, anxiety etc and at the same time help them too.
2. If user is suffering from depression, program will recommend him to visit a doctor and also inform his relatives about the same.
3. If user is often angry, program will suggest him tips for anger management.
4. This model will be helpful to psychiatrists and therapists for curing their clients.

Team members:
1. Abhay Gupta
2. Abhinav Tripathi



Last Updated : 23 Nov, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads