This repo contains the API for a chatbot, Ubb, teaches users about personal finance. The API is built using Django, receving user inputs as POST requests and returning chatbot responses to the user as GET requests. The code also contains the logic for a model that trains a bot using Natural Language Processing (NLP)/machine learning.
Built as a group for the final project at Makers Academy. You can access the frontend of the project here.
The project came about as a result of wanting to build a tool to increase financial literacy as well as the interest to learn a new language (Python) and machine learning.
This was the team's first experience with Python, Django, Natural Language Processing, Tensorflow, and NLTK. It was also the team's first time
The bot logic was built using NLTK, a Python library for NLP, which we used to tokenize and stem a set of intents. We trained the bot by passing that pre-proccessed data through a neural net using Tensorflow/TFLearn.
We could then predict the correct intent based on a user input. The user input would be tokenized/stemmed (i.e. create a 'bag of words') and then the model would return the intent that most closely matched the input.
Finally, the bot returned a response related to that intent.
Meghan Iankov | Niki Manoledaki | Bassel Al-Sayed | Shadi Khazaei | Emily Spencer
Frontend: https://finbot-fe.herokuapp.com/ API: https://finbot--api.herokuapp.com/
After cloning the repo, run:
pip install
$ python3 manage.py runserver
- Python
- Django
- Tensorflow
- TFLearn
- NLTK (Natural Language Toolkit)
- Pytest (testing)