Skip to main content

Automated Question-Answering System

Question-Answering System is an approach to answer the questions asked by humans to the machines in the natural language. This system is an automated system that provides the interface between the machine and humans to automatically answer the questions.
Question answering task combines techniques from artificial intelligence, natural language processing, statistical analysis, pattern matching, information retrieval, and information extraction. It constructs the answers by querying a database of information, usually, it is knowledge base. The Data may be the combination of structured and unstructured data.
Recently, IBM’s Question Answering Watson is gaining popularity based on its high performance, it is beating humans at the task of question answering.

                   201207_WATSON-API_top2dk.jpg

These question answering systems are based on factoid questions. The term “factoid” refers that these answering are formed with short sentences and simple facts. These type of questions can be answered with sentences presenting the name of the place, name of a person, about location etc.
Information Retrieval Systems allows us to retrieve locate relevant documents that might have associated information. Then an ordered list of these documents is maintained to get useful information. A concise answer is extracted by Question-Answering Model and returned to the user. The challenges for Q-A System are understanding question correctly in natural language, identifying question type, formulation of the query, resolving ambiguity, semantic symmetry detection etc,. And at last the identification of a perfect answer requires a proper validation mechanism.
All above-discussed tasks can be accomplished step by step:
  • Question Analysis-    Parsing, Question classification, Question reformulation.
  • Document Analysis-  Extract Candidate Documents, identify answers.
  • Answer Analysis-    Extract Candidate answers and rank the best one.
Below figure explains the flow of execution of the Question-Answering task.

Untitled.png

Techniques:
The main approaches to building a Question Answering system with factoid type of questions are:

  1. IR-based Q-A System/Text-Based Q-A System
  2. Knowledge-based Q-A System
  3. Watson Deep Q-A system

1. IR-based Q-A System/Text-Based Q-A System:
      With a given user question, information retrieval system extracts passages from the documents directly, this extraction of the passages is purely guided by the text in the question. And before processing the data for getting the answer, the question is identified. This identification is regarding question type, that whether the question is asking about entity name (eg. name of a person, name of the place), time-related information( eg. year, date) and so on. To execute this type checking an answer type taxonomy for the set of answer types, this can be done manually or by WordNet etc.
Queries are formulated based on the question type and sent to the search engine to get the relevant documents those match with question type.These queries contain the keywords that are used to extract documents. Output by the search engine is the list of the documents based on their ranking. These documents are broken up into suitable passages and re-ranked.
The passage retrieval use techniques like named entities, question keywords, longest sequence, the proximity of keywords, N-gram overlapping etc. And in the last step, candidate answer strings are considered from the passages and these answers are ranked. Top rank answers will become user’s required answers. This decision may be based on some factors like answer type match, number of matched keywords, keyword distance, Novelty factor, punctuation location, and sequence of question keywords.
2. Knowledge-based Q-A System:
The knowledge-based question answering is to answer a natural language question by mapping it to a query over a structured database. An example is BASEBALL Q-A System that has the database of baseball games and stats. Semantic parsers(map simple text to logical form). This logical form can be predicate calculus or a query language like SQL or SPARQL. Eg.
Question Logical Form
When was Ada Lovelace born?     birth-year (Ada Lovelace, ?x)

The logical form is the query. The structured database can be sets of RDF triples.
The knowledge-based question answering task is to answer factoid questions that ask about one of the missing arguments in a triple. Consider an RDF triple like the following:
subject     predicate       object
Ada Lovelace     birth-year        1815

It can be shown as the mapping from textual strings like ”When was ... born” to canonical relations in the knowledge base like birth-year. As:
“When was Ada Lovelace born?” → birth-year (Ada Lovelace, ?x)
“What is the capital of England?” → capital-city(?x, England)

Rule-based Methods- In this strategy, the rules are written by hand to match “when” etc.
Supervised Methods- Sometimes the data is consisting of a set of questions paired with their correct logical form. Then the system takes those pairs of training tuples and produce a system that maps from new questions to their logical forms. Such algorithms first parse the questions and then align the parse trees to the logical form. Initially, lexicon and morphotactics are given.

3. Watson Deep Q-A system:
    DeepQA uses both the IR-based and knowledge-based techniques. Watson is a Q-A System that uses Deep learning techniques.It has 4 main stages:
(1) Question Processing
(2) Candidate Answer Generation
(3) Candidate Answer Scoring
(4) Answer Merging and Confidence Scoring

For Question classification, the matching is generally done by writing regular expressions to do the pattern-matching over words or over the parse trees. Logistic regression classifier is used that can return a probability as well as a lexical answer type. DeepQA uses instance weighting etc. So, overall the Watson type system can handle complex and rare questions by using advanced learning techniques.

Conclusion-
If we start from the very basic then IR-based systems come into existence but these type of systems can handle very basic questions. IR-Based systems can not handle complex questions, but it gets the answers of questions based on text similarity only. Secondly, the Knowledge-Based Q-A Systems can give answers more efficiently as these use the NLP Techniques to find answers. And at the last, the Deep Q-A Systems are advanced level Q-A Systems that use the more Deep learning Technologies to learn over the time. So, recently Deep Q-A Systems are very popular to use. In future progress, more research can be accomplished on semi-structured data.

References-
  1. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.219.4498&rep=rep1&type=pdf
  2. https://www.cambridge.org/core/journals/natural-language-engineering/article/natural-language-question-answering-the-view-from-here/95EA883AFC7EB2B8EC050D3920F39DE2

Comments

Popular posts from this blog

NLP in Video Games

From the last few decades, NLP (Natural Language Processing) has obtained a high level of success in the field  of Computer Science, Artificial Intelligence and Computational Logistics. NLP can also be used in video games, in fact, it is very interesting to use NLP in video games, as we can see games like Serious Games includes Communication aspects. In video games, the communication includes linguistic information that is passed either through spoken content or written content. Now the question is why and where can we use NLP in video games?  There are some games that are related to pedagogy or teaching (Serious Games). So, NLP can be used in these games to achieve these objectives in the real sense. In other games, one can use the speech control using NLP so that the player can play the game by concentrating only on visuals rather on I/O. These things at last increases the realism of the game. Hence, this is the reason for using NLP in games.  We ...

Discourse Analysis

NLP makes machine to understand human language but we are facing issues like word ambiguity, sarcastic sentiments analysis and many more. One of the issue is to predict correctly relation between words like " Patrick went to the club on last Friday. He met Richard ." Here, ' He' refers to 'Patrick'. This kind of issue makes Discourse analysis one of the important applications of Natural Language Processing. What is Discourse Analysis ? The word discourse in linguistic terms means language in use. Discourse analysis may be defined as the process of performing text or language analysis, which involves text interpretation and knowing the social interactions. Discourse analysis may involve dealing with morphemes, n-grams, tenses, verbal aspects, page layouts, and so on. It is often used to refer to the analysis of conversations or verbal discourse. It is useful for performing tasks, like A naphora Resolution (AR) , Named Entity Recognition (NE...

Dbpedia Datasets

WHAT IS Dbpedia? It is a project idea aiming to extract structured content from the information created in the wikipedia project. This structured information is made available on the World Wide Web. DBpedia allows users to semantically query relationships and properties of Wikipedia resources, including links to other related datsets. BUT? But why i am talking about Dbpedia ? How it is related to natural language processing? The DBpedia data set contains 4.58 million entities, out of which 4.22 million are classified in a consistent ontology, including 1,445,000 persons, 735,000 places, 123,000 music albums, 87,000 films, 19,000 video games, 241,000 organizations, 251,000 species and 6,000 diseases. The data set features labels and abstracts for these entities in up to 125 languages; 25.2 million links to images and 29.8 million links to external web pages. In addition, it contains around 50 million links...