describe the users’ contexts because they are human
readable and organize knowledge in a similar way as
people do (Novak and Gowin, 1984), while they can
still provide a formal and machine processable knowl-
edge representation. For the purpose of this work, a
topic map is represented as a graph TM(T, A), where
T is the set of topics representing subjects of interest
to the user and A is the set of associations which rep-
resent how the topics are correlated according to the
user’s view.
Each topic t ∈ T is tagged with the word employed
by the user to name the respective subject. Each topic
corresponds to only one term (concept or instance of
concept) formally described in the ontology. It is pos-
sible for two topics to have the same name, but they
must refer to different terms with the same name.
In Example 1, the keyword
São Paulo
renders
an ambiguous search, since
São Paulo
is the name
of different subjects. To disambiguate searches, each
topic t ∈ T has a weight w ∈ [0, 1]. The sum of the
weights from all topics with the same name equals
1. The topic weights are assigned based on how
frequently the user referred to each topic (i.e., each
connotation of the same word) in the past. Associa-
tions also have weights. Each association a ∈ A has a
weight w ∈ [0, 1]. The sum of the weights from all as-
sociations departing from the same topic also equals
1. The weights of the associations express the like-
lihood that a user searching for one subject is (also
or instead) interested in another subject, as in Exam-
ple 1, where the user searches for
São Paulo
, when
he is in the airport located in the neighboring city of
Guarulhos
.
The process of creating new topics and associa-
tions in the topic map, as well as keeping them aligned
to the underlying ontology is described next.
5 CONTEXT MANAGEMENT
The topic map represents a user’s knowledge view.
It is created and updated based on the user’s feedback
over the returned results for each search he poses. The
system considers that the more frequently used topics
are more relevant to the user than the less frequently
used topics with the same name. This assumption al-
lows the system to disambiguate the searched key-
word. Since the searches are directed by the user’s
topic map, the topic map evolution and the search pro-
cess are dependent on each other. The same context-
search-context dependency happens at (Sieg et al.,
2007), where it is called the cold-start problem. This
dependency is broken by allowing searches to be per-
formed directly on the ontology.
That type of search happens when there is no in-
formation available in the topic map to infer the user’s
particular intentions for a keyword, the search for that
keyword is performed directly in the ontology. If
the system finds different connotations for that key-
word in the ontology, it presents them to the user,
and asks him to choose results related to particular
connotations. On the other hand, when the keyword
is already in the topic map, the system can use the
weights of topics referring to different connotations
of the keyword to make a ranked list of results. The
user’s choices over the returned results are used, in
both cases, to update his context. This process can be
repeated for each search or until enough contextual
information has been gathered.
5.1 Context Maintenance
The topic map evolves continuously at each search,
by adjusting the topic and association weights accord-
ing to the user choices over the search results. A
topic weight is increased when the term it refers to
is used to annotate a resource considered relevant by
the user. The weights of the associations are updated
according to the correlation between relevant topics.
The associations correlating the topics corresponding
to the terms used to annotate the selected results and
the topic corresponding to the relevant meaning of the
search keyword have their weights increased. The
higher the number of times a term is used to anno-
tate the chosen resources, the higher the weight of its
corresponding association with the keyword topic. If
the association does not exists, a new one is created.
This process is described in Algorithm 1.
Algorithm 1 (Context Maintenance Algorithm).
1. The user checks the resources he considers relevant
2. For each topic checked by the user{
3. Increment the weight from the topic matching;}
4. For each resource checked by the user{
5. Increment the weights from the associations
between the topic corresponding to the keyword
and the topics corresponding to the terms used to
annotate the checked resources;}
6. Normalize the weights from topics and associations
to the interval [0,1];
The weights of topics and associations which are
not considered relevant in a search can be decayed, so
that feedbacks from recent searches have more influ-
ence in the weights than older ones. This procedure
can be used to reflect the temporal aspects of the con-
text.
Consider the results from the search in Exam-
ple 1, in Figure 1. The user selected the resources
C
,
E
, which are annotated to
city(São Paulo)
. But
so is resource
B
, which was not checked by the
user. Also, both resources
C
and
E
are annotated
CONTEXTUAL SEMANTIC SEARCH - Capturing and using the User’s Context to Direct Semantic Search
157