Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Search ranking/relevance algorithms

Tags:

When developing a database of articles in a Knowledge Base (for example) - what are the best ways to sort and display the most relevant answers to a users' question?

Would you use additional data such as keyword weighting based on whether previous users found the article of help, or do you find a simple keyword matching algorithm to be sufficient?

like image 592
Tom Avatar asked Oct 07 '08 09:10

Tom


People also ask

What is search rank and relevance?

Rankings in SEO refers to a website's position in the search engine results page. There are various ranking factors that influence whether a website appears higher on the SERP based on the content relevance to the search term, or the quality of backlinks pointing to the page.

What is a search ranking algorithm?

The Google search algorithm refers to the internal process that Google uses to rank content. It takes a number of factors into account when determining these rankings, such as the relevance and quality of the content against a particular search query.

How is search relevance determined?

Otherwise, the relevance of the search results is calculated by comparing the proportion of results containing the term with the relative term frequency for a term. This process is repeated for all terms in the set of related terms to produce a total variety and relevance.

What are different ranking algorithms?

Different Page Rank based algorithms like Page Rank (PR), WPR (Weighted Page Rank), HITS (Hyperlink Induced Topic Selection), Distance Rank and EigenRumor algorithms are discussed and compared.


2 Answers

Perhaps the easiest and most naive approach that will give immediately useful results would be to implement *tf-idf:

Variations of the tf–idf weighting scheme are often used by search engines as a central tool in scoring and ranking a document's relevance given a user query. tf–idf can be successfully used for stop-words filtering in various subject fields including text summarization and classification.

In a recent related question of mine here I learned of an excellent free book on this topic which you can download or read online:

An Introduction to Information Retrieval

like image 159
hippietrail Avatar answered Dec 12 '22 18:12

hippietrail


That's a hard question, and companies like Google are pushing a lot of efforts to address this question. Have a look at Google Enterprise Search Appliance or Exalead Enterprise Search.

Then, as a personal opinion, I don't think that any "naive" approach is going to improve much the result compared to naive keyword search and ordering by the number of views on the documents.

If you have the possibility to expose your knowledge base to the web, then, just do it, and let your favorite search engine handles the search for you.

like image 24
Joannes Vermorel Avatar answered Dec 12 '22 18:12

Joannes Vermorel