Skip to content

kikejimenez/let_me_answer_for_you

Repository files navigation

Let Me Answer For You

A deep learning dialog system that answers specific and complex questions.

Built on top of the deeppavlov library

Pip Install

The library can be found on PyPI so you can just run:

pip install let_me_answer_for_you

Simple Usage

After the package is installed, download the file chatbot.py of the GitHub repository and run:

python chatbot.py

After the installation process is finished, the following interface appears:

Exporting from nbdev

Exporting from nbdev

In the first example, neither the FAQ or context datasets have samples. After the first context is added, it appears as a reponse to the typed answer. The second example adds a new question-answer pair. The context of the first example also provides an answer.

Technologies

The Chatbot is based on two types of question/answer models:

  1. Question Answering Model for SQuAD dataset
  2. Knowledge Base Question Answering

The first type of models can answer several questions from the same context, while the second type is very useful for specific and complex questions. It is strongly recommended to consult the deeppavlov library for further details of the available models for dialog systems.

Structure of the Package

The package let_me_answer_for_you consists of three modules: settings, dialog_system and chatbot.

The chatbot.py file of the repo, calls the ChatBot class in chatbot. This class is a child of the DialogSystem class in dialog_system. The DialogSystem class has the three main methods of the library:

  1. question_answering
  2. new_question_answer
  3. new_context

The first method retrieves a set of answers for a given question. The second method adds a new question-answer pair to the FAQ data and retrains the model. The third method adds a new context to the context data. These are the methods that may be exported as the API calls.

Requirements

The library has been tested in python 3.7

Docker

A container with all the configurations installed is available:

docker pull ejimenezr/dialog_system