Skip to content

A fully interactive domain-specific chatbot implemented using Prolog and PySwip.

Notifications You must be signed in to change notification settings

Lombavix-Team/FlorenceBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlorenceBot


Logo

A fully interactive domain-specific chatbot implemented using Prolog and PySwip.

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. Contacts
  6. Acknowledgments

About The Project

A chatbot is basically software that simulates and processes written and spoken human conversations, allowing users to interact with digital devices as if they were communicating with a real person. The proposed work is FlorenceBOT, a chatbot implemented using python and pyswip. The knowledge of this chatbot is domain-specific and it regards the Cathedral of Santa Maria del Fiore in Florence.

More specific, we provide a software with a UI that allows the user to write (or speak) the question about the specific topic, and read the answer (or listen) almost instantaneously. According to this paper, this chatbot can be classified as:

  • Fully interactive: because it is both text and speech based;
  • Task-Oriented: because it helps the user to acquire knowledge;
  • Rule-based: because it does not rely on a ML technique, but instead it is based on Prolog rules;
  • Domain-specific: FlorenceBot has knowledge base about Santa Maria del Fiore.

For a video demo, please look at this file

Built With

This section lists any major frameworks/libraries used in this project.

For more details, please read the requirements.txt file

(back to top)

Getting Started

To get your system up and running, follow these simple steps.

Prerequisites

You need and environment with python 3.6.16. This is needed to install particular packages versions.

Installation and Usage

  1. As described in the requirements.txt file, you should install all the listed packages with the correct version.

  2. After that, to let the spacy nlp module work properly, it is needed an additional language module installation:

     python -m spacy download it_core_news_lg
  3. Lastly, to let pyswip work correctly, you need to install SWI-Prolog from the official website.

  4. Finally, if everything has been installed and set up correctly, you should be able to run the chatbot:

    python ./main.py

(back to top)

Roadmap

These are some of the features we would like to add to this project.

  • Add text-to-speech module
  • Make the chatbot able to reply to greetings
  • Let the IRS to check on web for additional related images

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

(back to top)

Contacts

(back to top)

Acknowledgments

This space lists all the helpful resources we would like to give credit to.

(back to top)