that are “French writers”. Afterwards the system has
to find the entities [X 3] such that X3 : romantic(X3)
and the evaluation of the expression X1 ∩ X2 ∩ X3
gives the entities that are “French romantic writers”.
Finally, the system has to find all entities [X4]
belongs to the set A = X1 ∩ X2 ∩ X3 such that X4 :
died(X4) and evaluation the resulting set B = {X4 ∈
A : died(X4)} gives the entities that are “French ro-
mantic writers who died”.
The interpretation of the relations between the sets
A and B guides the system to the final answer in the
following way:
• If A ∩ B =
/
0, then we can conclude that all French
romantic writers have died;
• Otherwise, the expression A ∩ B gives the set of
entities that are French romantic writers still alive.
After querying and searching in knowledge base,
the system concludes that the answer to initial ques-
tion ”All French romantic writers have died?” is “Yes,
all French romantic writers have died.”.
2.4 Discourse Controller
The Discourse Controller is a core component that is
invoked after the natural language question has been
transformed into its semantic representation. Essen-
tially the Discourse Controller tries to make sense of
the input query by looking at the structure of the on-
tology and the information available on the Semantic
Web, as well as using string similarity matching and
generic lexical resources such as WordNet.
The Dialogue Controller deals with the set of dis-
course entities and is able to compute the question
answer. It has to verify the question presupposition,
choose the sources of knowledge to be used and de-
cide when the answer has been achieved or to iterate
using new sources of knowledge. The decision of
when to relax a question in order to justify the answer
and when to clarify a question and how to clarify it
also taken by in this module.
Whenever the Discourse Controller isn’t sure how
to disambiguate between two or more possible terms
or relations in order to interpret a query, it starts a
dialogue with the user and asks him for disambigua-
tion. The clarification done by the user will be es-
sential for the Discourse Controller, this way obtain-
ing the right answer to the query posed by the user.
For instance, the question “Where is the Taj Mahal?”,
’Taj Mahal’ could be mapped into the name of a Mau-
soleum, a Casino Hotel or an Indian Restaurant and
only the user can clarify about the intended meaning.
The more cooperative and interactive the Discourse
Controller is, the closer it will be to the correct an-
swer.
Another important aspect of the Discourse Con-
troller is to provide a friendly answer to user. The
answer should be as closest to the natural language
as possible. For instance, the Question Answering
system has to respond “yes” or “no” when the user
posed the query “Is Barack Obama the President of
the USA?”. In this case, the answer will be “yes”.
However, the answer must be more informative for
the user. Some concepts are defined in the temporal
context, even if implicitly, and the answer should be
more clear and informative. For instance, the term
’President’, in the context of the question, is defined
as the title of head of state in some republics and has
an associated duration for the mandate, a start date
(date of election, date on taking office), and an end
date of the mandate. So the answer to the question “Is
Barack Obama the President of the USA?” should be
“Yes, Barack Obama is the actual President of USA”,
that is more cooperative and informative.
For the cases where the answer to a question of
type Yes/No is “No”, the Discourse Controller will re-
turn a complete answer, clarifying the negation. If we
consider the question “All the capitals of Europe have
more than 200,000 inhabitants?” that have a “No” as
an answer, the system will construct the proper an-
swer that clarify the user and will return “No, 9 cap-
itals of Europe have less than or equal to 200,000 in-
habitants”.
If there are multiple answers to the question posed
by the user (or to the similar questions for which DB-
pedia contains answers), they will be grouped accord-
ing to their semantic meaning, providing a more co-
operative and clean answer to the user. To do so, the
discourse controller has to reason over the question
and construct the answer, well constructed questions
have always the right words that help in the answer
construction. For the question ”Where is the Taj Ma-
hal?” consider that the user is not able to clarify the
system about the ambiguity of the question: Taj Ma-
hal is a Mausoleum, a restaurant or Casino Hotel; or
that the user simply wants that the system returns all
possible answers. So when the system has all the an-
swers to all possible interpretations for the question
posed by the user, the Discourse Controller will not
list the answer in a random way, but will list the an-
swer according to their semantic mean:
Mausoleum Taj Mahal is in Agra, India
Casino hotel Taj Mahal is in Atlantic
City, NJ, USA
Indian Restaurant Taj Mahal is in New
Farm, Brisbane, Australia
Indian Restaurant Taj Mahal is in 7315
3rd Ave. - Brooklyn, NY, USA
Our dialoguing system has as main objective the
COOPERATIVE QUESTION ANSWERING FOR THE SEMANTIC WEB
261