4

我想在我的应用程序中获得相关的 [事物/问题],类似于 StackOverflow 所做的,当您从 Title 字段中跳出时。

我只能想到一种方法,我认为这可能足够快

  1. 在所有 [事物] 的标题语料库中搜索标题,并返回前 x 个匹配项。我们可以使用任何用于站点搜索的搜索。

还有什么其他方法可以做到这一点,它们足够快,因为这将在 tabout 上发送,因此大型服务器端处理对它来说是不可行的。

我只是在寻找这样做的方法,但我正在使用 mysql 和 DJango,所以如果你的答案使用它,那就更好了。

[我想不出好的标签,所以请随意编辑]

4

1 回答 1

1

您正在查看基于内容的推荐算法。AFAICT StackOverflow 会查看标题中的标签和单词,并找到与其中一些内容相同的问题。它可以实现为在文档表示为TF-IDF 向量的空间中的最近邻搜索。

在实现方面,使用任何支持词干、停用词、非严格匹配和 tf-idf 权重的 Django 搜索引擎。算法复杂度不高(只是一些索引查找),所以它是否用 Python 编写并不重要。

如果你没有找到搜索引擎做你想做的事,把词干和停用词留给搜索引擎,对单个词调用搜索引擎,并使用有利于相似标签的分数进行你自己的 tf-idf 评分。

于 2010-01-10T13:50:59.947 回答