apprenticearnab / ReinforceBots

MIT License
3 stars 4 forks source link

ReinforceBots

This is a part of a research project consolidating the concepts of Reinforcement Learning (RL) and Natural Language Processing (NLP). In this project we will be developing a chatbot by combining RL and NLP concepts. Combining NLP and RL is a great deal !!! So in this project we will explore some corresponding research papers and will go through them thoroughly to grab the relevence concepts and develop the chatbot!!

We'll be developing the chatbot based on "Big Five" personality traits analysis by continious interaction with the user. The analysis will be done by constructive interactive sessions with the user. When we will arrive to the decison about the correct trait of the user then we'll be doing more and more user involving conversations.Generally the model modifies the output by improving the word selection mechanism after each conversation in a Reinforcement Learning way.

The "Big Five" personality traits is the model to comprehend the relationship between personality and academic behaviors. This was first developed in 1960s when researchers began to study the relationships between a large number of verbal descriptors related to personality traits. They reduced the lists of these descriptors by 5–10 fold and then used factor analysis to group the remaining traits (using data mostly based upon people's estimations, in self-report questionnaire and peer ratings) in order to find the underlying factors of personality.

This theory identifies five factors which often abbreviated in the acronyms OCEAN or CANOE

  1. Openness (inventive/curious vs. consistent/cautious)
  2. Conscientiousness (efficient/organized vs. extravagant/careless)
  3. Extraversion (outgoing/energetic vs. solitary/reserved)
  4. Agreeableness (friendly/compassionate vs. analytical/detach)
  5. Neuroticism (sensitive/nervous vs. secure/confident)

For getting more detailed information regarding our RL based chatbot model that best fits with our project and also how NLP can be used for tracking behavioural traits you can give a look at the two papers provided below :

  1. Paper for RL based Chatbot
  2. Paper for DL based behavioural trait tracking