Skip to content

Repository files navigation

Logo

UniChatbot

About The Project

This project was developed as part of my thesis, focusing on the creation of a closed-domain chatbot using Semantic Web technologies. The Unichatbot (University Chatbot) is a functional chatbot designed to answer questions related to the 2023-2024 academic guide for the Department of Informatics at Aristotle University of Thessaloniki. The necessary information is retrieved through the execution of SPARQL queries on the UniOntology ontology, utilizing the GraphDB platform. The primary goal of the chatbot is to provide students with quick and easy responses to questions about the academic guide, saving them time and effort from reading through it.

Built With

  • RASA
  • Python
  • HTML/CSS
  • Javascript

Getting Started

If you want to get a local copy up and running, follow these simple example steps.

Prerequisites

  • Setting up the environment

    You must create a virtual environment that uses Python 3.9

    python3 -m venv ./venv

    And then install Rasa Open Source

    pip3 install rasa

    If you're having trouble with the RASA installation you can follow their quide https://rasa.com/docs/rasa/installation/installing-rasa-open-source

  • Setting up GraphDB

    It is also necessary to install GraphDB for storing and providing access to the ontology. After downloading the latest version of GraphDB from the link https://graphdb.ontotext.com/ and launching the application, it will redirect us to the web application Workbench. From there, we need to create a new repository named UniOntology by following the options: Setup → Repositories → Create new repository. Finally, within the repository we created, we need to import the ontology by selecting Import → Upload RDF files and choosing the file UniOntology.ttl, which is included in the UniChatbot Project. Once these steps are completed, GraphDB is ready to accept SPARQL queries on the ontology.

Installation

  1. Clone the repo into your environment and import all the libraries that are used in actions.py
  2. Activating the Action Server: In order for the chatbot to execute actions, we need to activate the Action Server by running the command
    rasa run actions
  3. Model Training (Optional): If we want to train a new model on updated data, we need to run the command
    rasa train
    We can ensure that the newly trained model is working correctly by running it in the shell using the command
    rasa shell
  4. Activating the Rasa Server: We also need to start the Rasa Server, which accepts API calls via a simple HTTP POST request. To do this, we need to run the command
    rasa run -m models --enable-api --cors "*" --debug
    This is a necessary step for using the UI.
  5. Opening the User Interface (index.html): After completing all the steps above, we simply need to open the index.html page in our browser, from which we can easily test the chatbot.

Contact

Daniil Malamati - daniilmatin@gmail.com

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages