我正在实现一个类似于 StackOverflow 标签系统的标签系统,但我只是想知道如何获取相关标签并定义标签之间的关系权重,例如任何标签页中的“相关标签”列表 https://stackoverflow.com/questions/tagged/php他们通过 2 个或更多标签之间的共现来定义关系权重
我如何在 PHP/MySQl 中为标签“X”定义最相关的标签,并在用户添加越来越多的帖子/问题时使所有权重保持最新?
最佳答案
您可能想查看这方面的统计数据:
- 给定一个标签 X
- 检查所有其他标签 Y
- 计算 Y 和 X 同时出现的频率
- 除以 Y 出现的频率
- ???
- 利润!!!
关于第 5 步的更多信息:此信息变化非常缓慢,因此您可以真正缓存这些东西,只有在有时间时才重新创建。
你最终想要的是一种关系
conditional_probability(X, Y, P)
它告诉您给定 X 的 (P) 标签 Y 的可能性有多大。P 是在第 4 步中计算的。
关于php - 如何构建像 stackoverflow 这样的标记系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4202375/