Showing posts with label keyword search. Show all posts
Showing posts with label keyword search. Show all posts

Saturday, December 25, 2010

Keyword search and Object search

Fig. 1. Transforming the keyword query to the object query using the auto-completion

Keyword query is the most common query interface for text information. Especially in Web era the keyword query interface is ubiquitous for all kinds of searching. The keyword search is easy to use and very effective for searching the Web. Users got so accustomed to the keyword search. It would not be easy to develop a new query interface so as to replace the keyword query interface.

The keyword search is to match a keyword query to the text surrogate of the objects. In NaverLab Semantic Movie Search, a keyword query is transformed to the multiple object queries. This is because of the ambiguity of natural language.

On the other hand the object search is to match an object query directly to the objects. So the keyword-object mapping is not necessary. There are no ambiguities caused by natural language. But there are ambiguities caused by the structure of the RDF graph.

In NaverLab Semantic Movie Search, users use both the keyword query and the object query. The object query is used when the auto-completion is applied. (Fig. 1) After auto-completion, the keywords in the search box look like just plain strings but actually they are objects.

It is difficult for users to notice the difference between the keyword search and the object search. Let's see the difference with the query "avatar". Fig. 2 is the search result of the keyword query "avatar" and Fig. 3 is the search result of the object query after auto-completion.



Fig. 2. The search result of the keyword query "avatar"



Fig. 3. The search result of the object query "avatar" after auto-complection

Thursday, December 16, 2010

Semantic Search

Fig 1. The search result of a query "Brad Pitt movie"


NaverLab Semantic Movie Search is a semantic search engine. It doesn’t search for the data that simply contain the query keywords but analyse the meaning of the query. It maps the query keywords onto the concepts it already knows in the movie domain and infer all the possible meanings.

Let's run a sample query. The search result is on Fig 1. The query is “Brad Pitt movie” or “Movies of Brad Pitt” (Correctly speaking it's the English translation of the actual Korean query). The search engine recognizes “Brad Pitt” is an actor and “movie” is an abstract concept in the movie domain.Then it searchs for the possible relationships between the two concept “Brad Pitt” and “movie”. It finds the following five meanings:

  • The movies that Brad Pitt appears as a leading actor
  • The movies that Brad Pitt appears as a supporting actor
  • The movies that Brad Pitt appears as a minor role
  • Brad Pitt's debut movie
  • The movies that Brad Pitt has participated as a staff.

Let's try another query. The search result of "Actors appearing in Titanic" on Fig. 2. "Titanic" is mapped onto the Movie object "Titanic". "Actors" is mapped to the concept Actor. "appear" is recognized as the relationship between the Movie object and the Actor object. Then it finds the following three meanings:

  • The actors/actresses who appear in Titanic as a leading actor
  • The actors/actresses who appear in Titanic as a supporting actor
  • The actors/actresses who appear in Titanic as a minor role


Fig. 2. The search result of "Actors appearing in Titanic"