Skip to content

🤖 API for Ubb, a chatbot that trains a Natural Language Processing model using NLTK & TensorFlow to answer questions about personal finance, built with Django

nikimanoledaki/finbot-api

Repository files navigation

Finbot API

This repo contains the API for a chatbot, Ubb, that trains an Natural Language Processing (NLP) model and teaches about personal finance. Built as a group for the final project at Makers Academy. You can access the frontend of the project here.

Learning Journey

This was the team's first experience with Python, Django, Natural Language Processing, Tensorflow, and NLTK. It was also the team's first time

AI Model for Bot

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.

The bot can predict the correct intent based on a user input. The user input is then tokenized/stemmed (i.e. create a 'bag of words') and then the model returns a response for the intent that most closely matches the user input.

Finally, the bot returns a response related to that intent.

Once this context is set, the bot also asks the user if they would like more information. If the user says yes, the bot responds with a few reading resources. These resources are curated links from trustworthy sources.

If the bot does not understand or if the user is unsure about what to ask, the bot prompts the user with a list of topics that the user can ask about.

The Team

Meghan Iankov | Niki Manoledaki | Bassel Al-Sayed | Shadi Khazaei | Emily Spencer

Deployed App

Frontend: https://finbot-fe.herokuapp.com/ API: https://finbot--api.herokuapp.com/

Getting Started

1. Install the software needed to run the program

  • Install a version of Python 3 - we recommend Python 3.6, but the program can run witha any version of Python 3. Many of us have Python 3.7.6 installed on our local machines.
  • Install TensorFlow 1.13.1
  • Install Django
  • Install NLTK

### 2. Start a python environment Install pipenv if you don't have it already.

brew install pipenv 

Then start a local virutal environemnt with pipen shell. This virutal environment automatically detects and runs the latest python version available on your local machine.

$ pipenv shell

3. Install all other dependencies

After cloning the repo, run:

$ pipenv install

Running the program

Start Server

$ python manage.py runserver

Built With

  • Python
  • Django
  • Tensorflow
  • TFLearn
  • NLTK (Natural Language Toolkit)

About

🤖 API for Ubb, a chatbot that trains a Natural Language Processing model using NLTK & TensorFlow to answer questions about personal finance, built with Django

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages