A Key Statistics ChatBot for the British Heart Foundation(BHF) - A joint project between UCL and the BHF
This project aims to deliver a standalone web application that provides an interactive chatbot that answers FAQs and provides key statistical information based on the BHF compendium.
- Download the code from GitHub
- Download python 3.8 from https://www.python.org/
- Open your terminal
- Change your directory to comp0016_team_20
- Run the following command in your terminal:
python fix_dependencies.py
- This will install all the dependencies required to run the chatbot
- Open your terminal
- Change your directory to comp0016_team_20/src
- Run the following command in your terminal:
python app.py
- Click on the link displayed in the terminal
- This will open your browser with the chatbot web application
- Interact with the chatbot using the web interface
- Hover over help button in web interface if help is needed
- To shutdown the chatbot/web application, in your terminal press
CTRL+C
to quit - Please refer to the user manual for further guidance
- src - Contains all the data and code required for the chatbot and web application
- FAQS - Contains all the data and code required for the FAQ chatbot
- Retrieval - Contains all the data and code required for the data retrieval chatbot
- templates - Contains the html code required for the chatbots web application
- static - Contains the css code required for the chatbots web application
- app.py - The main python file to run and start the web application for the chatbot
- unit_test.py - A python file with unit tests
- sys_test.py - A python file with system tests
- fix_dependencies.py - A python file to automatically download all required dependencies
- requirements.txt - A text file that contains all the libraries used in the chatbot code
- sources.txt - A text file that contains all references for sections of code and images used
- test_questions.txt - A text file that contains a list of example questions that can be used to test the chatbot
- HeartBOT’s source code is licensed under Creative Commons Attribution-NonCommercial 4.0 International License.
- Link to license: https://creativecommons.org/licenses/by-nc/4.0/
- See projects legal statement for further information
UCL - COMP0016 Team 20
A data retrieval question may get mapped to an FAQ, if it is of the same string length
Bug Description: This would happen when a user presents a question that is too vague, doesn’t contain enough keywords to get recognized as a data-retrieval question, and has a lot of similar words to a question from the FAQ database. In practice, this is highly unlikely to happen because FAQs contain few keywords that are similar to row/column names from the BHF compendium. Furthermore, users of the app are knowledgeable of the compendium and are going to ask targeted specific questions.
- Sometimes you may need to use
python3
instead ofpython
All references are provided in sources.txt