This QA system is a so called "knowledge (or ontology) based" QA system. A knowledge base is a collection of facts that can be interpreted by a machine. Such a fact can look like this:
"Alan Turing" "student of" "Alonzo Church"We have million of such facts and we use them to find an answer to your question. A big advantage over traditional search engines is that different information can be combined so that we can answer questions like 'Who was a student of Alonzo Church?'.
In this version we are using as an underlying dataset DBpedia and Wikidata. DBpedia contains facts extracted from the infoboxes of wikipedia. Consider for example the wikipedia infobox of the European Union. It contains for example the information that the capital is Brussel. This information is converted in the triple
"European Union" "capital" "Brussel"allowing us to answer a question like 'What is the capital of the EU?'. All information about the European Union contained in Dbpedia can be found here.
There are mainly to reasons for that. The first is that we simply do not have the data to answer it. We generally try to find the best interpretation of your question based on the data we use. If we do not have the data also the interpretation will be wrong. The second reason is that we have the data but we are not able to correctly interpret your question. We are trying to improve over time the quality of the QA system by adding new datasets and by refining the algorithm that interpretes your question. So hopfully next time it works ; )
Give a look to this file, it contains the performance of this system on some popular benchmarks.
The code is not open source, but we are happy for any collaboration to extend this system to other Knowledge Bases. Moreover we have an open API:
curl --data "query=Who is the wife of Barack Obama” http://wdaqua-core1.univ-st-etienne.fr/gerbilwhich support the following parameters:
query: for the question
lang: for the language (currently en, fr, de, it, es, zh are supported)
kb: for the knowledge-base (currently dbpedia, wikidata, dblp, and freebase are supported)