例如,StackOverflow如何判断其他问题是否相似?
当我输入上面的问题,然后选中这个备忘录控件时,我看到了一个现有问题列表,可能与我要求的问题相同。
使用什么技术来找到类似的问题?
答案 0 :(得分:3)
我于3月20日收到了来自team@stackoverflow.com的电子邮件,其中提到了它的工作原理:
“问一个问题”搜索是 完全在标题上,不会 匹配身体中的任何东西。它是一个 对我来说,为什么人们会这么认为 更好。
最后一句是指搜索栏,当我试图找到我已经看过的具体问题时,我发现它不太有用。
答案 1 :(得分:1)
我认为这是一个简单的旧词匹配。但是,我可能会补充一点,这个功能并不像我希望的那样好用。使用site:stackoverflow.com前缀进行谷歌搜索比依靠SO提供相关建议要好得多。
答案 2 :(得分:1)
匹配程序将存储所有问题的索引。当您提出问题时,问题中的所有关键字都会与索引匹配。这类似于Google搜索。 Lucene开源搜索可以(并且很有可能)用于此。由于结果不是很准确,我认为它们仅仅是问题的标题索引,作为近似值。
其他相关关键字是collaborative filtering,亚马逊推广的算法基于其他类似客户的行为推荐产品。在当前情况下,基于协同过滤的替代算法是:从问题中提取关键字,然后找到与关键字相关联的(在历史中)的标签。返回包含这些标签的问题。那么,需要进行实验才能确定它是否运作良好。
答案 3 :(得分:1)
很差 - 我相信使用MS SQL全文搜索。使用Lucene,IMO你会有更好的运气。有关该主题的更多背景信息,请参阅Lucene上的维基百科文章或information retrieval的一般主题。