pseudonym(0.4)=X
performer(1)=obj191:person(ref)
The dialogue manager has to decide which one
of the objects in the given agent’s session is
referenced as
obj191. To do so, it retrieves all
objects from the agent’s session and rates them,
awarding points for: time proximity, frame class
concordance (classes close in the hierarchy), nesting
concordance (in the example, a session
person
object will be given more points if it is also nested in
a
battery object), role concordance
(active/passive, in the above case it is
performer
versus patient), and content concordance (if, what
seems to happen rarely, the reference object contains
data). Finally the object with the highest score is
chosen. If there is more than one object that has been
awarded the maximum score, the most recently
modified (newest) object is chosen. It is merged with
the reference object. If no similar objects are found
in the session, the dialogue manager ignores the
reference.
3.4 Data Unification
The unification and merging of data is not a
dialoguing feature, but as the word unifiable appears
often in this paper, a short explanation is in order.
Apart from some special-case rules, the idea is as
follows. Two frame objects are unifiable if:
they are objects of the same class, or one of the
classes is a specialization of the other
(
person/policeman),
the one-value attributes, if filled, contain
identical or unifiable (for nested objects) data,
the multiple-value attributes do not contain
implicitly opposite values (e.g. the same
value, but negated in one of the objects).
It is important to note that the word ‘identical’ in
the above list has been used for clarity reasons. In
fact, a more advanced checking mechanism is
applied even for atomic values. In particular, the
ontology is consulted for values being ontology
items in order to detect synonyms or a
hyponym/hypernym pair.
3.5 Informer Profiles
A number of users are allowed to contact the system
to feed or retrieve data. The system does not need to
know the list of agents in advance, but it has to be
able to identify them (e.g. by means of their phone
numbers, IP addresses – depending on the channel of
communication) in order to manage the dialogues
properly. The system may treat the users equally, but
it does not have to. Some user data may be
introduced in advance, for example if many users are
allowed to ask for information, but only a smaller
subgroup can introduce data. The system can also
collect online statistics: the number of sent
messages, the percentage of answered question, the
average answer delay time, and so on, and use them
to better adapt the dialogue to each agent.
3.6 Contradictions
One of the consequences of allowing multiple users
to introduce information to the system is the
possibility of data contradictions. There are two
types of such contradictions: contradictions caused
by one agent and contradictions in data introduced
be two different people. In the former case, the
system simply overwrites the data with newer
values, assuming the situation has changed or the
agent corrected themselves. In the latter, the system
(the reasoning module, as the dialogue manager only
works on one-dialogue levels) performs a more
complicated action.
When the reasoning module detects a
contradiction in data coming from two different
agents (e.g. the differences in the physical
description of a person), it temporarily sets the
newest data as valid. Then it prepares two version of
the information and sends it (through the dialogue
manager and text generator) to the agents
responsible for the clash. They are presented both
versions and are asked to confirm whether they are
still convinced of theirs. The table below presents
the possible scenarios. New is the answer of the
agent responsible for the newer (current) version,
Old is the other agent’s answer. It is the task of the
dialogue manager to properly assign the yes/no
answer to the contradiction question and pass it on to
the reasoning module, but it is the latter that
performs the operations on contradictory data.
Table 1: Possible contradiction scenarios.
Old New System’s reaction
-/no -/no/yes Leave the current (new) version.
yes -/no Restore the previous version.
yes yes Set the version of the agent with
higher credibility. If credibility
values are equal, or are unknown,
keep the new version.
An alternative solution for the situation with two
yes (I am sure) answers is to un-merge the objects
coming from the two agents, assuming they are not
really talking about the same entity.
A GENERAL DIALOGUE MANAGEMENT MODEL FOR DYNAMIC-DOMAIN EXPERT SYSTEMS WITH
NATURAL LANGUAGE INTERFACES
79