Question answering is an approach to information retrieval in which a user formulates a question in natural language and a computer program finds the most appropriate answer. A number of programs that have this function have been developed by researchers and organizations around the world, and many are open to members of the public who want to experiment with them. The ability to use natural language processing to retrieve information can be critically important for a variety of activities, from researching university papers to compiling specialized technical knowledge.
Every question answering program needs a database of information upon which it can draw. Some programs focus on data within a specific domain, such as medical publications or engineering documentation. In some cases, the system might focus specifically on information that is on file with a particular organization. Others are "open domain" and can pull data from a variety of sources by using the Internet.
The process starts when the user poses a question. Natural language processing programs can quickly break down a question into components to determine what kind of question it is and how to find the best answer. Some systems are capable of handling complex and multi-part questions, such as telling the user the difference between two things or answering a question that has a dependent clause, such as “Are there requirements to be an airline pilot, and if so, what are they?”
Such programs can create a quick tree of question types that they use to determine the best reference or references to use to answer the question. They can also sift through conflicting or competing data, such as sources that give multiple dates for a historical event. The program might determine that some sources are inaccurate or could find that sources use different dating systems, accounting for the disparity. A very smart question answering system might be able to provide additional resources and context to help the reader understand the answer.
One use for question answering is in replying to quick questions posed by users who simply need a fast reference, such as the publication date of the book or the population of a city. Others can retrieve documents and associated research on command. They might also perform specialized functions such as searches of patent databases to use in patent investigations.
Over time, the system can learn from its users. A question answering program might ask the user whether an answer was relevant or useful, then file this information away for future reference. Users might also be able to redirect or correct the system when it makes an error. Over time and many uses, the program will become more adept at question answering.