i have stored an ontology in a repository.. from that ontology , i want to extract concepts related to user query . Then i want to provide such concepts as suggestions to the initial query for effective search.. how can i achieve it? if u have any idea, please share it..

asked 11 Dec '12, 03:14

Jaishree's gravatar image

Jaishree
111
accept rate: 0%

Could you expand on your example a bit (eg. sample query and what you'd like your system to produce from it). Are you taking a natural language query from a user, semantically tag concepts identified in the string and make suggestions for similar queries based on your ontology eg. include subconcepts, widen search to superconcepts, suggest similar concepts based on co-incidence in your text corpus.

Google "ontology query transformation" for similar ideas

Nice general intro on semweb nlp here - http://www.deri.ie/fileadmin/documents/teaching/tutorials/DERI-Tutorial-NLP.final.pdf

(11 Dec '12, 07:05) Sweet Burlap Sweet%20Burlap's gravatar image

One simple kind of query suggestion is the completion of names for concepts.

If you can create (1) a list of concept names, and (2) subjective importance scores for concepts, then you can can implement a simple form of query completion by writing a SPARQL query like

select ?item ? name {
   ?item rdf:label ?name .
   ?item public:gravity ?gravity .
   filter (regex(?name,'^John')) .
   filter (lang(?name)='en') .
} order by desc(?gravity) limit 20

where ?gravity is higher for things that are more commonly thought about than for things less commonly thought about.

Since you want these queries to pop off people's fingertips you may want to store the names and scores in a specialized database such as Cleo, an open source product from LinkedIn aimed at solving this exact problem.

Now you want "Shake" to turn up "William Shakespeare" and there are various options for that. One of them is to expand out your names before they go into the database so "Shakespeare, William" is represented. Another one is to use something closer to a full-text algorithm that picks up "Shake" as short for "Shakespeare" in the second word. Cleo can do this and Lucene provides the tools to do things like this.

permanent link

answered 13 Dec '12, 12:14

database_animal's gravatar image

database_animal ♦
8.4k1612
accept rate: 15%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×286

question asked: 11 Dec '12, 03:14

question was seen: 855 times

last updated: 13 Dec '12, 12:14