Question answering (QA) is a branch of artificial intelligence within the natural language processing and information retrieval fields; building systems that answer questions posed in a natural language by humans.
Question answering programs can construct answers through the query of a knowledge base (a structured database of knowledge) or an unstructured collection of documents in a natural language.
Question answering systems are either closed domain (answering questions from a specific domain) or open domain (relying on general ontologies and widespread knowledge). IBM’s Watson is an example of the latter type of QA systems.
Open domain answering systems take natural language questions and transform them into a structured query. Keyword extraction is used to determine the question type (who, where, how many). Part of speech tagging, and syntactic parsing techniques can be used to determine the answer type (person, location, number). Then an information retrieval system is used to find data containing the keywords. Parsing is then used to translate the answer into meaningful text.