Добавить в закладки могут только зарегистрированные пользователи.
Релевантность результата поиска: а судьи кто? 

Ольга Ситникова23 ноября 2010 г. 08:43

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

1. Релевантность и пертинентность

Вообще говоря, релевантность – это степень соответствия результатов поиска введённому поисковому запросу, которая вычисляется по каким-то хитрым формулам, учитывающим частоту употребления слова в просматриваемом тексте, а если слов в поисковом запросе было несколько, то при подсчёте релевантности учитывается ещё и близость искомых слов по отношению друг к другу.  Есть подозрение, что при поиске в глобальной сети при вычислении релевантности также учитывается и число посещения сайтов (например, ссылки на Wikipedia всегда находишь первыми или вторыми в списке), и ещё ряд других таинственных критериев. В целом, релевантность – довольно размытое понятие, которое не даёт вообще никакого понятия о том, найду ли я на сайте (в документе) то, что я действительно хотела найти, т.е. является ли результат запроса пертинентным. Пертинентность определяет степень семантического соответствия результатов поиска запросу. Например, я искала рецепт приготовления какого-нибудь блюда из лука и, будучи неопытным пользователем, набрала в строке поиска только слово «лук». С точки зрения системы документ с классификацией видов стрелкового оружия будет абсолютно релевантным запросу, и это верно, но такой результат для пользователя пертинентным являться не будет.

Вынуждена согласиться с тем, что поисковый движок попросту не может самостоятельно оценить пертинентность запроса, поскольку не умеет, как и большинство людей, читать мысли, а ещё его очень легко обмануть. Что же мы имеем в итоге? Поисковики подменяют пертинентность релевантностью, пытаясь таким вот формализованным образом подменить неформализуемое понятие.

2. Отображение релевантности

Поисковые движки разнообразных систем (будь то специализированные сервисы в интернете, или модули прикладных программ) на подмене понятий не останавливаются. Некоторые из них предлагают пользователю посмотреть ещё и числовое значение релевантности, например, в процентах: от 0 до 100, или шкалу релевантности запроса (навроде: у кого релевантнее, у того и шкала длиннее), а иногда и вовсе и то, и другое.

 

Скажем, ищу я слово «собака», получаю списки сущностей (документов или сайтов), возле ссылки на каждый из которых указано некое числовое значение, скажем, возле ссылки на книгу о породах собак будет стоять значение, близкое к 90%, потому что искомое слово, по всей видимости, очень часто в указанной книжке встречается. Хорошо, я согласна, скорее всего такой запрос будет пертинентным. Однако, что если я создам документ, в котором 500 раз напишу слово «собака» подряд и больше ничего? Удивительно, но такой документ будет самым наирелевантнейшим по запросу «собака». Если алгоритм позволит, то релевантность запроса будет близка к тысяче процентов. О пертинентности промолчу. А ещё я видела результаты поиска, у которых релевантность была нулевой, но в список результатов поиска их всё же пустили. Наверное, из жалости.

Нужны ли мне были эти цифры, пригодились ли они мне хоть раз в жизни? Нет. Сама по себе цифра не даёт вообще никакого понятия о том, что было найдено по запросу. Ну и что, что у одного документа 90%, а у другого 93, мне вообще вот тот был нужен, у которого почему-то 27% указано. Нужна ли мне шкала? Тоже сомнительно. Шкала нужна, чтобы сравнить, опять же, что? Количественные оценки релевантности! Хм… Снова не то. Цифры релевантности нужны только при отладке алгоритма поиска, пользователю их видеть не нужно. Достаточно, на мой взгляд, отсортировать.

3. «А судьи кто?»

Релевантность – хороший способ формализовать оценку похожести документа, найденного поисковым движком, исходному запросу пользователя. Однако, релевантность результата в данный момент даёт большую степень пертинентности только в том случае, если запрос был грамотно (читай «по-машинному») сформулирован (иногда с использованием спецсимволов поискового движка). Пользователь, имеющий представление о том, что система работает в рамках алгоритма, подменяет обычный человеческий язык машинным, но ведь как сказал американский писатель Спайдер Робинсон: «Я как писатель-фантаст уверен, что этот чёртов робот должен говорить на человеческом языке, а не наоборот».

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

Возможно, это поможет сделать история запросов конкретного пользователя. Так, например, для сервера ECM-системы ничего сложного не составляет вести историю запросов и полученных результатов в работе одного и того же пользователя. Этого пользователя при общем подсчёте статистики можно объединить в группу с другими пользователями (например, выполняющими сходные функции делопроизводителя или руководителя).

Таким образом, сильно упрощённый алгоритм работы поискового движка для получения пертинентных результатов может быть следующим:

  1. Пользователь вводит запрос и получает список результатов, релевантных этому запросу.
  2. Пользователь просматривает список релевантных результатов и отмечает те из них, что оказались пертинентны запросу. В этот момент устанавливается связка по пертинентности между запросом и отдельным его результатом.
  3. При последующем вводе того же самого запроса отмеченные значком пертинентности релевантные результаты обладают приоритетом перед результатами, не отмеченными таким значком.

Возникает вопрос: как отмечать результаты, пертинентные запросу? У современных систем есть все возможности для этого: подавляющее большинство поисковиков в интернете при демонстрации результатов поиска всегда предоставляют пользователю фрагмент текста, в котором фигурируют искомые слова (а Googleдаже организует красивый предпросмотр страничек). Так, при некоторых допущениях, можно сказать, что если пользователь перешёл по ссылке, то он счёл результат пертинентным (отмечать галочкой, а ещё хуже заставлять пользователя проставлять процент пертинентности – это пример дьявольского моветона). В конце концов, ведь как-то же организована контекстная реклама и прочие фишки. Запомнить пользователя можно не только по ip, но ещё и привязав его к своему поисковику посредством почтового ящика на том же сервере.

Для ECM-систем всё ещё проще: пользователи в условиях ограниченности базы данных и более медленного её роста (по сравнению с интернетом) обычно знают, что они ищут (документ с известным названием, известного автора, недавно открытый и проч.), из чего следует, что сам факт открытия документа, найденного среди прочих по запросу, практически подтверждает пертинетность результата запросу.

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

А судьи – мы. 


Тип: Записи блогов

 (3,71 - оценили 14 чел.)

Комментарии
  • Сохранить комментарий
  • Цитировать выделенное
  • Предпросмотр