madhavappaneni/Empathetic-Conversational-Chatbot

An end-to-end conversational system capable of delivering empathetic interactions and effectively sharing opinions, engaging in topical conversations and sharing factual information

Jupyter Notebook

7

11 commits

updated Aug 29, 2025

See the code

README

Topic based Empathetic Chatbot

License: MIT

This is the implementation of the paper:

Topic Based Empathetic Chatbot Focusing on Sentiments.

Madhav Appaneni

Abstract

This paper presents the development of an empathetic chatbot that employs Natural Language Processing (NLP) techniques to engage in chitchat and topical conversations while providing empathetic responses. Chatbots have shown proficiency in specific tasks like providing information and personal assistance. However, their effectiveness in open-ended conversations requires improvement. This need has prompted the development of social bots that aim to communicate with users using human-like emotion, inflection, slang, and other qualities that contribute to a generous conversation.

This project aims to create an end-to-end conversational system capable of delivering empathetic interactions and effectively sharing opinions and factual information on Politics, Environment, Technology, Healthcare, and Education. The analysis presented in this paper provides insights into the components and approaches implemented in developing our chatbot.

Project Report

Project Slides

Training and Inference

The models utilized in the project are fine-tuned versions of various cutting-edge NLP models found within the Huggingface Transformers library.

The code for preprocessing the datasets, fine-tuning, evaluation, and inference for each component can be found in the respective folders in the models_evaluation and models_finetuning folders

Datasets:

The following datasets were used for fine-tuning various pre-trained models

  1. BYU-PCCL chitchat-dataset
  2. Facebook Research - EmpatheticDialogues
  3. Microsoft Botframework - QnA Maker
  4. Custom sourced data from Reddit with conversations from varied topics like Education, Politics, Healthcare, Environment, etc.

Code

  1. For each component that is described in the paper, the fine-tuning and evaluation Python notebooks can be found in the Models Finetuning and Models Evaluation sections.
  2. A full stack application to interact with the solution developed, including user-context tracking, developed using AngularJS, and Flask is included in the Application directory. Instructions to start the application is available at Instructions

Additional Models

To reproduce results published in the paper, use the following fine-tuned models

  1. T5-Small based chit chat conversation generator
  2. T5-Small based empathetic dialogue generator
  3. GPT2 based topical dialogue generator

References

Please cite if you found the resources in this repository useful.

@inproceedings{madhav2023topic,
    title = {Topic Based Empathetic Chatbot},
    author = {Madhav Appaneni},
    month = {may},
    year = {2023}
}
angularjs
gpt-2
huggingface-transformers
nlp-machine-learning
python3
t5

madhavappaneni/Empathetic-Conversational-Chatbot

An end-to-end conversational system capable of delivering empathetic interactions and effectively sharing opinions, engaging in topical conversations and sharing factual information

Jupyter Notebook

7

11 commits

updated Aug 29, 2025

See the code

README

Topic based Empathetic Chatbot

License: MIT

This is the implementation of the paper:

Topic Based Empathetic Chatbot Focusing on Sentiments.

Madhav Appaneni

Abstract

This paper presents the development of an empathetic chatbot that employs Natural Language Processing (NLP) techniques to engage in chitchat and topical conversations while providing empathetic responses. Chatbots have shown proficiency in specific tasks like providing information and personal assistance. However, their effectiveness in open-ended conversations requires improvement. This need has prompted the development of social bots that aim to communicate with users using human-like emotion, inflection, slang, and other qualities that contribute to a generous conversation.

This project aims to create an end-to-end conversational system capable of delivering empathetic interactions and effectively sharing opinions and factual information on Politics, Environment, Technology, Healthcare, and Education. The analysis presented in this paper provides insights into the components and approaches implemented in developing our chatbot.

Project Report

Project Slides

Training and Inference

The models utilized in the project are fine-tuned versions of various cutting-edge NLP models found within the Huggingface Transformers library.

The code for preprocessing the datasets, fine-tuning, evaluation, and inference for each component can be found in the respective folders in the models_evaluation and models_finetuning folders

Datasets:

The following datasets were used for fine-tuning various pre-trained models

  1. BYU-PCCL chitchat-dataset
  2. Facebook Research - EmpatheticDialogues
  3. Microsoft Botframework - QnA Maker
  4. Custom sourced data from Reddit with conversations from varied topics like Education, Politics, Healthcare, Environment, etc.

Code

  1. For each component that is described in the paper, the fine-tuning and evaluation Python notebooks can be found in the Models Finetuning and Models Evaluation sections.
  2. A full stack application to interact with the solution developed, including user-context tracking, developed using AngularJS, and Flask is included in the Application directory. Instructions to start the application is available at Instructions

Additional Models

To reproduce results published in the paper, use the following fine-tuned models

  1. T5-Small based chit chat conversation generator
  2. T5-Small based empathetic dialogue generator
  3. GPT2 based topical dialogue generator

References

Please cite if you found the resources in this repository useful.

@inproceedings{madhav2023topic,
    title = {Topic Based Empathetic Chatbot},
    author = {Madhav Appaneni},
    month = {may},
    year = {2023}
}
angularjs
gpt-2
huggingface-transformers
nlp-machine-learning
python3
t5