2

谷歌或亚马逊如何在他们的搜索框中实现自动建议。我正在寻找具有技术堆栈的算法。

PS:我在网上搜索过,发现了这个这个以及更多。但我更感兴趣的不是他们做什么,而是他们如何做。NoSQL 数据库来存储阶段?还是根据关键字排序或散列?所以换个说法:考虑到忽略个性化、地理位置等的不同搜索列表,他们如何存储、管理和推荐它。

4

2 回答 2

2

这属于stastical language processing problems. 查看Norvig 的拼写建议文章。自动完成将使用类似的机制。这个想法是,从过去的搜索中,你知道短语的概率(或者更好地称为 bigram、trigram、ngram)。对于每个这样的短语,自动完成选择具有最大值的短语

P(phrase|word_typed) = P(word_typed|phrase) P(phrase) / P(word_typed) 
P(phrase|word_typed) = Probability that phrase is right phrase if word typed 
so far is word_typed

Norvig 的文章是对这个概念的一个非常容易理解和很好的解释。

于 2013-01-25T12:41:56.263 回答
0

谷歌接受您的输入并根据排名 ID 给出 TOP4 结果 [如果结果较少,它会以空字符串形式返回参数] 给不同的关键字,这些关键字因命中和未命中计数而动态不同。然后,他们进行搜索查询并在 Json 中返回 4 个字段,其中包含 url、标题和另外 2 个字段,然后多功能框使用 Chrome 主干中的预填充函数填充数据。

于 2013-01-25T12:57:25.367 回答