М. Абрамзон - Яндекс для всех
Точность поиска определяется как степень соответствия найденных документов запросу пользователя. Допустим, мы хотим найти документы, в которых встречается выражение "сын знахаря". В результатах поиска мы увидим документы, в которых встречается точно такое выражение. Но присутствуют и документы, содержащие искомые слова, но не выражения, например: "родители привозят сына в небольшой городок на Адриатическом побережье, к местному знахарю". Ресли всего найдено 200 документов, из которых только в 80 встречается именно искомое словосочетание, то точность поиска будет оценена как 80/200 (0,4). Чем точнее поиск, тем выше вероятность, что пользователь найдет нужные документы, тем меньше будет избыточной, лишней информации.
Для повышения точности результата в различных поисковых системах применяются различные способы. Каждый поисковик использует свои решения, в целом предназначенные для выполнения близких по сути задач. К примеру, вот что по этому поводу сказано на сайте Рамблера:
Повышение точности РІ РїРѕРёСЃРєРѕРІРѕР№ машине Рамблер достигается Р·Р° счет использования различных технологий РЅР° всех этапах обработки Рё РїРѕРёСЃРєР° информации. РћРґРЅРёРј РёР· наиболее интересных процессов является распознавание грамматических РѕРјРѕРЅРёРјРѕРІ. РћРјРѕРЅРёРјС‹ — это слова, которые имеют одинаковое написание, РЅРѕ различный смысл. Различают лексические Рё грамматические РѕРјРѕРЅРёРјС‹. Лексические РѕРјРѕРЅРёРјС‹ относятся Рє РѕРґРЅРѕР№ части речи, как, например, существительное "Р±РѕСЂ": хвойный лес, стальное сверло Рё химический элемент. Грамматические РѕРјРѕРЅРёРјС‹ относятся Рє разным частям речи, поэтому РїРѕ написанию Сѓ РЅРёС… обычно совпадают только отдельные формы. Примерами грамматических РѕРјРѕРЅРёРјРѕРІ РјРѕРіСѓС‚ служить слова "печь" (существительное русская печь Рё глагол печь пирожки) Рё "СЂСЏРґРѕРІРѕР№" (прилагательное СЂСЏРґРѕРІРѕР№ сотрудник Рё существительное СЂСЏРґРѕРІРѕР№ Рванов).
Омонимы не только увеличивают размер индексной базы (так как для каждого такого слова приходится хранить все его возможные значения), но и отрицательно сказываются на точности поиска. Если пользователь ищет слово "данные", ему неинтересно получить в найденном все документы, которые содержат слово "дать". Для того чтобы результаты поиска были точнее, модуль синтаксического анализа проводит разбор окружения слов-омонимов с целью установления их наиболее вероятных значений. Например, если рядом со словом "печь" стоит существительное ("пирожки", "картошка"), то с высокой вероятностью "печь" в данном контексте является глаголом. На сегодняшний день анализатор способен распознавать значения только грамматических омонимов.
Синтаксический анализ позволяет также с определенной вероятностью распознавать некоторые имена собственные. Например, если в тексте несколько слов подряд написано с большой буквы, они чаще всего представляют собой имя собственное (Петр Петрович, Московский Государственный Университет). Данные о таких конструкциях учитываются при индексации и обработке запроса.
Еще один способ повышения точности поиска — это выделение устойчивых обозначений и поиск их как отдельных лексических единиц. На сегодняшний день в Рамблере реализована система распознавания таких конструкций, как, например C++, б/у, п/п-к. Если по запросу С++ поднимать все тексты, в которых присутствуют латинская буква С, а также знак +, то получится огромное количество документов, далеко не все из которых соответствуют запросу; кроме того, это большая работа, значительно увеличивающая время поиска.
Рсточник: "Принципы работы РїРѕРёСЃРєРѕРІРѕР№ машины Рамблер" (http://www.rambler.ru/doc/architecture.shtml).
Рђ РІРѕС‚ что РЅР° эту же тему пару лет назад сказал Р. Сегалович, директор Яндекса РїРѕ технологиям Рё разработке:
Алгоритм РїРѕРёСЃРєР° учитывает социальную структуру Рнтернета. РћРЅ умеет отличать мнение людей РѕС‚ технической, вспомогательной Рё рекламной информации, то есть лучше распознавать, какой ресурс является авторитетным РІ своей области. Также введена дополнительная очистка результатов РїРѕРёСЃРєР° РѕС‚ дубликатов. Теперь пользователь избавлен РѕС‚ повторения РІ СЃРїРёСЃРєРµ найденного почти одинаковой информации. РџРѕРёСЃРє РІ Рнтернете — это серьезная наука, поэтому для повышения качества сервиса РІ Яндексе проводятся регулярные исследования. Р’ прошлом РіРѕРґСѓ РјС‹ организовали отдел асессоров — пользователей, которые систематически РїРѕ заданной методике оценивают релевантность результатов. Обратная СЃРІСЏР·СЊ РѕС‚ асессоров дает нам возможность настраивать параметры алгоритма ранжирования Рё увеличивать точность РїРѕРёСЃРєР°. Стало удобнее работать СЃ региональной информацией. Теперь Яндекс автоматически определяет, РІ каком РіРѕСЂРѕРґРµ находится компьютер, СЃ которого поступил запрос, Рё, если уточнение РїРѕ региону имеет смысл, предлагает повторить РїРѕРёСЃРє, ограничив его сайтами данного региона. РџРѕРёСЃРє поддерживает шесть языков — Рє СЂСѓСЃСЃРєРѕРјСѓ Рё английскому добавились украинский, белорусский, французский Рё немецкий. Язык документов Рё сайтов определяется автоматически, Р° ограничить область РїРѕРёСЃРєР° нужным языком можно РІ настройках или расширенном РїРѕРёСЃРєРµ. Расширенный РїРѕРёСЃРє стал проще Рё функциональней, заданные СЃ его помощью ограничения теперь РІРёРґРЅС‹ РЅР° странице найденных результатов. Благодаря "СѓРјРЅРѕР№ подсказке" пользователи расширенного РїРѕРёСЃРєР° СЃРјРѕРіСѓС‚ увидеть сформированный запрос, как если Р±С‹ РѕРЅ был задан РЅР° СЂСѓСЃСЃРєРѕРј языке.