How the [Q]Server Works

 

Consider what the system must do every time a user asks a question and you will be better able to build a knowledge base that will be efficient and accurate. When a user asks a question, the system goes through a nine step process to display an answer. Understanding each of these steps can help you to better take advantage of the capabilities of the [Q]Server and limit how much work you need to do to achieve excellent results..

Step 1 – Select the Knowledge Bases to Scan

NOTE: If [Q]Base binding is not being used, then this step is skipped. If you are not currently using [Q]Base binding, skip reading this step until you become more familiar with the system.

 

Every My[Q]Box must point to a [Q]Base before it can answer questions. When [Q]Base binding is used, a single [Q]Base can point to any number of [Q]Bases for additional questions to consider. When a My[Q]Box points to a [Q]Base that uses binding, it must first select which of the bound [Q]Bases to even consider scanning. Scanning them all would take too long and would result in many wrong answers. By eliminating entire sets of questions as the first step, the need to scan potentially huge sets of data is eliminated.

 

NOTE: You can set a [Q]Base to bind to other [Q]Bases using the "[Q]Base Bindings" tool that is found in the "Administration" section of the [Q]Server Tools.

 

Every bound [Q]Base automatically keeps a list of words that appear in the lexicons and within the [Q]Fields of every question in that [Q]Base. You can specify additional words to flag that a [Q]Base should be included using the "Additional Keywords for this [Q]Base feature that is part of the "[Q]Base Bindings" tool found in the "Administration" section of the [Q]Server Tools. Using this tool, you can enter the names of the bound [Q]Bases. Every word in the users question will be compared to the list, and only if one or more of the words are found will the [Q]Base be considered.

Step 2 – Cleaning Up the Input

Every question that enters the system is first passed through a filter with a number of rules that clean the question and help achieve more uniformity. The following are the rules that are applied:

 

  1. Expand all the contractions
    • can't - can not
    • couldn't - could not
    • didn't - did not
    • don't - do not
    • how's - how is
    • I'd - I would
    • I'm - I am
    • isn't - is not
    • it's - it is
    • oughtn't - ought not
    • shan't - shall not
    • shouldn't - should not
    • wasn't - was not
    • what'll - what will
    • what's - what is
    • when's - when is
    • where's - where is
    • who's - who is
    • why's - why is
    • won't - will not
    • wouldn't - would not
  1. Convert all quotes to the standard quote character
  2. Capitalize the first character
  3. Capitalize the word "I".
  4. Add ending punctuation if non-existent.
  5. Remove leading/trailing spaces.
  6. Convert multiple spaces to a single space.

 

The system sees the converted question just as if the user had applied all the above rules and typed the question correctly in the first place. None of the original errors are seen by later stages in the system.

Step 3 – Apply the Lexicon

First the Exact lexicon is applied, and then the Near Lexicon is applied. This changes the words entered by the user based on the Lexicon to appear to the system just as if the user had typed the question as converted.

 

The Lexicon allows the user to use words and abbreviations that are common to an industry. An Exact Lexicon entry matches in a case-sensitive manner while the Near Lexicon matches using a case-insensitive comparison.

 

When a user types in a question, it is scanned for any lexicon matches, and if any match is found, the question is updated by replacing the lexicon with the definition.

 

A good Exact Lexicon example might be "US=United States of America". If you used a near lexicon, it would convert the word "us" when the user really means "a group of people". Normally you reserve the Exact matching lexicon list for special circumstances where the case of the characters is important to the meaning of what the user types. Another good example might be "KB=Kilobyte" and "Kb=Kilobit". Each uses the same letters but the case determines the true meaning.

 

A Near Lexicon example might be "cd=compact disk" or "cd=certificate of deposit" depending on the industry that is covered by the knowledge base. It is very important to realize that different industries use similar words, acronyms and abbreviations each with different meanings.

Step 4 – Convert the Sentence from One Dimension to Two

This is a very key stage in the processing of a question. Normally a question can be thought of as being one dimensional, having a beginning and moving to the right until it reaches the end. Expanding each word in a second dimension, down, helps to expand the definition of meaning in the question. Several filters are used to expand the sentence in the second dimension. The result is what is called "The Situation".

 

NOTE: We won't show it here, but the time of day, the season of the year, the user asking the question, the mood and feelings of the system, combined with the context of the conversion and other subtle variables are also parts of the situation and as such can affect the outcome. "The Situation" defines everything the system knows and can assume about what the user just asked. For more information about situations as they relate to this system, read the "A.I. Overview" document. The final section of that document covers the Situation/Response technology that is the heart of the [Q]Server.

 

The best way to describe converting a question from one dimension to two dimensions is by example. Let's assume the user is asking questions about real-estate, and types the question "How bieg is lot 45?". We use this question as the example because it contains words that have multiple meanings, misspellings and numbers, all which cause expansions in the second dimension.

 

The sentence is expanded using the following filters:

  1. Mid-sentence version of word. (See "How" and "45?")
  2. Numbers converted to words. (See "45?")
  3. Spellchecker results. (See "bieg")
  4. Custom thesaurus results.
  5. Thesaurus results. (See "lot")

 

The resulting two dimensional situation might look like this:

 

How

bieg

is

lot

45?

how

bien

 

parcel

45

 

bier

 

plot

forty-five?

 

bigg

 

tract

forty-five

 

bing

 

part

 

 

big

 

block

 

 

beg

 

plat

 

 

 

 

fate

 

 

 

 

fortune

 

 

The additional information contained in the expanded two dimensional question gives the system more to work with as it tries to find a matching question in the Knowledge Base. The system will weigh the original words typed by the user with more weight than words it constructed as part of expanding the sentence in the second dimension. The addition of these words make finding a match with the same meaning as the users question, but with different words, much more likely.

Step 5 – Select a Matching [Q]Form

The situation is then compared to all of the [Q]Forms created in the Knowledge Base. If a matching [Q]Form is found, then the words in the users question that match the [Q]Fields in the [Q]Form are flagged as highly important. Then, based on the "Answer Selection" settings found in the "Matching Options" section of the "Answer Page Look & Feel" tools found in the "Administration" section of the [Q]Server Tools.

 

There are four possible settings as shown below:

 

Answer Selection: 

o       All words in all [Q]Fields must exist in users question

o       One word from each [Q]Field must exist in users question

o       One word from any [Q]Field must exist in users question

o       [Q]Fields are ignored when matching users question

 

Each of the above settings may result in different answers being given to any specific question asked by a user. At this point, it is highly recommended that you watch the "How [Q]Forms Are Used" video found in the "User Manual" tool in the "Miscellaneous" section of the [Q]Server Tools.

 

If by chance a matching question is not found in the following steps, the default answer associated with the best matching [Q]Form will be used to respond to the user. If no matching [Q]Form is found, then the Master Default Answer will be used to respond to the user.

 

NOTE: The Following step is skipped if the "[Q]Fields are ignored when matching users question" Answer Selection option is selected.

Step 6 – Select a List of Possible Matches

By the time the system has reached this step, the situation is well defined and the meaning of the users question is likely to be well understood by the system. Even with all this information, the likelihood of finding a match in a large Knowledge Base is still not perfect. Reviewing every question in a Knowledge Base would be slow and would make finding a match difficult.

 

To avoid fully scanning every question in the Knowledge Base, a filter is put in place at this stage that selects only those questions that have some likelihood of being a match to the users' question. The important words in the users question are used to quickly scan the Knowledge Base to find only questions that have the possibility of matching the users' question.

 

The creation of a short list of questions to consider greatly increases the efficiencies of the following stage. The short list will still contain questions that are not related to the users' question, but in most cases the ability to select the best question has been greatly increased. It is so that this step can occur that we highly recommend using [Q]Forms when you teach.

Step 7 – Select Matching Questions

This step uses the proprietary "Relationship Engine" to compare the meaning of every question in the "list of questions to consider" to the meaning of the users question. When it is done, it will have generated a very short list of possible matches and applied a confidence rating to each match.

Step 8 – Elimination

Each question in the list is scanned and removed if any of the following rules are true:

 

  1. Confidence rating is below threshold.
  2. The same answer is already referenced by a better matching question.
  3. Same confidence as top match but context is not a match.
  4. Is a [Q]Form match and a real matching question was found.
  5. Is not one of the top five matching questions

 

NOTE:  You can set the confidence threshold in the "Matching Options" section of the "Answer Page Look & Feel" tool found in the "Administration" section of the [Q]Server Tools.

Step 9 - Presentation

Once the best matching question is found, the answer for that question is retrieved and the settings from the "Answer Page Look & Feel" tool are applied to create the final output.