(Eliza Database Editor)
7 - Keyword Search Database
1. Creating New ChatBot
2. Setting ChatBot Information
 

3. General Reply Database
4. Main Reply Database
5. Reply Extension Database
6. Reply associated with Yes/No/Why/Doubt/Elaborate
 

7. Keyword Search database
8. Keyword Search Start ... and End with ... Database
9.  WorkSeek Database
10. Correction Database


 

Introduction
Adding a new keyword
Editing the keyword
Deleting the keyword


Introduction

  • Once you have built up a list of replies. You are now ready to build the keywords.
  • The bot will search for the keywords that most closely match the user input before getting the appropriate reply. The bot choice of keywords will depend on the "ranking rate" assigned by you when creating the new keyword.
  • I will use the example below for illustration:
    Keywords Reply Reply ID
    i like to eat apple It is good for your health. 1
    i am apple You are not orange. 2
    you are an apple I am not an apple. 3
    he is an apple You are a human. 4
    are you apple I am not an apple. 5
  • It is strongly recommended that you go through the correction database on processing user's input first before you start keying in the keywords.
  • The following are a list of corrections which will be done INTERNALLY by the bot. (Info taken from correction database view):
    If the User Input STARTS WITH . . .

    could convert to can

    should convert to shall

    would convert to will

    were convert to are

    was convert to is

    did convert to do

    no convert to " " (nothing) *Read the note below

    yes! convert to " " (nothing) *Read the note below

    no i convert to i

    yes i convert to i

    because convert to " " (nothing)

    ok convert to " " (nothing)

    okay convert to " " (nothing)

    now convert to " " (nothing)

    right convert to " " (nothing)

    yeah convert to " " (nothing)

    yes convert to " " (nothing)

    no convert to " " (nothing)

    nope convert to " " (nothing)

    yup convert to " " (nothing)

    (e.g.) could i swim will automatically convert to can i swim

    Note: if users input is a single word No, Yes, that will be handled in a separate database.

    But if user entered yes i got to go then it will be converted to i got to go before searching for standard database for word match.

    The list below will perform correction when the word occured ANYWHERE in the user input

    i'm convert to i am

    i've convert to i have

    i'hv convert to i have

    me'll convert to i will

    me'm convert to i am

    me've convert to i have

    me'hv convert to i have

    me'll convert to i will

    you're convert to you are

    you've convert to you have

    you'hv convert to you have

    you'll convert to you will

    let's convert to let us

    what's convert to what is

    whats convert to what is

    who's convert to who is

    whos convert to who is

    don't convert to dont

    can't convert to cant

    won't convert to wont

    didn't convert to dont

    i'd convert to i would

    who're convert to who are

    AFTER going through Correction Database, All a and an will be removed.

    (e.g.) id like to eat an apple will become i would like to eat apple

    Notice from the example above that:

    id becomes i would

    an apple becomes apple

     

  • Imporatant: If you are using existing database to start a new bot, make sure you take a look at the correction database that correct user inputs prior to looking for a matching keywords by the bot.

Adding a new keyword (with new replyID)

  • Firstly you need to decide the category where this keyword should be put in?

 

By clicking on each of the categories, Sub-categories will be displayed.

For example if you click "ASK" button. It is pretty obvious all QUESTION type will be under this category.

The reason for separating into categories are for easier management of keywords once they grow in size.

 

The screen below shows ASK button and sub categories of Are you/Why you... being clicked:

If you are new to this, please always READ what is written in the red text box at the right for guidance.

If your keyword is: "are you stupid?"

It definitely falls into this category. If you key in the keyword "stupid" under this category, the bot will instantly recognise user input of: "am you stupid, are your stupid, is you stupid, why are you stupid, .......).

Since this is not a grammar conscious chatbot, it will try to capture the meaning even if there is a grammatical error such as "Is you stupid".

Now assuming that i would like to teach the bot on this:

Keywords Reply Reply ID
i like to eat apple It is good for your health. 1

Step 1: Choose Person category - Meaning You, I, He, She etc.

Step 2: Choose Sub category of  Self (I like ...)
(take note that if your keyword is i prefer apple, it is still under this sub category - Read what is written in the read textbox)

Step 3: Click on add new keyword and key in the details then click Save, as below:

(Notice that beside each field there is a button, it will explain in details on the associated field)

  • Once step 3 is done, if you test the conversation, you will find that for a single keyword "apple", the chatbot will recognise this: i like apple, i prefer apple, i favour apple, i love apple, i like to eat apple, i like to eat apple very much, etc.
     
  • This is how it works: by putting the keyword into a correct category, the chatbot will search this database once it sees the sentence starts with i like, i prefer, i favour, i love ...
     
  • Next, it will search the keywords in the database that appear anywhere in the sentence. (Hence it makes no difference if user input is i like to eat apple very much or i like apple - both sentence contain the word "apple").
     
  • If you are thinking to have a specific reply to "i like to eat apple", you can create the keyword as "i like to eat apple" (suggest put the rank rating as 301) or keyword "to eat apple" (rank rating of 300 - 3 words).
    For Rank Rating, the general rule is: Number of words multiply by 100.
  • But "i like to eat apple" has been suggested to be given a rank rating of 301, this is due to:
    (1) the database already under i like ... category, hence the first two words should not be counted.
    (2) As the search method is keyword CONTAIN in the sentence. Hence "i like to eat apple" should take precedence over another keyword of say "to eat apple" (Normal rank 300).
     

EXAMPLE:

Assuming that there are 3 keywords being keyed "apple", "i like to eat apple", "to eat apple"

  • If user key in "i like to eat apple",  All keywords "to eat apple" and "i like to eat apple", "apple" will be selected by the bot. Next the bot will compare the rank rating of the reply: "i like to eat apple" has rank rating of 301 (higher) will be selected. (The other two has rank rating of 300 and 100 respectively)
     
  • If user key in "i love to eat apple",  both keyword of "to eat apple" and "apple" will be selected by the bot. (i like to eat apple will be ignored)
    Next the bot will compare the rank rating of the reply: "to eat apple" has rank rating of 300 (higher) will be selected over "apple"-with rank rating of 100.

 

Example on another keyword:

Keywords Reply Reply ID
you are an apple I am not an apple. 3

Category: Person, Sub-Category: Bot(You) [Click on the picture to enlarge)

  • The internal algorithm will automatically remove "an". (Refer to correction database for list of internal and external correction list). Hence when user keyed in "you are an apple" [or you are the apple/you are a apple], the bot will understand it as "you are apple".
  • In view of the previous point, your keyword to key in can only be "you are apple"(suggested rank rating=101) or "apple"(Suggested rank rating=100). If you were to key in "you are an apple", the bot will never able to find this keyword as the sentence "an" will automatically be removed before searching for the database.

Editing a keyword

1. Click the the keyword to edit. (The details will then list on all the record field)

2. Click on the "Edit Selected Keyword" button.

3. The make whatever changes you wish, Click F3 to SAVE. (Or cancel to abort any changes).


Deleting a keyword

1.  Click the the keyword to delete. (The details will then list on all the record field)

2. Click on "Delete Selected Keyword" to delete.