https://github.com/kikejimenez/let_me_answer_for_you
Question and Answering System Using Deep Learning and Knowledge Based Technologies
https://github.com/kikejimenez/let_me_answer_for_you
chatbot deep-learning natural-language-processing nbdev nlp pavlov question-answering
Last synced: 8 months ago
JSON representation
Question and Answering System Using Deep Learning and Knowledge Based Technologies
- Host: GitHub
- URL: https://github.com/kikejimenez/let_me_answer_for_you
- Owner: kikejimenez
- License: apache-2.0
- Created: 2020-06-10T00:07:21.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-04-12T06:04:42.000Z (about 3 years ago)
- Last Synced: 2024-08-08T15:29:29.501Z (almost 2 years ago)
- Topics: chatbot, deep-learning, natural-language-processing, nbdev, nlp, pavlov, question-answering
- Language: Jupyter Notebook
- Homepage: https://kikejimenez.github.io/let_me_answer_for_you/
- Size: 6.69 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Let Me Answer For You
> A deep learning dialog system that answers specific and complex questions.
Built on top of the [deeppavlov library](https://deeppavlov.ai/)
## 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](https://github.com/kikejimenez/let_me_answer_for_you) repository and run:
```
python chatbot.py
```
After the installation process is finished, the following interface appears:


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](http://docs.deeppavlov.ai/en/master/features/models/squad.html)
2. [Knowledge Base Question Answering](http://docs.deeppavlov.ai/en/master/features/models/kbqa.html)
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](https://deeppavlov.ai/) 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](/let_me_answer_for_you/settings), [dialog_system](/let_me_answer_for_you/dialog_system) and [chatbot](/let_me_answer_for_you/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](https://kikejimenez.github.io/let_me_answer_for_you/dialog_system#DialogSystem.question_answer)
2. [new_question_answer](https://kikejimenez.github.io/let_me_answer_for_you/dialog_system#DialogSystem.new_question_answer)
3. [new_context](https://kikejimenez.github.io/let_me_answer_for_you/dialog_system#DialogSystem.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._
#### [Read the Docs](https://kikejimenez.github.io/let_me_answer_for_you/)
#### 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
```