Similarity-based conversational dialog engine for Python.
Project description
QnA Builder
Introduction
QnA Builder is a simple, no code way to build chatbots in Python. It provides a similarity-based conversational dialog engine, QnA Bot, which makes it easy to generate automated responses to input questions according to a set of known conversations, i.e., question-answer pairs, stored in a knowledge base. QnA Bot relies on a collection of question-answer pairs to generate (predict) answers for new inputs.
Install
The easiest way to install the qna-builder is by using pip
:
pip install qna-builder
This library is shipped as an all-in-one module implementation with minimalistic dependencies and requirements.
Getting started
A QnA Bot can be set up and used in four simple steps:
- Import
QnABot
class
from qnabuilder import QnABot
- Initialize a bot
bot = QnABot()
- Fit the bot engine to a knowledge base
bot.fit(kb="knowledge_base.json")
- Generate answers
bot.answer("Hey. What's up?")
"All good. What's up with you?"
Algorithms
Currently, QnA Bot engine supports the following algorithms for similarity-based answer generation:
- TF-IDF Vectorization (
'tfidf'
) - Murmurhash3 Vectorization (
'murmurhash'
) - Count Vectorization (
'count'
)
Supported similarity metrics are as follows:
- Cosine similarity (
'cosine'
) - Euclidean distance (
'euclidean'
) - Manhattan distance (
'manhattan'
) - Haversine distance (
'haversine'
)
Knowledge base editor
By calling run_editor()
method of QnAKnowledgeBase
class, the knowledge base editor window will open up in
your web browser and allows you to edit your knowledge base by adding, removing, or modifying questions/answers.
from qnabuilder import QnAKnowledgeBase
kb = QnAKnowledgeBase('my_knowledge_base.json')
kb.run_editor()
Here, you can see a screenshot of the knowledge base editor:
Note that you need to install the optional requirement streamlit to be able to use the knowledge base editor.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for qna_builder-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 195abf3c58aac1207b7fc798f13a0dbbc76f415e3249d9b11b645d71b2a1dc29 |
|
MD5 | 13dddc4fd113543d549367c207a9f375 |
|
BLAKE2b-256 | 9f6b7bc58e1824dfa3278655238fa346d689b1093365d91a5334647567d61c95 |