by Sri Balaji J Updated: May 24, 2022
A Chatbot is like a digital assistant, can be pretrained or have self-learning capability. It can be trained to understand the user queries and respond in the natural language of the user during a conversation. The proposed bot could identify the emotional status of the users and can provide suggestions using Bi-directional Recurrent Neural Network and tensor flow library functions. So I've created this kit based on paper "Intelligent Chatbot Model to Enhance the Emotion Detection in social media using Bi-directional Recurrent Neural Network". This kit can be helpful to build a similar bot. For further info refer this paper by the link below Intelligent Chatbot Model to Enhance the Emotion Detection in social media using Bi-directional Recurrent Neural Network
Development Environment
Development environment is a workspace with a set of processes and programming tools used to develop the source code for an application or software product. VSCode, Jupyter Notebook and spyder are such environments used for development and debugging. Jupyter Notebook is a web-based interactive environment often used for experiments, whereas VSCode and spyder is used to get a typical experience of IDE for developers.
Jupyter Notebook 9722 Version:v7.0.0a11
Jupyter Notebook 9722 Version:v7.0.0a11 License: Others (Non-SPDX)
Python 7365 Version:v5.4.2
Python 7365 Version:v5.4.2 License: Permissive (MIT)
Exploratory Data Analysis
For extensive analysis and exploration of data, and to deal with arrays, these libraries are used. They are also used for performing scientific computation and data manipulation.
Python 36714 Version:1.5.2
Python 36714 Version:1.5.2 License: Permissive (BSD-3-Clause)
Python 22550 Version:1.24.1
Python 22550 Version:1.24.1 License: Permissive (BSD-3-Clause)
Model development and Sentimental analysis
A bag-of-words model, or BoW for short, is a way of extracting features from the text for use in modeling, such as with machine learning algorithms. Bi-directional neural network, a machine learning algorithm is used to train the model. Since it has two hidden layers that can go both forward and backwards the model could have both the data that is used in the past and the future data that are useful in the prediction of the reply for the question asked in the chatbot. Sentiment analysis is the classification step where the statement is classified as a positive or negative or a neutral one by giving them a sentiment score. Score is given as +1,-1 or 0 depending upon the classification. The calculation is done based on the sentiment score by combining the score of the words for which TextBlob is used.
Python 111 Version:Current
Python 111 Version:Current License: Permissive (MIT)
C# 277 Version:2.1.0.0
C# 277 Version:2.1.0.0 License: Permissive (BSD-3-Clause)
Jupyter Notebook 1 Version:Current
Jupyter Notebook 1 Version:Current License: No License
Python 8406 Version:0.17.1
Python 8406 Version:0.17.1 License: Permissive (MIT)
GUI development
GUI is a Graphical Interface that is a visual representation of communication presented to the user for easy interaction with the machine. Here are some libraries that can be used to develop GUI for chatbots.
Java 752 Version:11.14.0-EA3
Java 752 Version:11.14.0-EA3 License: Weak Copyleft (LGPL-3.0)
TypeScript 48560 Version:v6.5.2-nightly.20230131
TypeScript 48560 Version:v6.5.2-nightly.20230131 License: Permissive (MIT)
Kotlin 42147 Version:Current
Kotlin 42147 Version:Current License: Permissive (Apache-2.0)
Open Weaver – Develop Applications Faster with Open Source