tags:

views:

87

answers:

2

hi, i am creating news system for my client, and he requested that when he publishes the article, he want a list at the bottom to show similar or related articles to his published articles.

so how can i create this if he does not want to put it manually ?

thanks in advanced.

A: 

Here's an article on how to build a recommendation engine for SQL Server 2005: http://www.aspnetpro.com/newsletterarticle/2004/10/asp200410ri_l/asp200410ri_l.asp

Recommendation engines can be a lot of work (especially with algorithm fine tuning and maintenance), so make sure your client is paying for it and this isn't a last minute "why don't we add X" situation.

Jeremy Stanley
+1  A: 

i had implemented this for a client, however it was not too complicated and a simple one (as my clients budget was quite low)

basically i displayed related articles based on score (higher the score, better the chances of showing an article as related)

this score depends upon few simple things:

1) - match the tags of any article with existing articles in database (this has the highest multiplier) so if 3 tags match, i multiply with 10, that way score = 30

2) - match the title of article with subjects of existing articles in database after removing common words (like a, the, how, etc). i used sql server free text to give me rank for this. i multiply this rank with 5. so if 3 words match, the score = 15

i then add the scores from above 2 and display them in high to low order.

but 1 very important point here - i also allowed my client to explicitly specify related articles. so if my client explicitly specified 2 articles, then i would show those 2 first and then run my algorithim to show remaing 3 on the list (5 in all)

i know its a simply solution, not 100% perfect but i had to build this keeping my clients budget in mind. you can always add a lot more factors to this (like matching the content, date (newest to oldest preference), popularity (number of comments and views) etc etc

hope this helps...

Raj