Одни алгоритмы возвращают многочисленные результаты разной релевантности, а другие - лишь немного результатов высокого качества. Эти крайние точки спектра обозначаются терминами полнота (recall) и точность (precision). Есть даже формулы для их вычисления (обратите внимание на разницу в знаменателях):

Точность = количество извлеченных релевантных документов / общее количество найденных документов.

Полнота = количество извлеченных релевантных документов / общее количество релевантных документов в системе.

Какую задачу решают ваши пользователи - ищут законодательные акты, выясняют текущее состояние исследований в некоторой области науки или проявляют должную осмотрительность при совершении крупной покупки? В таких случаях они нуждаются в высокой полноте. Каждый из сотен и тысяч полученных результатов поиска будет иметь некоторую степень релевантности, пусть небольшую. Например, если пользователь занимается «эго-серфингом», то ему нужны все упоминания его имени, и поэтому он рассчитывает на высокую полноту. Проблема, конечно, в том, что наряду с нужными результатами возвращается множество нерелевантных.

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

Как было бы здорово, если бы результаты были одновременно полными и точными - множество результатов и все высокого качества! Увы, нельзя совместить несовместимое: полнота и точность находятся в обратно пропорциональной зависимости. Вам придется решить, какое соотношение между ними окажется наиболее выгодным для пользователей. После этого можно выбрать поисковый механизм, отдающий предпочтение полноте или точности, либо, в некоторых случаях, настроить механизм в пользу одного или другого.

Например, поисковый механизм может автоматически выделять основу слова и расширять термин, включая в поиск однокоренные с ним (automatic stemming). Развитый механизм такого типа может расширять поиск термина «computer» на такие однокоренные слова, как «computers», «computation», «computational», и «computing», т. е. в результаты поиска будут включены все документы, содержащие любой из перечисленных терминов. Такой расширенный запрос возвратит больше релевантных документов, т. е. обеспечит более высокую полноту.

Напротив, в отсутствие поиска однокоренных слов запрос «computer» возвратит только документы с термином «computer» и проигнорирует другие варианты. При слабой форме расширения основы запрос может быть расширен для поиска множественного числа и возвратит документы, содержащие «computer» или «computers». При слабом или отсутствующем поиске одноосновных слов точность выше, а полнота ниже. Выбор системы поиска, ориентированной на полноту или точность, зависит от информационных потребностей ваших пользователей.

Следует также учитывать степень структурированности содержимого. Есть ли в нем поля, выделенные с помощью HTML, XML или определенные в структуре записи, содержащей документ, которые поисковый механизм может опознать и использовать в своей работе? Если да, то поиск строки «Уильям Фолкнер» в поле с именем автора даст большую точность при поиске книг, написанных Фолкнером. В противном случае приходится осуществлять поиск во всем тексте всех документов, которые попадут в результаты поиска, если в них упомянут Фолкнер, даже если он не является автором.


Информационная архитектура



Новости за месяц

  • Ноябрь
    2019
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс