Skip to content

Chatbot Web Framework For Response Comparisons and Performance Analysis

Notifications You must be signed in to change notification settings

SpeechLabNTU/chatbot_web_framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chatbot Web Framework for Response Comparisons and Performance Analysis in FAQs

Project Summary

The objective of this project is to design a full stack web application to compare a variable set of FAQ Chatbot API endpoints. The chatbot platform includes a text input and a speech input for intuitiveness and to cater for real live scenarios. For the context of this project, MSF's Baby Bonus is used as a test bed for FAQ question and answer matching.

Features

  1. Text and Speech based input methods
  2. Multi FAQ Endpoint selection for response visualization
  3. Response similarity comparison
  4. Recommendation for similar questions

FAQ Matching APIs used

  1. Govtech's askJamie (Benchmark for accuracy comparison)
  2. MICL lab's QA Matching Model
  3. Google's Dialogflow
  4. Text Classification Model
  5. Rajat QA Matching Model

Speech to Text API used

  1. AISG's Speech to Text
  2. Google's Speech API
  3. Twilio Speech Lab (To be implemented)

Deployment Considerations

Docker is used to set up 3 microservices React Frontend, Node Backend and Flask Server for response comparison. A docker-compose file is used to start up all microservices for deployment usage. Docker deployment resources can be found in the Docker branch of the repository.

Project organization:

frontend directory: Written on ReactJS, provides the view of the application
backend directory: Written on NodeJS, provides API endpoints for frontend
comparison directory: Written on Flask, provides API service for response comparisons
dialogflowfunctions: Written on NodeJS, used to upload intentions to dialogflow for NLP training
flaskservice directory: Written on Flask, provides Text Classification Model Training and response comparisons

Master Branch

Running Development
Following directories must be executed in seperate terminals to run application

  1. Frontend Directory
  2. Backend Directory
  3. flaskservice Directory(Deep Neural Network + Similarity) or comparison Directory(Similarity only)

Additional Requirement
Create a .env file in the Backend Directory with the following:

DIALOGFLOW_PROJECT_ID= XXX
AISG_TOKEN= XXX
SPEECH_API= ws://40.90.170.182:8001/client/ws/speech
SPEECH_HTTP_API= http://40.90.170.182:8001/client/dynamic/recognize 

Installation/setup instructions will be provided in each directory.

About

Chatbot Web Framework For Response Comparisons and Performance Analysis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •