Ruby-china 的“相关帖子”中经常会有些“风牛马”类的东西,看了下代码,大致在这里
# 相关类似话题, 取相关词出现最少3次,相关度最高的3篇
cache :sidebar_for_more_like_this, :expires_in => 1.day do |cell, args|
args[:topic].id
end
def sidebar_for_more_like_this(args = {})
@topics = args[:topic].more_like_this do
minimum_term_frequency 5
paginate :page => 1, :per_page => 10
end.results
render
end
但其中的ore_like_this
和minimum_term_frequency
没找到源码,不知道具体实现,求指点。
另外如果仅仅是“相关词”出现次数来筛选是不够智能的,因为不同词的权重是不一样的。如的
,ruby
这些词在每篇文章里都很多,如果仅按词的出现次数来算,很容易把字数最多但毫不相关的帖子推荐出来。哪位有经验,分享一下吧?