我正在为我的客户创建新闻系统,他要求当他发布文章时,他希望在底部有一个列表,以显示与他发表的文章相似或相关的文章。
所以如果他不想手动把它创建呢?
答案 0 :(得分:1)
我已经为客户实现了这个,但它并不复杂而且简单(因为我的客户预算很低)
基本上我根据分数显示相关文章(分数越高,将文章显示为相关的机会越大)
这个分数取决于几个简单的事情:
1) - 将任何文章的标签与数据库中的现有文章匹配(这具有最高的乘数),因此如果3个标签匹配,我乘以10,那样得分= 30
2) - 删除常用词(如a,the,how等)后,将文章标题与数据库中现有文章的主题相匹配。我使用sql server自由文本给我排名。我将此等级乘以5.因此,如果3个单词匹配,则得分= 15
然后我添加2以上的分数并以高到低的顺序显示它们。
但这里非常重要 - 我也允许我的客户明确指定相关文章。因此,如果我的客户明确指定了2篇文章,那么我会首先显示这两篇文章,然后运行我的算法以显示列表中的剩余3(总共5篇)
我知道这是一个简单的解决方案,而不是100%完美,但我必须建立这个,以保持我的客户预算。您可以随时添加更多因素(例如匹配内容,日期(最新到最旧的偏好),受欢迎程度(评论和观看次数)等等
希望这会有所帮助...
答案 1 :(得分:0)
这是一篇关于如何为SQL Server 2005构建推荐引擎的文章:http://www.aspnetpro.com/newsletterarticle/2004/10/asp200410ri_l/asp200410ri_l.asp
推荐引擎可能需要做很多工作(尤其是算法微调和维护),因此请确保您的客户为此付费,这不是最后一分钟“我们为什么不添加X”的情况。 / p>