Skip to content

A cross-platform demo chatbot created with a fine-tuned BERT model, and Microsoft's BotFramework.

License

Notifications You must be signed in to change notification settings

Joffreybvn/resa-chatbot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resa chatbot

A cross-platform chatbot based on MS Bot Framework, PyTorch and a fine-tuned BERT model, to demonstrate how to easily create complex dialogs and deploy it on Azure.

Test is on chatbot.joffreybvn.be, tell him that you want to book a hotel room!

Bot features

  • Advanced NLU (thanks to BERT) to understand custom intentions
  • Strong entity and keywords matcher, to detect complex informations
  • Flexible dialogs flow that adapt to user's responses
  • Easy-to-interact on any platform, thanks to cards, buttons and more

The dialog flow

The process of transforming and sanitizing a message in order to be able to classify it. The process of recognising and giving a label to a message.

Techs and libraries used

The efficient implementation of our solution relies on a plethora of solid libraries:

Library Used in Detail
BeautifulSoup Preprocessor.py Preventing and removing tags and other HTML elements
Unidecode Preprocessor.py Removing all accents
SpaCy Preprocessor.py Lemmatize and detect numbers written in letters
word2number Preprocessor.py Replace the numbers written in letters, into digits
contractions Preprocessor.py Detecting and replacing contracted forms of language
transformers Classifier.py Downloading and using BERT
PyTorch Classifier.py Fine-tuning the model based on our dataset
PolyFuzz Classifier.py With regex, to detect keywords and complex intentions

This bot is cross-platform

All these libraries have been brought together with Microsoft's Bot Framework, a tool that allows us to publish this bot on all the following platforms:

As of today, the bot is available on:

Project timeline

This project was completed in 5 days by two Machine Learning students from BeCode:

About

A cross-platform demo chatbot created with a fine-tuned BERT model, and Microsoft's BotFramework.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Python 98.2%
  • Dockerfile 1.8%