开发者

Tagging and Analysing a Search Query

I'm developing a search engine which functions taking the semantics of data into account, unlike the usual keyword based index. I managed to develop a reasonable index for the search using metadata extraction methods and RDF, but I have difficulty in using such methods on the search query itself since the search query is very much shorter that the actual data. any idea how to p开发者_如何学运维erform a successful tagging of a search query, using similar methods, natural language processing, etc. ?

Thank You!


Yes, the sample size of a typical query is too small for semantic analysis to be of any value.

One approach might be to constrain or expand your query using drop-down menus for things like "Named Entities" or "Subject Verb Object" tuples.

Another approach would be to expand simple keywords using rules created from your metadata so that, for example, a query for 'car' might be expanded to the tuple pattern

(*,[drive,operate,sell],[car,automobile,vehicle])

before submission.

Finally, you might try expanding the query with a non-semantically valuable prefix and/or suffix to get the query size large enough to trigger OpenCalais' recognizer.

Something like 'The user has specified the following terms in her query: one, two, three.'.

And once the results are returned, filter out all results that match only the added prefix/suffix.

Just a few quick thoughts.


You need to build semantic tree. It will based on the combination of keywords.

For example, automobile -->vehicle --> car this relation technical aspect of car. travel --

hire/rent-->vehicle-->car this is something related to travel and rent a car. In this case MongoDB will help you a lot.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜