Question Answering

Question answering is a subfield of natural language processing (aka NLP, aka computational linguistics), which itself is a specialized area of artificial intelligence.

The general idea is to be able to answer questions written in English, by finding the answer in a collection of documents (which may be web pages or plain text). Unlike traditional web search engines, however, the goal is to find a specific answer, rather than a collection of hundreds of possibly irrelevant links.

While there are many ways to approach this task, the following framework is commonly used:

  1. Analyze and classify the question, determining what type of answer is being sought. This is commonly done by examining words in the question (for example, "who is" suggests that the answer will be a name, "how many" suggests that it will be a number, etc.).

  2. Using information retrieval techniques (such as those employed in a typical web search engine), construct a subset of available documents which are likely to contain the answer. Typically this is done by searching for terms drawn from the question.

  3. Analyze the retrieved documents, and search for entities of the type determined in step 1.

  4. If an appropriate entity is found, return that entity as a response.
Obviously many refinements to this framework are possible :-), most of which are actively being explored; question answering is a popular research topic, thanks in part to the TREC and TAC series of conferences.


My own work is still getting started, but in general I'll be working on contextual question answering. The goal is to be able to answer a sequence of questions, in which subsequent questions can refer back to previous ones, and possibly also to previous answers.

For example, the following question sequence was used in the TREC 10 conference:


Information about question answering, natural language processing, and artificial intelligence in general, can be found in many places on the Web:


Last Update: 2009/02/01 ______________________________ [Steven's home page]