Introduction
OpenText 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:
- How do I fix my phone screen?
- What does error 404 mean?
- Can I use my phone to send photos of cats?
-
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:
- What is the population of the USA?
- Who is the CEO of OpenText?
- What is the average June temperature in Antarctica?
-
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:
- What is the tallest building in the world?
- What did the only repealed amendment to the US Constitution deal with?
- What is the weight of the Eiffel Tower?
-
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.
You can also configure Remote systems, which refer to an answer system on a separate Answer Server. In this case, you configure the system as normal on the remote Answer Server, and then configure a remote system in your main Answer Server. When you send a question to the main Answer Server, it can forward it to the remote systems. See Set Up a Remote Answer System.
Answer Server System Architecture
The following diagram shows the different components of the Answer Server system.
Answer Bank
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.
Fact Bank
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.
Passage Extractor
A standard passage extractor system consists of two components:
- Data Store (IDOL Content component). The data store is an IDOL Content component that contains the documents that you want to attempt to extract answers from. This might be a general knowledge base (such as an index of Wikipedia documents), or a data set that is more specific to your business use (such as an index of your company policy documents). This data store does not have to be unique to Answer Server. That is, you can use your normal IDOL Server data Content component.
- Passage Extractor Agentstore. The passage extractor uses Agentstore for some of the entity extraction operations. For example, you can set up agents that define people and place entities, and the passage extractor uses agent queries to extract those entities from the documents that you use to find answers. Agent matching is often quicker than Eduction entity matching for simple entities that consist of fixed text, such as names.
The passage extractor also requires:
- Eduction grammars. The passage extractor uses the Question Parser Eduction grammar, as well as grammars for extracting entities from passages that might contain answers, and for identifying sentences and paragraphs that might form legitimate answers, by using pattern matching. The Eduction module is embedded in Answer Server, so you do not need to install a separate component.
-
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.
Passage Extractor LLM
A passage extractor LLM system is an alternative to the standard system. Instead of using IDOL entity extraction, the LLM system uses an LLM module to generate or extract answers from your IDOL data store.
The LLM passage extractor requires:
- Data Store (IDOL Content component). The data store is an IDOL Content component that contains the documents that you want to attempt to extract answers from. This might be a general knowledge base (such as an index of Wikipedia documents), or a data set that is more specific to your business use (such as an index of your company policy documents). This data store does not have to be unique to Answer Server. That is, you can use your normal IDOL Server data Content component.
- LLM Module. The LLM module contains model files in a format that Answer Server can use to extract and generate your answers. This option uses third-party LLMs, which you must download and convert into Answer Server models.
-
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.
Conversation
The conversation system does not have any required subcomponents. You configure conversation tasks by using a JSON configuration file, which describes the task, including:
- introductory text.
- the triggers to use to activate a particular conversation or option.
- routing information to describe how to proceed through the conversation task, depending on user input.
- details of lua scripts to run at particular points in the conversation to parse user input or provide more detailed conversation processing.
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.