stackoverflow的Related Tags功能怎么实现,有人做过没

2011-04-25 20:03:31 +08:00
 vicalloy
stackoverflow和delicus都有提供Related Tags的功能。
给出几个Tag,然后将关联的Tag给出。
不知大家有做过没
能想到的方案:
1. 建立一张Tag关联表,保存Tag的关联关系以及关联条目的数目。在用户打标签的时候更新标签的关联表,并更新关联数目。
比如用户打标签 a,b,c
ab 1
ac 1
bc 1
abc 1
好处:
应当效率不错,可以按照关联Tag条目数进行排序。
问题:
实现起来麻烦点。
必须限制每个条目的tag数,不然记录数会膨胀的非常快。9*8*7...*1
估计stackoverflow应当用的是这个方案。在stackoverflow里限制tag数最多为5。一方面可能是控制tag质量,另一方面应当是技术原因。

2. 提取当前页面上条目的所有tag
比如ios的tag页面
有条目:
iphone4:iphone4,ios,mobile
ipod:ipod,ios,mp3
提取出的关联tag:
ios,mobile,mp3
好处:
实现简单,如果存在关联tag,肯定可以查出来。
问题:
效率低
显示的关联Tag随机性比较大。
4772 次点击
所在节点    程序员
5 条回复
muxi
2011-04-25 20:54:59 +08:00
呵呵,这个显然不是这么算的,像stackoverflow 这样的站点面临的可能是数以百万记的主题,各种问题也五花八门,涉及的领域也不受控制,这样的关键词组合可能高达几十万甚至上百万,不可能事先将关键词设定好,然后手动设置关系

建议你了解一下text clustering
vicalloy
2011-04-25 21:09:59 +08:00
这个问题在python列表问过。也了解过text clustering,不过感觉不象。
如果用text clustering,计算count会是个问题,而且感觉有些将问题复杂化。
SO在控制每个问题的Tag数后,Tag的总数量也没很夸张,刚去算了下,目前不到3W个Tag。
Related数应当比3w*3w少很多,估计Related不超过1亿。
icyflash
2011-04-25 21:19:17 +08:00
vicalloy
2011-04-25 21:23:29 +08:00
@icyflash 这个文档已经看过了,里面没有涉及到Related Tags的东西。回复里有人问,不过也没看到有人反馈。
目前看到实现了Related Tags的网站也就SO和delicus。
其中SO限制了每个问题的Tag数目。
delicus的Related Tags只是个人范围内的Related Tags,并不是针对全站。
xuwenhao
2011-04-25 21:36:57 +08:00
Frequent Pattern Mining

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/12110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX