Морфологический разбор и снятие омонимии



Определив язык запроса, Яндекс переходит к морфологии. Знание морфологии позволяет находить документы, содержащие разные формы одних и тех же слов. Например, по запросу [ стали для ножей ] Яндекс будет искать документы, в которых есть не только сочетание «стали для ножей», но и «сталь для ножа», «ножи сталь» и т.д. Анализируя запрос, Яндекс составляет список возможных словоформ для каждого слова.

По словоформе, которая есть в запросе, не всегда можно точно сказать, какое слово имел в виду человек. Например, в запросе [ стали для ножей ] «стали» — это не только существительное «сталь», но и глагол «стать». И в одном случае ([стали для ножей]) нужно искать формы существительного, а в другом ([стали выпадать волосы что делать]) – формы глагола. В такой ситуации нужно избавиться от неоднозначности, то есть снять омонимию. Омонимия — это совпадение слов (словоформ) с разным лексическим значением.

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

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

Расширение запроса

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

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

Выбирая, какое слово добавить, а какое нет, Яндекс смотрит, как часто это слово встречается с другими словами запроса — и в вопросах пользователей, и вообще в текстах. Однокоренные слова и синонимы система берет из соответствующих справочников и словарей, часть из которых Яндекс сам составляет специально для таких случаев.

Выделение объектов

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


Дата добавления: 2015-12-17; просмотров: 28; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!