This document contains the instructions for Kwizmo clients

Dictionary

 
Client A client is a company or a legal entity using Kwizmo to solve their business needs.
User A user is a person using Kwizmo to get the answer they need.
Context A context is the business area for which the company is using Kwizmo to help their users or employees.
Kwizmo portal

Kwizmo portal is a webpage kwizmo.eu which provides usage statistics for the clients and also learning interface.

 

Mission

At the moment Kwizmo can be used to provide answers to questions related to information from the documents or web pages. The questions can be complex requiring information from different documents or simple for which only one documents can provide the answer. Questions must be in written form.

Use cases

  1. Providing assistance and knowledge to support personnel.
  2. Real time help to users of mobile or web applications.
  3. Preparing replies to emails sent by the clients or users.
  4. Using natural language processing the web application can quickly adopt to changes in business requirement. Not all changes need to be reprogrammed. For some only the artificial intelligence can be retrained.
  5. ...

Kwizmo provides three main functionalities

  1. The user registers to kwizmo.eu and posts questions. The questions can be posted for as long as the user has enough credits. Credits can be bought inside Kwizmo. This functionality is appropriate for clients with sellable information (for example cook book authors). At the end of the month the profit is divided between Kwizmo and the client.
  2. Kwizmo bots which can be integrated into any website. The consequence of integration is that the bot inherits most of the website design. The disadvantage of such approach is that the inherited design can affect the look of the bot and this needs to be taken care of. But the importnt advantage is that the webpage and the bot can easily communicate. The webpage can send the bot a question using javascript function: "setKwizmoQuestion(question)". Once the answer is prepared the bot calls javascript function: "kwizmo_callback(answer)". This function must be implemented in the webpage if the webpage expects the bot to return the answer to it. This is usefull for webpages which already have search functionality implemented and would like to use bot to provide the results but would not like to change the GUI. The webpage should call javascript function: "kwizmo_resetConversation()" to start a new conversation. New conversation is created whenever a bot is reloaded.
  3. Conversion between natural language and computer language. For example: I got to the bank and tell the cleark what I want him to do for me. The clerk transforms my request into computer commands and executes what I wanted him to do. Conversion between natural language and computer language can help the computer understand what I would like to achieve.

Knowledge base

The knowledge base used to train Kwizmo context must be provided by the client in the form of webpages or PDF, Word or Powerpoint documents. The client also decides if the answers are sellable or not (functionality number 1). If they are sellable, the client must specify:

  1. The number of credits the user will need to pay for every answer he/she gets.
  2. Example question shown as a placeholder in the area designated for questions in the Kwizmo portal.
  3. Administrator email address. Administrator must also register to Kwizmo portal. When logged in, the administrator can also post questions but also has access to usage statistics and training interface. The administrator can see the link to Kwizmo portal with the clients sellable information. The client can then post this link on any electronic channel they might have.

Each credit costs between 3.6 and 4 EURo cents (depending on the number of credits the user buys at once). The answers are sellable only through Kwizmo portal. All credits spent on any context is divided between Kwizmo and the client.

Clients and Kwizmo bots (functionalities number 2 and 3)

For any new client to start using Kwizmo bot they need to contact Kwizmo team on info@kwizmo.eu. The team guides the client through the process of onboarding to Kwizmo and through the bot training phase for every context the client decides to use Kwizmo for. A special link to be used in the webpage is prepared for every context. To properly configure the bot the client must send the following information for every context:

  1. The URL on which the bot will be hosted because it must be whitelisted.
  2. The number of questions per month that the client allows to be posted. This is usefull for limiting the costs of the bot.
  3. Example question shown as a placeholder in the area designated for questions in the Kwizmo portal.
  4. Administrator email address. Administrator must also register to Kwizmo portal. When logged in, the administrator can also post questions but also has access to usage statistics and training interface.

For integration to web pages the following example can be used

<?php
echo file_get_contents('https://www.kwizmo.eu/plugin/kwizmo.php?question_source=${key}');
?>
(key is provided by Kwizmo team) or use CURL alternative or java alternative like:

public String getRemoteContents(String url) throws Exception {
URL urlObject = new URL(url);
URLConnection conn = urlObject.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine, output = "";
while ((inputLine = in.readLine()) != null) {
output += inputLine;
}
in.close();

return output;
}
and then call this function on the web page the bot needs to appear.
The bot must be added using above approaches before body closing tag (exactly before </body>).

Kwizmo bot URL supports the GET parameter get_sources which instructs the bot to return the sources used to create the answer. By defualt sources are not returned. Sources are never returned to the webpage with kwizmo_callback function.

Kwizmo bot URL supports the GET parameter hide_icon which instructs the bot to hide itself completelly. By default the bot's icon is visible. Hiding the bot is usefull in cases where the webpage does not want to show that there is an AI bot behind its processing and only sends the question to bot and processes the answer with the callback function described above.

Kwizmo bot URL supports the GET parameter TTS which instructs the bot to read the answer. The answer is read in the language detected or passed with the tts_language parameter. If the language of the text is passed, than language detection is not used. Language should be written as two character string (e.g. en for English, sl for Slovenian, ...). If the function kwizmo_callbackAudioLink is defined, it receives the URL to mp3 which should be played and the calling app is responsible for playing it.

Kwizmo bot URL supports the GET parameter show_print which instructs the bot to show or not show the print answer button. If the value is 1, the button is shown. Otherwise it is not shown.