Answer Server 24.4
IDOL Answer Server Help

# 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?

- RAG. The RAG (Retrieval Augmented Generation) module uses large language models (LLMs) to generate answers from documents in your system. When a user asks a question, the RAG module queries the document store and finds likely candidates for answers. It provides the original question and relevant content from these candidate documents in a prompt to an external LLM, which generates the answer.

  The RAG module provides another approach to answering the same kind of general questions that you might answer with a Passage Extractor system.

- 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. It generates an answer based on each candidate document that it finds, and returns the best answer from the set.

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 Answer Server downloads and uses. Alternatively, you can write a script to generate answers, for example from a different third-party LLM system.

- 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.

## Retrieval Augmented Generation

Retrieval Augmented Generation (RAG) is a method to combine the generative capabilities of large language models (LLMs) with a system to ensure that the answers generated are from a verifiable source. RAG finds answers in a body of data, and then uses the natural language generation of the LLM to create a human-readable answer.

The RAG answer system uses a similar approach to the passage extractor LLM system, with a prompt-based LLM to generate the answers from content that Answer Server retrieves from your IDOL data store. It can generate an answer from the content of multiple documents.

The RAG system 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 defines a script to use to generate the answers from a prompt, which Answer Server provides. The script can use third-party LLMs to generate answers from the prompt.
- Prompt template. A template that Answer Server uses to create the prompt. This prompt template includes placeholder tokens that Answer Server replaces with the original user question, and the contextual data that Answer Server retrieves from your data store. The LLM can then use the question and contextual data to generate an answer.

## 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.

Copyright 2016-2024 Open Text
Version 24.4 | Last updated September 2024

Send documentation feedback

Close

Send documentation feedback

To send feedback using your default email client, open an email window.

Otherwise, send your feedback and the information below to MFI-swpdl.idoldocsfeedback@opentext.com.

We appreciate your feedback!

Product: IDOL Answer Server 24.4

Topic Title: Introduction