/Google_Solution_Challenge_2021-Kallimni_bot

Our app’s goal is to introduce people to the world of psychological treatment, and familiarize the act of visiting a psychologist.

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Kallimni Bot - Psychologist App

Header You can find our demo pitch video here Demo Video

Who are we?

Hi , we are kallimni team and we are a group of software engineering students .We are from Morocco.You can find us on linkedin . Linkedin: TahaRehah Linkedin: IsmailYahyaoui Linkedin: AminaElKhalfaoui Linkedin: NizarStitou Linkedin: IhsaneSardi

What's Kallimni?

  • Our app’s goal is to introduce people to the world of psychological treatment, and familiarize the act of visiting a psychologist.
  • Kallimni app takes you to an individual therapy session with our virtual psychologist KALLIMNIBOT . You’ll be free to express your feelings, and talk about all your life struggles.
  • Here's an article refering nearly to the same idea as our app implemented recently by Google MENA Article

Technologies:

Solution Architecture

1. Cloud Pub/Sub

Cloud Pub/Sub

The first one is the Google Cloud Pub/Sub that we’ll be using because the chatbot messaging feature requires using real time messaging. An app user creates and sends audio messages to a topic. Subscriber two create a subscription to our topic to receive messages from it. Subscriber one receives the audio coded in base sixty four and transmits it to the NLP model using a cloud trigger.

python pubsub.py $PROJECT sub_one

2. Machine Learning (NLP)

Cloud Pub/Sub

Here our model extract the emotions from every user’s voice, using an open source model that takes an audio format as an input and predicts 5 different emotions for each gender depending on the frequency of their voice , that way we will be able to communicate with every user no matter what language they’re using. And on every user voice record we feed another model with the extracted emotions so that he keeps training until he predicts the user's psychological illnesses.

Model used: https://github.com/MITESHPUTHRANNEU/Speech-Emotion-Analyzer

3. Android App (MVVM)

Cloud Pub/Sub

We used the MVVM pattern because it’s scalable and our model needs and audio and a message received and our view model contains a GoogleCloudDataService method that implements the second subscriber

4. Full Architecture

Cloud Pub/Sub

Our app is based on a general architecture divided on three sub-architectures.