Open topic with navigation
Answer Server uses IDOL technology to provide specific and concise answers to user questions.
In a traditional IDOL Server system, the user provides some search terms, or uses special search syntax, and the server returns a list of related documents. In Answer Server, the user specifies a question, and the server returns as specific an answer as possible.
The Answer Server has four types of system to answer different question types.
Answer Bank. The Answer Bank contains a store of reference questions and answers, which you can add and administer. When a user asks a question, the Answer Bank queries the store of existing questions for any that match, and returns the relevant answers. You can use an Answer Bank to maintain an FAQ list to answer questions such as:
Fact Bank. The Fact Bank contains a store of factual information, to return simple factual answers. For example, you could use a Fact Bank to answer questions such as:
Passage Extractor. The Passage Extractor links to a store of documents that contain general information that might be useful for answering questions (for example, your normal data IDOL Server). When a user asks a question, the Passage Extractor queries the document store and attempts to extract short sentences or paragraphs that contain relevant answers. You can use a Passage Extractor to answer general questions that you do not have a fact store for, or that do not have a simple answer, such as:
Conversation. The Conversation module runs a real time conversation task with your end users. It allows you to set up an interactive virtual assistant to answer common user queries.
You can configure as many different versions of each system as you need. When you send a question to Answer Server, you can specify which of the configured systems you want to retrieve answers from.
The following sections describe the setup for these systems in more detail.
The following diagram shows the different components of the Answer Server system.
The answer bank system uses a dedicated IDOL Agentstore component.
The Agentstore is a specially configured IDOL Content component that stores the set of questions and their answers. You can also create question equivalence classes, which store a set of equivalent questions that map to the same answer.
The fact bank system consists of three pieces:
Fact Store (SQL database or Lua script). The fact store contains the factual information that you want to retrieve. Answer Server uses the parsed question and the associated entity and property codes to search the fact store for relevant facts. Usually the fact store component is a SQL database. Alternatively, you can use a Lua script to retrieve facts from an external fact store.
Question Parser (IDOL Eduction). The fact bank uses a specialized Eduction grammar to parse questions and extract the parts of the question that define the fact that the question requests. For example, for the question "what is the population of the USA", Eduction determines that the user wants to find the population property of the USA entity. The Eduction module is embedded in Answer Server, so you do not need to install a separate component.
Coding files. The coding files map entities, properties, and their synonyms to a unique code. Answer Server uses this code to retrieve data from the fact store. For example, the coding files can store the different ways of referring to the country USA as a single code (United States of America, US, and so on). The code can be easily retrieved to match to associated facts.
The fact bank system also includes additional Eduction grammars for advanced time normalization. Advanced time normalization extracts dates and times in various formats from questions and normalize them to a consistent format, to improve fact retrieval.
The passage extractor system consists of two components:
The passage extractor also requires:
Classifier training files. These files define types of questions, which determine the type of answer it looks for. You can configure Answer Server to save the training files and training data.
The conversation system does not have any required subcomponents. You configure conversation tasks by using a JSON configuration file, which describes the task, including:
You can set your conversation triggers by using fixed phrases, regular expressions, or IDOL agents. If you want to use IDOL agents as triggers, you must configure an IDOL Agentstore component.