【问题标题】:How does google know if I type in redflower.jpg I mean Red Flower?谷歌如何知道我是否输入 redflower.jpg 我的意思是红花?
【发布时间】:2010-07-21 18:42:53
【问题描述】:

我很好奇当 Google 向您显示由多个单词组成的单词的“您的意思是”链接时,使用了哪些编程术语或方法?

例如,如果我输入“redflower.jpg”,它会知道将其分解为 Red Flower 有没有做这种操作的通用范式? Lucene 搜索会给你这个吗?

谢谢!

【问题讨论】:

    标签: algorithm search


    【解决方案1】:

    如果 google 没有看到很多 reflowers.jpg 的匹配结果,它可能会尝试将多个单词中的单词剪切,直到找到很多匹配结果。

    它还可能识别扩展名 (.jpg),识别图像扩展名,然后尝试查找具有相似名称的图像。

    如果我必须制作这样的算法,我会使用一个庞大的 EXISTING 数据库(字典或搜索引擎),然后尝试我在帖子开头所说的内容。

    【讨论】:

    • 啊,作为一家拥有大量使用、可大规模扩展的后端系统的非常富有的公司的优势……
    • 是的!具体来说,它可能使用字典来识别 Red 和 Flower 是单词的事实,然后使用特定短语以它认为您正在使用的任何语言出现的概率来发现最有可能的短语。例如,它提出“Red Flower”而不是“Redfl Ower”或“Red FL ower”或“Red Flow Er”,因为“Red Flower”的可能性更大。
    • 但是他们怎么知道如何在正确的位置切词呢?
    • 他们在尝试之前不会知道。就像 Anthony Morelli 说的,如果你拿 RedFlowers,他们会尝试找到一个最不流行的词:Re -> 是一个流行词 Red -> 更流行 Redf -> 显然不流行 [...]是基于您在搜索这些特定单词时获得的结果数量
    【解决方案2】:

    也许他们可以看看其他人在搜索 redflowers.jpg 时做了什么?可能很多人搜索“redflowers.jpg”,没有点击任何链接,然后搜索“Red Flower”,发现了一些值得点击的结果。

    当然他们必须考虑到查询是相似的(包含匹配的字符串),否则可能会出现一些奇怪的结果。

    【讨论】:

      猜你喜欢
      • 2023-02-26
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多