1. Why?

Couple month ago I discovered a wonderful piece of software - QNAMaker.AI. It allows to build a chatbot based on “Questions and Answers” - a table that has 2 columns - one column contains question and second - corresponding answer. This table is often referenced as Knowledge Base (KB). Service provides a web-based editor for Knowledge Base, test page for playing with “QnA” chatbot produced from KB, import/export between Knowledge Base and Excel spreadsheet and ability to start engine with the customer knowledge base as a separate Azure web application.

Read more →

2. QNA Maker .AI what's under the hood?

After deploying QNA Maker .AI I looked how it is deployed and what is going under the hood. What I found was a Windows machine with combination of .NET and Python NLP applications. Wandering in command shell I stumble upon the configuration file claiming that return value is a weighted sum of 3 similarity scores TF-IDF (0.1), Wordnet (0.5) and AzureSearch (0.4). Then I run a simple test from my machine to QNA Maker.

Read more →

3. QnA Maker .NET

First - I was shocked to find out that domain name “qnamaker.net” is free to grab - and I grabbed it for this little project. When I will build a UI - it will be deployed there. Second - I decided to write a service using Go programming language - it got wonderful NLP and http libraries - comparable with Python and Julia. Algorithms For TF-IDF similarity score I used LSA - Latent Semantic Analysis with TF-IDF scoring and the library mentioned there.

Read more →

4. What is implemented?

Basic NLP engine (API with Endpoint keys, training, persistance) compatible with qnamaker.ai with significant acceleration. Import from TSV KB format - compatible with qnamaker.ai

5. What is not implemented?

So far there are: No homepage No KB editor No Azure deployment interface No Test chatbot No automatic chatbot generation No advanced QnA features - multi-turn, prompts, context dependent questions etc. No scientific testing utility - with parallel requests, different word substitution / permutation scenarios, comparison of precision and recall between qnamaker.AI and qnamaker.NET

6. What is next?

Some of these features (a minimalistic set) I am planning to implement in this MVP, others I will leave till paying customers or interest from other companies …