Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 自动完成_Algorithm_Autocomplete_Nosql - Fatal编程技术网

Algorithm 自动完成

Algorithm 自动完成,algorithm,autocomplete,nosql,Algorithm,Autocomplete,Nosql,谷歌或亚马逊如何在搜索框中实现自动建议。我正在寻找技术堆栈的算法 PS:我在网上搜索过,找到了很多,还有更多。但我更感兴趣的不是他们做什么,而是他们如何做。存储阶段的NoSQL数据库?或者它是根据关键字排序或散列的?因此,重新表述一下这个问题:考虑到忽略个性化、地理位置等的不同搜索列表,它们是如何存储、管理和建议的。这属于统计语言处理问题的范畴。看一看。自动完成将使用类似的机制。 这个想法是,从过去的搜索中,你知道短语的概率(或者更好地称为bigram、trigram、ngram)。对于每个这样

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


PS:我在网上搜索过,找到了很多,还有更多。但我更感兴趣的不是他们做什么,而是他们如何做。存储阶段的NoSQL数据库?或者它是根据关键字排序或散列的?因此,重新表述一下这个问题:考虑到忽略个性化、地理位置等的不同搜索列表,它们是如何存储、管理和建议的。

这属于统计语言处理问题的范畴。看一看。自动完成将使用类似的机制。 这个想法是,从过去的搜索中,你知道短语的概率(或者更好地称为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

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

谷歌接受您的输入,并根据排名ID(如果结果较少,则返回空字符串形式的参数)给出排名前4的结果,这些结果根据命中率和未命中率动态变化。
然后,他们进行搜索查询,返回4个包含url、标题的字段,以及另外2个Json字段,omnibox然后使用Chrome trunk中的预填充函数填充数据。

你需要询问谷歌工程师,他们可能不会告诉你答案……如果有人知道答案是一个人,那么这个人要么已经死了,要么我认为他非常富有。(这个问题究竟是如何获得赞成票的?)