|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-04-08 关键字: 相关资源 喜欢这个也喜欢 设计
不知道我说清楚了没有,现在好多网站上面都有浏览内容的站内“相关资源”,还有一个“喜欢这个的人也喜欢”这些功能,这种算法是怎么样的?要怎么去实现这种功能?
我能想到的是同过Lucene实现通过标题进行相关资源的检索。 “喜欢这个的人也喜欢”这个功能,我不知道怎么设计。 想请问大家在面对这种功能需求的时候。会怎么来考虑? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
| 返回顶楼 | |
|
时间:2008-04-08
我想到的是
1.对同一个人的访问进行记录。 2.建一个关连表。A-B |
|
| 返回顶楼 | |
|
时间:2008-04-08
我也是这样考虑的,记录一个人的访问记录,这样是通过资源找到访问的人们,但是怎么再去通过这些人去找相关资源,对这些资源排序呢?
|
|
| 返回顶楼 | |
|
时间:2008-04-08
这是一个比较复杂的算法问题。
“相关资源”应该是一个分类问题,需要用到Lucene的知识,定义样本,然后分别比较与样本相比的相似度,相似度越高的,应该被归为同类的。 “喜欢这个的同样喜欢那个”其实是对用户的受众进行分析。这个就复杂了,需要建立一些分析参数,例如:性别、年龄、职位等,当然还包括内容点击量等。然后后台进行统计,隔离出某个内容的受众人群,这样就可以进行反向查找了。 |
|
| 返回顶楼 | |
|
时间:2008-04-08
yanwt 写道 我也是这样考虑的,记录一个人的访问记录,这样是通过资源找到访问的人们,但是怎么再去通过这些人去找相关资源,对这些资源排序呢?
我没说清楚 我说的表结构是这样的 userid,bookid 每个人在第一次访问这本书就加入这么一条记录 如果再访问就不加入记录 之后select (*) from bookuser 如果值不大于100的话 Select bookid ,count(bookid) as book from bookuser where userid in(select username from bookuser) group by bookuser order by book |
|
| 返回顶楼 | |
|
时间:2008-04-08
抛出异常的爱 写道 yanwt 写道 我也是这样考虑的,记录一个人的访问记录,这样是通过资源找到访问的人们,但是怎么再去通过这些人去找相关资源,对这些资源排序呢?
我没说清楚 我说的表结构是这样的 userid,bookid 每个人在第一次访问这本书就加入这么一条记录 如果再访问就不加入记录 之后select (*) from bookuser 如果值不大于100的话 Select bookid ,count(bookid) as book from bookuser where userid in(select username from bookuser) group by bookuser order by book 如果人数不多的话确实可以这样做,但是像豆瓣这些网站应该不是这样实现的,用户数量上来之后就无法查询出结果了。 |
|
| 返回顶楼 | |
|
时间:2008-04-08
downpour 写道 这是一个比较复杂的算法问题。
“相关资源”应该是一个分类问题,需要用到Lucene的知识,定义样本,然后分别比较与样本相比的相似度,相似度越高的,应该被归为同类的。 “喜欢这个的同样喜欢那个”其实是对用户的受众进行分析。这个就复杂了,需要建立一些分析参数,例如:性别、年龄、职位等,当然还包括内容点击量等。然后后台进行统计,隔离出某个内容的受众人群,这样就可以进行反向查找了。 现在还不考虑那么多的因素,只考虑用户的点击。能不能说的详细一点。谢谢 |
|
| 返回顶楼 | |
|
时间:2008-04-08
找个豆瓣的同学问下就知了,其实就是个分析模型,可以很简单,也可以很复杂,看要达到什么样的效果了。
|
|
| 返回顶楼 | |
|
时间:2008-04-08
引用 如果人数不多的话确实可以这样做,但是像豆瓣这些网站应该不是这样实现的,用户数量上来之后就无法查询出结果了。 晚上作一次 之后存在缓存中去 把数据总结一下 把其它的刻盘清空 |
|
| 返回顶楼 | |
|
时间:2008-04-08
抛出异常的爱 写道 引用 如果人数不多的话确实可以这样做,但是像豆瓣这些网站应该不是这样实现的,用户数量上来之后就无法查询出结果了。 晚上作一次 之后存在缓存中去 把数据总结一下 把其它的刻盘清空 谢谢 抛出异常的爱,这个方法暂时先不考虑。如果实在没有其他办法的话,可以这样实现。 |
|
| 返回顶楼 | |






