我正在实现类似于StackOverflow标记系统的标记系统,但我只是想知道如何获取相关标记并定义标记之间的关系权重,如任何标记页面中的“相关标记”列表,如{{3}它们通过2个或更多标签之间的共现来定义关系权重
我如何在PHP / MySQl中为标记“X”定义最相关的标记,并在用户添加越来越多的帖子/问题时保持所有权重最新?
答案 0 :(得分:2)
您可能希望查看统计信息:
关于第5步的更多信息:此信息的变化非常缓慢,因此您可以真正缓存这些内容,只有在有时间时才重新创建。
你最终想要的是一种关系
conditional_probability(X, Y, P)
在给出X的情况下,它告诉您可能的(P)标签Y是多少.P在步骤4中计算。
答案 1 :(得分:1)
我在calculating relative tag size within a cloud使用了此博客条目。您可以在整个can或特定找到的集合上使用此算法。
我没有为数据库中的所有标记存储非规范化权重,而是将它们缓存在我的(Ruby)进程中,并在添加/删除标记或重新启动进程时重建它们。
至于如何存储它们,通常需要:
一旦你拥有了它,并且一旦在结果页面上找到了一组项目,它就是一个简单的连接,并且可以找到一组“相关”标签。
答案 2 :(得分:0)
1每个帖子ID都可以用一个或多个标签(PHP +其他标签)标记
2以相同的方式返回每个标记的关联帖子ID
3 Foreach post id获取PHP以外的所有标签
4仅显示数量超过特定数量(比如4000)的那些
考虑一下这个问题已被标记为“Mysql”“数据库设计”“标签”和“标记”您是否了解如何将PHP与其他标签相关联。