KnigaRead.com/
KnigaRead.com » Документальные книги » Биографии и Мемуары » Владислав Дорофеев - Яндекс Воложа. История создания компании мечты

Владислав Дорофеев - Яндекс Воложа. История создания компании мечты

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Владислав Дорофеев, "Яндекс Воложа. История создания компании мечты" бесплатно, без регистрации.
Перейти на страницу:

Чтобы выбрать для поиска наиболее вероятный список форм, система обращается к статистике совместной встречаемости слов и грамматических признаков. Например, в морфологическом разборе по запросу «стали для ножей» система выберет для поиска слово «сталь». Во-первых, потому что по статистике слово «сталь» чаще встречается со словом «нож», чем «стать». А во-вторых, потому что существительное в именительном падеже (в данном случае, «сталь») часто сочетается с существительным в родительном падеже («ножей»).

Для сбора статистики «Яндекс» использует Национальный корпус русского языка и свои собственные корпуса, где собрано огромное количество текстов в электронном виде.

После снятия омонимии поисковая система уже не будет искать слова, которые пользователь точно не имел в виду. В то же время, если ограничить поиск только словами из запроса, в поле зрения поисковой системы не попадут многие нужные документы. Ведь для одного и того же понятия в разных текстах могут использоваться разные слова, например на одном сайте может стоять аббревиатура, а на другом — полное наименование.

Для того чтобы учесть все возможные варианты, «Яндекс» расширяет запрос, добавляя другие формулировки с тем же смыслом. Например, вместе со сложносокращенным «физтех» «Яндекс» будет искать и официальное «Московский физико-технический институт», а по запросу «установка скайп» — еще и английское skype. Точно так же «Яндекс» добавляет в запрос разные написания чисел («Петр I» и «Петр Первый»), близкие по смыслу однокоренные слова, варианты написания и синонимы. Так, если в запросе есть «воронежский», система может добавить к нему однокоренное «Воронеж», к «авто-сервис мицубиши» — «автосервис мицубиси», а к «ветерок» — похожее «бриз». Выбирая, какое слово добавить, а какое нет, «Яндекс» смотрит, как часто это слово встречается с другими словами запроса — и в вопросах пользователей, и вообще в текстах. Однокоренные слова и синонимы система берет из соответствующих справочников и словарей, часть из которых «Яндекс» сам составляет специально для таких случаев.

Анализируя запрос, поисковая система выделяет в нем различные объекты — географические названия, имена людей, названия организаций и т. д. Например, если поисковая система поймет, что «Сергей Зубов» — это человек, она не будет расширять фамилию «зубов» «зубным» или искать стоматологические клиники. А если в запросе «аптеки на Парке культуры» система обнаружит, что «Парк культуры» — это место, она учтет это при ранжировании: в результатах поиска первые строчки займут документы, в которых слова «парк» и «культуры» идут подряд. Для выделения устойчивых фраз и объектов «Яндекс» тоже составляет различные справочники — например, словарь топонимов (географических названий), словарь имен и фамилий, справочник организаций, словарь устойчивых словосочетаний. Получив запрос, система каждый раз проверяет по справочникам, есть ли в нем устойчивые словосочетания.

Анализируя запрос, поисковая система всегда проверяет его на грамотность. По статистике «Яндекса», около 12 % запросов содержат ошибки. Это могут быть опечатки, орфографические ошибки или абракадабра, которая получается при неправильной раскладке клавиатуры. Если искать ровно то, что указано в поисковой строке, человек так и не получит нужный ему ответ — ведь на большинстве сайтов слова все-таки написаны грамотно. Поэтому те слова, в которых часто допускают ошибки («агентство», «винегрет») или по которым нет хорошего ответа на вопрос, «Яндекс» сразу же исправляет и показывает ответ уже на исправленный запрос. Разумеется, предупреждая пользователя, что запрос был исправлен.

В некоторых случаях сложно определить, ошибся пользователь или нет. Например, ресторан «Фуджияма» очень похож на вулкан Фудзияма, а фамилия футболиста Массад на «Моссад» (а также на «массаж» и крепость «Массада»). В таких случаях, показывая ответ на исходный вопрос, «Яндекс» спрашивает, не ошибся ли человек и не хочет ли он увидеть ответ на исправленный запрос. Есть еще один вариант — когда система не уверена, опечатался человек или нет, она покажет на одной странице результатов поиска ответы сразу на два вопроса — на заданный, в котором предположительно есть опечатка, и на исправленный.

На работу с ошибками и весь лингвистический анализ уходят доли секунды. За это время система успевает определить язык запроса, разобрать каждое слово, найти синонимы и устойчивые сочетания и в конечном счете решить, документы с какими словами нужно искать.

Последние три года работы под крышей CompTek-матки стали периодом особенно бурного развития для проекта Яndex, который Волож постепенно начал готовить к отделению от CompTek — вместе с собственным отделением. По воспоминаниям ветеранов «Яндекса», на тот момент «вся команда портала составляла около десяти человек».

К моменту старта проекта Яndex поисковая система умела выполнять проверку уникальности найденных документов (исключение копий в разных кодировках), Яndex учитывал морфологию русского языка (и поиск по точной словоформе), осуществлял поиск с учетом расстояния (в том числе в пределах абзаца — точное словосочетание), а тщательно разработанный алгоритм оценки релевантности (соответствия ответа запросу) учитывал не только количество слов запроса, найденных в тексте, но и его относительную частоту для данного документа, расстояние между словами и положение слова в документе.

Практически одновременно со стартом Яndex в публичном пространстве появился раздел «Сказки» (наблюдения за содержанием русского Интернета). Первая опубликованная 30 сентября 1997 г. сказочная история называлась «Web — гуманизм или чернуха?». Выглядела она довольно пафосно.

Web — гуманизм или чернуха? Сегодня можно точно ответить — гуманизм, со счетом 404 на 134. Перевес (в три раза) — солидный для нашего времени. Запустив наконец свою поисковую машину, мы получили удобную возможность исследовать русский Web «от себя лично», не думая о том, что иностранные поисковые машины не понимают русские кодировки и вообще далеко от России, а также не мучаясь над заданием всех склонений и спряжений.

Любители изящной словесности и ревнители русского языка скажут, что сравнение «чернуха — гуманизм» слишком прямолинейно и недостаточно для столь сильного вывода. Попробуем привести ряд примеров, которые нам представляются убедительными. Простейшая антитеза: «добро — зло». Получается: добро (3710) + добрый (10 098) + доброта (593) = 14 401; зло (3153) + злой (3248) + злость (453) = 6854. Соотношение: 14 401 / 6854 = 2,1.

Аналогичные примеры: счастье (6876) + счастливый (5672) = 12 548; несчастье (1301) + несчастливый (208) + несчастный (3082) = 4591, соотношение: 12 548 / 4591 = 2,73; хорошо (28 174) + хороший (26 295) = 54 469, плохо (12 134) + плохой (6697) = 18 831, соотношение: 54 469 / 18 831 = 2,89.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*