Журнал о системах электронного документооборота (СЭД)
Технологии проектирования и построения СЭД

Релевантность результата поиска: а судьи кто?

  14 комментариев Добавить в закладки

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

А судьи – мы. 

Ещё материалы автора
Похожие записи
Комментарии (14)
Андрей Подкин 23 ноября 2010 г. 09:32  
Есть подозрение, что при поиске в глобальной сети при вычислении релевантности также учитывается и число посещения сайтов (например, ссылки на Wikipedia всегда находишь первыми или вторыми в списке), и ещё ряд других таинственных критериев.
Не число посещений, а число ссылок на страницу. Число посещений сайта можно узнать только в логах сервера, к которым поисковики доступа не имеют (разнообразные счетчики далеко не всегда показывают правдивые сведения).
 
 
Пертинентность определяет степень семантического соответствия результатов поиска запросу.
Можно источник? Wikipedia утверждает иначе:
 
Релева́нтность (лат. relevo — поднимать, облегчать) в информационном поиске — семантическое соответствие поискового запроса и поискового образа документа.[1]
 

Пертине́нтность (лат. pertineo — касаюсь, отношусь) — соответствие найденных информационно-поисковой системой документов информационным потребностям пользователя, независимо от того, как полно и как точно эта информационная потребность выражена в тексте информационного запроса. Иначе говоря, это соотношение объёма полезной информации к общему объёму полученной информации.[1]

 

 ↑ 1 2 3 4 Словарь по кибернетике / Под редакцией академика В. С. Михалевича. — 2-е. — Киев: Главная редакция Украинской Советской Энциклопедии имени М. П. Бажана, 1989. — 751 с. — (С48). — 50000 экз. — ISBN 5-88500-008-5
Ольга Ситникова 23 ноября 2010 г. 09:51  

Можно источник?

Я своими словами попыталась выразить то же самое определение, возможно, ошиблась немного в формулировке.
Алена Устинова 23 ноября 2010 г. 10:09  

 

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

 Не совсем число посещений. Учитывается, действительно, количество ссылок и количество переходов на страницу по запросам. Вообще, продвижение в топ ссылок дело не быстрое. Недостаточно просто сделать сайт с упоминанием "лука" или "собаки". Некоторые поисковики анализируют новизну материала и его актуальность. Поясню примером.
Есть некий сайт компании "Рога у партнеров". На первой странице размещают новости. Но, чаще всего, эти новости чужие, через десятые руки. Своих нет совсем. В этом случае ссылка на этот сайт никогда не поднимется высоко.
Не смогу рассказать, как это у них устроено, но работает однозначно.
Впрочем, иногда можно подняться и без этого. Но такие ссылки выводятся в отдельном окошке ;)
Для ECM-систем всё ещё проще: пользователи в условиях ограниченности базы данных и более медленного её роста (по сравнению с интернетом) обычно знают, что они ищут (документ с известным названием, известного автора, недавно открытый и проч.), из чего следует, что сам факт открытия документа, найденного среди прочих по запросу, практически подтверждает пертинетность результата запросу.

 К сожалению, даже опытный пользователь внутри компании не всегда знает, что он ищет и как именно это нужно сделать.
Например, мне нужно подготовить документ по определенному решению. Я знаю, что нечто подобное уже делали два сотрудника и я могла бы использовать их документы. Я обращаюсь к ним с просьбой, предоставить документы и, естественно, отсылаюсь к базе с совершенно общим представлением, что именно далжна искать: "Ну, примерно пол года назад и в названии что-то про технику".
В этой ситуации поисковик выдает ссылок не меньше Яндекса.
 
Но с самой идеей согласна. В условиях ограниченности количества пользователей вести статистику и поднимать этим качество работы поисковика будет правильно.
Елена Питомцева 23 ноября 2010 г. 11:02  

Предлагаю не вдаваться глубоко в вопросы релевантности для поисковых систем, так как это отдельная большая тема других сайтов. Но требования к СЭД работать как "большие поисковики" - это конечно реальность. Это одна из причин, почему пользователи предпочитают искать в Интернет (что подтверждает и наш опрос и выводы аналитиков).

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

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

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

уже давно используется в корпоративных средствах поиска, а также еще целая куча инструментов: предпросмотр, аудитории, объединения реультатов поиска по нескольким системам, сложная фильтрация и пр.

Если интересен корпоративный поиск, то советую взглянуть в сторону FAST поиска.

http://sharepoint.microsoft.com/en-us/Pages/Videos.aspx?VideoID=17

Конечно, можно кричать и ругаться, что это MS и все такое ;), только не следует забывать, что FAST - это лучшее hi-end решение для корпоративного поиска на данный момент.
 

Евгений Кочуров 23 ноября 2010 г. 15:58  

Да, FAST - это интересная технология. Правда, способ аргументации приводит в недоумение:

Конечно, можно кричать и ругаться, что это MS и все такое ;), только не следует забывать, что FAST - это лучшее hi-end решение для корпоративного поиска на данный момент.
Ivan Steblenko 23 ноября 2010 г. 16:04  

можно раскрыть подробнее, что именно в этой аргументации привело в недоумение?

Максим Галимов 24 ноября 2010 г. 09:12  

Иван, спасибо за ссылку на FAST. Уверен, что даже если кто и не знал о нем, теперь смогут лучше познакомиться с действительно неплохой поисковой разработкой. Думаю, Mi*oft не ошиблась, приобретя FAST пару лет назад, а Docu*tum не ошибся, отказавшись от него.

Ivan Steblenko 24 ноября 2010 г. 09:33  

хм, насчет Documentum не знал.. спасибо большое за ссылку!

Михаил Романов 24 ноября 2010 г. 11:07  

Думаю, Mi*oft не ошиблась, приобретя FAST пару лет назад, а Docu*tum не ошибся, отказавшись от него.


Да, я тоже это упустил, но тут похоже (судя по датам новостей на сайте Documentum), это связанные события.
 
Информация о поддержке xPlore появилась в 2010 году. Похоже, это была вынужденная мера, т.к. Microsoft прекращает поддержку FAST, как независимого продукта, полностью интегрируя его в SharePoint (официально это вроде не озвучивалось, но кулуарно обсуждлось, что сейчас все развитие FAST идет только в рамках ShrePoint).

Михаил Романов 24 ноября 2010 г. 11:18  

Кстати, было бы интересно посмотреть что на сей счет (рынка Enrterprise Search) думает Gartner, у них даже есть уже готовый отчет Overview for an Enterprise Search or Content Analytics Project 2010, но мое любопытство не стоит $200 :)

Так что подожду каких-нибудь публичных материалов (или комментариев коллег).

Ivan Steblenko 25 ноября 2010 г. 14:26  
сейчас все развитие FAST идет только в рамках ShrePoint

забавно.. SP преващается в сверхплатформу: уже PerfomancePoint (да, не весь), Project Server, а теперь еще и FAST.
 

Михаил Романов 25 ноября 2010 г. 17:27  
забавно.. SP преващается в сверхплатформу: уже PerfomancePoint (да, не весь), Project Server, а теперь еще и FAST.
На самом деле, свой корпоративный поиск у Microsoft был еще в SP 2007, но качество его было явно не на высоте.
Поэтому FAST не добавляет, а усиливает имеющуюся функциональность.
 
А так да, общая тенденция: SP - витрина для огромного спектра продуктов, зачастую с управлением контентом и документами ничего общего не имеющих.бщего не имею большого спогромного спектра продуктовллббщего не имеющего
Сейчас обсуждают
Евгений Кочуров 20 марта 2017 г. 07:49  
Юрий Зерин 18 марта 2017 г. 19:18  
Сергей Бушмелев 15 марта 2017 г. 22:47  
Елена Истомина 15 марта 2017 г. 13:08  
Сергей Бушмелев 15 марта 2017 г. 10:46  
Больше комментариев