Как поисковые системы ищут куски слов в своих поисковых деревьях? Или у них деревья из кусков слов?
Типа такие узлы дерева:
Колбаса
Колбас
Колба
Колб
Кол
Ко
Где то я такое читал про индексы в БД по-моему.
Но гугл ведь и по "лбаса" найдёт колбасу. Это как? Или у них какой то словарь с опечатками есть что ли (ничего себе опечаточка конечно)?
Или можно несколько деревьев создать. Сначала с целыми словами, а потом из кусков. Ну и выводить результат соответственно, сначала из хорошего, потом из плохого.
Исследовательские центры Google использовали N-граммные модели для широкого круга исследований и разработок. К ним относятся такие проекты, как статистический перевод с одного языка на другой, распознавание речи, исправление орфографических ошибок, извлечение информации и многое другое. Для целей этих проектов были использованы текстовые корпусы, содержащие несколько триллионов слов.
N-граммы, потом статистика опечаток и ошибок, потом корректировка через анализ поведения пользователя в выдаче и на сайтах на которые он перешёл.
Тут надо понимать, что чем больше информации тем проще решить эту задачу. На не большом сайте можно решить проблему с неверной раскладной и небольшое количество вариантов ошибок и опечаток и всё,у поисковиков всё на порядок круче.