[algorithm] Где я могу узнать больше о поиске в Google «вы имели в виду» алгоритм?



Answers

Полгода назад я присутствовал на семинаре инженера Google, где они говорили об их подходе к этому. Ведущий говорил, что (по крайней мере, часть) их алгоритм не имеет большого интеллекта; а использует огромные объемы данных, к которым они имеют доступ. Они определили, что, если кто-то ищет «Бриттани Спирс», не нажимает ни на что, а затем выполняет другой поиск «Бритни Спирс» и нажимает на что-то, мы можем догадываться о том, что они искали, и могут предположить, что в будущее.

Отказ от ответственности: это может быть только часть их алгоритма

Question

Возможный дубликат:
Как вы реализуете «Вы имели в виду»?

Я пишу приложение, где мне нужна функциональность, похожая на Google, «вы имели в виду?». функция, используемая их поисковой системой:

Есть ли исходный код для такой вещи или где я могу найти статьи, которые помогут мне создать собственный?




Я не уверен, что он служит вашей цели, но String Edit. Алгоритм со словарем может быть достаточным для небольшого приложения.




U может использовать ngram для сравнения: http://en.wikipedia.org/wiki/N-gram

Использование модуля python ngram: http://packages.python.org/ngram/index.html

import ngram

G2 = ngram.NGram([  "iis7 configure ftp 7.5",
                    "ubunto configre 8.5",
                    "mac configure ftp"])

print "String", "\t", "Similarity"
for i in G2.search("iis7 configurftp 7.5", threshold=0.1):
    print i[0], "\t", i[1]

U получить:

>>> 
String  Similarity
"iis7 configure ftp 7.5"    0.76
"mac configure ftp  0.24"
"ubunto configre 8.5"   0.19






АФАЙК: «Ты имеешь в виду?» функция не проверяет правописание. Это дает вам другой запрос на основе контента, проанализированного Google.




Links