在哪里可以了解有关Google搜索“您是不是要”算法的更多信息? [重复]
nlp
5
0

可能重复:
您如何实现“您的意思”?

我正在编写一个应用程序,该应用程序需要与Google的“您的意思是?”类似的功能。他们的搜索引擎使用的功能:

替代文字

是否有可用于此类事情的源代码,或者在哪里可以找到有助于自己构建文章的文章?

参考资料:
Stack Overflow
收藏
评论
共 7 个回答
高赞 时间 活跃

您可以像其他许多搜索库一样,签出提供此功能的Xapian源代码。 http://xapian.org/

收藏
评论

您可以使用http://developer.yahoo.com/search/web/V1/spellingSuggestion.html ,它会提供类似的功能。

收藏
评论

一年半以前,我参加了一位Google工程师举办的研讨会,他们在研讨会上谈到了解决方法。演讲者说(至少部分)他们的算法完全没有智能。而是利用他们可以访问的大量数据。他们确定,如果有人搜索“ Brittany Speares”,什么都不点击,然后再次搜索“ Britney Spears”,然后点击某项,则我们可以对他们要搜索的内容有一个合理的猜测,并且可以建议未来。

免责声明:这可能只是他们算法的一部分

收藏
评论

您应该查看Peter Norvigs的有关在几行python中实现拼写检查器的文章: 如何编写拼写校正器它还具有其他语言(例如C#)实现的链接

收藏
评论

我不确定它是否符合您的目的,但是带有字典的字符串编辑距离算法可能对于小型应用程序就足够了。

收藏
评论

Python有一个名为difflib的模块。它提供了一个名为get_close_matches的功能。从Python文档中:

get_close_matches(word, possibilities[, n][, cutoff])

返回最佳“足够好”的匹配项列表。 word是需要紧密匹配的序列(通常是字符串),而可能性是要匹配单词的序列列表(通常是字符串列表)。

可选参数n (默认值为3 )是要返回的最接近匹配数; n必须大于0

可选参数cutoff (默认值为0.6 )是[0,1]范围内的浮点数。没有获得至少与单词相似的分数的可能性将被忽略。

可能性中的最佳匹配(不超过n个 )以列表形式返回,按相似性得分排序,最相似的为第一。

  >>> get_close_matches('appel', ['ape', 'apple', 'peach', 'puppy'])
  ['apple', 'ape']
  >>> import keyword
  >>> get_close_matches('wheel', keyword.kwlist)
  ['while']
  >>> get_close_matches('apple', keyword.kwlist)
  []
  >>> get_close_matches('accept', keyword.kwlist)
  ['except']

该图书馆能为您提供帮助吗?

收藏
评论

我会看一下有关Google轰炸的这篇文章。它表明它只是根据先前输入的结果建议答案。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号