stringtranslate.com

Полнотекстовый поиск

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

При полнотекстовом поиске поисковая система проверяет все слова в каждом сохраненном документе, пытаясь сопоставить его с критериями поиска (например, текст, указанный пользователем). Методы полнотекстового поиска появились в 1960-х годах, например, IBM STAIRS с 1969 года, и стали распространены в онлайн -библиографических базах данных в 1990-х годах. [ требуется проверка ] Многие веб-сайты и прикладные программы (например, программное обеспечение для обработки текстов ) предоставляют возможности полнотекстового поиска. Некоторые поисковые системы, такие как бывшая AltaVista , используют методы полнотекстового поиска, в то время как другие индексируют только часть веб-страниц, проверенных их системами индексирования. [1]

Индексация

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

Однако, когда количество документов для поиска потенциально велико или количество поисковых запросов для выполнения существенно, проблема полнотекстового поиска часто делится на две задачи: индексирование и поиск. На этапе индексирования будет просканирован текст всех документов и составлен список поисковых терминов (часто называемый индексом , но более правильно называть его согласованием ). На этапе поиска при выполнении определенного запроса ссылаются только на индекс, а не на текст исходных документов. [2]

Индексатор сделает запись в индексе для каждого термина или слова, найденного в документе, и, возможно, отметит его относительное положение в документе. Обычно индексатор игнорирует стоп-слова (такие как "the" и "and"), которые являются общими и недостаточно значимыми, чтобы быть полезными при поиске. Некоторые индексаторы также используют языковую специфичность для индексируемых слов. Например, слова "drives", "driven" и "driven" будут записаны в индексе под одним концептуальным словом "drive".

Компромисс между точностью и полнотой

Диаграмма поиска с низкой точностью и низкой полнотой

Полнота измеряет количество релевантных результатов, возвращаемых поиском, в то время как точность является мерой качества возвращаемых результатов. Полнота — это отношение возвращенных релевантных результатов ко всем релевантным результатам. Точность — это отношение количества возвращенных релевантных результатов к общему количеству возвращенных результатов.

Диаграмма справа представляет собой поиск с низкой точностью и низкой полнотой. На диаграмме красные и зеленые точки представляют собой общую популяцию потенциальных результатов поиска для данного поиска. Красные точки представляют собой нерелевантные результаты, а зеленые точки представляют собой релевантные результаты. Релевантность указывается близостью результатов поиска к центру внутреннего круга. Из всех возможных показанных результатов те, которые были фактически возвращены поиском, показаны на светло-голубом фоне. В примере был возвращен только 1 релевантный результат из 3 возможных релевантных результатов, поэтому полнота составляет очень низкое соотношение 1/3 или 33%. Точность для примера составляет очень низкое 1/4 или 25%, поскольку только 1 из 4 возвращенных результатов был релевантным. [3]

Из-за неоднозначности естественного языка , системы полнотекстового поиска обычно включают такие опции, как фильтрация для повышения точности и морфология для повышения отзыва. Поиск с контролируемым словарем также помогает смягчить проблемы низкой точности, помечая документы таким образом, чтобы устранить неоднозначности. Компромисс между точностью и отзывом прост: увеличение точности может снизить общий отзыв, в то время как увеличение отзыва снижает точность. [4]

Ложноположительная проблема

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

Методы кластеризации, основанные на байесовских алгоритмах, могут помочь сократить количество ложных срабатываний. Для поискового термина «банк» кластеризация может использоваться для категоризации вселенной документов/данных на «финансовое учреждение», «место для сидения», «место для хранения» и т. д. В зависимости от встречаемости слов, относящихся к категориям, поисковые термины или результаты поиска могут быть помещены в одну или несколько категорий. Этот метод широко применяется в области электронного обнаружения . [ требуется разъяснение ]

Улучшения производительности

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

Улучшенные инструменты запросов

Улучшенные алгоритмы поиска

Алгоритм PageRank, разработанный Google, придает большую значимость документам, на которые ссылаются другие веб-страницы . [6] Дополнительные примеры см . в разделе Поисковая система .

Программное обеспечение

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

Бесплатное программное обеспечение с открытым исходным кодом

Собственное программное обеспечение

Ссылки

  1. ^ На практике может быть сложно определить, как работает та или иная поисковая система. Алгоритмы поиска , которые фактически используются службами веб-поиска, редко раскрываются полностью из-за опасений, что веб-предприниматели будут использовать методы поисковой оптимизации для повышения своей известности в списках поиска.
  2. ^ "Возможности системы полнотекстового поиска". Архивировано из оригинала 23 декабря 2010 г.
  3. ^ Коулз, Майкл (2008). Профессиональный полнотекстовый поиск в SQL Server 2008 (версия 1 ред.). Apress Publishing Company . ISBN 978-1-4302-1594-3.
  4. ^ Б., Ювоно; Ли, Д. Л. (1996). Алгоритмы поиска и ранжирования для поиска ресурсов во Всемирной паутине . 12-я Международная конференция по инжинирингу данных (ICDE'96). стр. 164.
  5. ^ Экспериментальное сравнение схем интерпретации булевых запросов
  6. ^ US 6285999, Page, Lawrence, "Метод ранжирования узлов в связанной базе данных", опубликовано 09.01.1998, выпущено 04.09.2001.  "Метод присваивает ранги важности узлам в связанной базе данных, например, любой базе данных документов, содержащей цитаты, всемирной паутине или любой другой базе данных гипермедиа. Ранг, присвоенный документу, вычисляется на основе рангов документов, цитирующих его. Кроме того, ранг документа равен..."
  7. ^ «SAP добавляет программные пакеты на базе HANA в портфолио IoT | MarTech Advisor». www.martechadvisor.com .
  8. ^ "Поиск вершинного ИИ". cloud.google.com/enterprise-search .

Смотрите также