pradeepdev-1995 / Question-answering-python

Question answering (QA) is a computer science discipline within the fields of information retrieval and natural language processing (NLP), which is concerned with building systems that automatically answer questions posed by humans in a natural language.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Question answering natural language processing

Question answering (QA) is a computer science discipline within the fields of information retrieval and natural language processing (NLP), which is concerned with building systems that automatically answer questions posed by humans in a natural language.

Alt text

There are two domains in question answering.
1 - Open domain question answering (ODQA)
2 - Closed domain question answering (CDQA)

Open domain question answering (ODQA)

The ability to answer factoid questions is a key feature of any dialogue system. Formally speaking, to give an answer based on the document collection covering wide range of topics is called open-domain question answering (ODQA). The ODQA task combines the challenges of document retrieval (finding the relevant articles) with that of machine comprehension of text (identifying the answer span from those articles). An ODQA system can be used in many applications. Chatbots apply ODQA to answer user requests, while the business-oriented Natural Language Processing (NLP) solutions leverage ODQA to answer questions based on internal corporate documentation. The picture below shows a typical dialogue with an ODQA system.

Alt text

Closed domain question answering (CDQA)

When no restriction is made on the domain of the questions we are talking about open domain question answering. Instead, when questions are bound to a specific domain we are talking about closed (or restricted) domain question answering (CDQA). Here we are providing a paragraph or a document with a question. The CDQA system will extract the answer to the question by analysing the given paragraph or document;

Alt text

Here I am explaining different approaches for both open domain question answering and closed domain question answering.

Closed domain question answering

1 - Adaptnlp
2 - Deeppavlov
3 - Distilbert
4 - Cdqa-suite
5 - Transformer
6 - Transformer Pipeline
7 - Simple Transformers
8 - txtai
9 - Haystack
10 - Ktrain simpleQA

Open domain question answering

1 - Deeppavlov
2 - Wikipedia QA

About

Question answering (QA) is a computer science discipline within the fields of information retrieval and natural language processing (NLP), which is concerned with building systems that automatically answer questions posed by humans in a natural language.


Languages

Language:Jupyter Notebook 94.4%Language:Python 5.6%