HYKE LogoSemantic Search


Home
Introduction
State of the art
An overview of SemSearch
The Google-like query interface
Making sense of the user query
Translating the user query into formal queries
Implementation and experimental evaluation
Conclusions and future work
1st Workshop on Semantic Search
2nd Workshop on Semantic Search
3rd Workshop on Semantic Search
4th Workshop on Semantic Search
 

Making sense of the user query


As mentioned earlier in Section 3, making sense of the user query is the first
step of the search process in SemSearch, whose task is to find out the semantic
meanings of the keywords specified in a user query so that the search engine
knows what the user is looking for and how to satisfy the user query.
From the semantic point of view, one keyword may match i) general concepts
(e.g., the keyword “phd students” which matches the concept phd-student), ii)
semantic relations between concepts, (e.g. the keyword “author” matches the
relation has-author ), or iii) instances entities (e.g., the keyword “Enrico” which
matches the instance Enrico-Motta, the keyword “chief scientist” which matches
the values of the instance Marc-Eisenstadt of the property has-job-title). The
ideal goal of this task is to find out the exact semantic meaning of each keyword.
This is however not easy to achieve, as there may be more than one semantic
entity which matches a keyword. Thus, we relaxed the goal as finding out all the
semantic entity matches for each keyword.
For the purpose of finding out semantic entity matches, we used the labels
of semantic entities as the main search source. The rational for this choice is
that from the user point of view labels often catch the meaning of semantic
entities in an understandable way. In the case of instances, we also used their
short literal values as the search source. So that when the user is searching for
“chief scientist”, the instance that has such a string as a value of its properties
can be reached.
In order to produce fast response, the search engine first indexes all the
semantic entities contained in the back-end semantic data repositories, including
classes, properties, and instances. It then searches the indexed repository to find
out matches for keywords. Thus, two components are developed in the search
engine, namely the semantic entity index engine and the semantic entity search
engine. As it narrows the search sources to labels and short literals of semantic
entities, the search engine is able to find out semantic entity matches for each
keyword. These matches are the possible semantic meanings of keywords.
Please note that for the sake of getting quick response, we only use text
search to find string matches for user keywords at the moment. We avoid using
techniques like WordNet based comparison to find matches. This might cost
us some good matches, e.g., losing the match table if the user is searching for
desk. But one to one comparison is time consuming and expensive in real-time
scenarios. This is indeed a trad-off as well as a research challenge that we need
to address in future.