Из Википедии, свободной энциклопедии
  (Перенаправлено из Fulltext )
Перейти к навигации Перейти к поиску

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

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

Индексирование [ править ]

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

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

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

Компромисс между точностью и отзывчивостью [ править ]

Схема поиска с низкой точностью и малым количеством отзывов

Отзыв измеряет количество релевантных результатов, возвращаемых поиском, а точность - это мера качества возвращаемых результатов. Напоминание - это отношение возвращенных релевантных результатов ко всем релевантным результатам. Точность - это количество возвращенных релевантных результатов по отношению к общему количеству возвращенных результатов.

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

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

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

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

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

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

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

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

  • Ключевые слова . Создателей документов (или обученных индексаторов) просят предоставить список слов, описывающих тему текста, включая синонимы слов, описывающих эту тему. Ключевые слова улучшают запоминание, особенно если список ключевых слов включает поисковое слово, которого нет в тексте документа.
  • Поиск с ограничением по полю . Некоторые поисковые системы позволяют пользователям ограничивать поиск по свободному тексту определенным полем в сохраненной записи данных , например «Заголовок» или «Автор».
  • Логические запросы . Поиски, в которых используются логические операторы (например, «энциклопедия» И «онлайн» НЕ «Энкарта» ), могут значительно повысить точность поиска по свободному тексту. И оператор говорит, в сущности, «Не получить любой документ , если он не содержит оба этих терминов.» НЕ оператор говорит, в сущности, «Не получить любой документ , который содержит это слово.» Если список поиска извлекает слишком мало документов, можно использовать оператор ИЛИ для увеличения отзыва ; рассмотрим, например, "энциклопедию" И "онлайн" ИЛИ "Интернет" НЕ "Encarta ". Этот поиск найдет документы об онлайн-энциклопедиях, в которых используется термин «Интернет» вместо «онлайн». Такое повышение точности очень часто приводит к обратным результатам, поскольку обычно сопровождается резкой потерей отзыва. [5]
  • Поиск по фразе . Поиск по фразе находит только те документы, которые содержат указанную фразу, например «Википедия, бесплатная энциклопедия».
  • Концептуальный поиск . Поиск, основанный на концепциях, состоящих из нескольких слов, например, обработка составных терминов . Этот тип поиска становится популярным во многих решениях для электронных открытий.
  • Поиск соответствия . Поиск соответствия производит алфавитный список всех основных слов, которые встречаются в тексте, с их непосредственным контекстом.
  • Поиск по близости . Поиск по фразе находит только те документы, которые содержат два или более слов, разделенных указанным количеством слов; поиск по запросу «Википедия» ВМЕСТЕ 2 «бесплатно» приведет к поиску только тех документов, в которых слова «Википедия» и «бесплатно» встречаются в пределах двух слов друг от друга.
  • Регулярное выражение . Регулярное выражение использует сложный, но мощный синтаксис запросов, который можно использовать для точного определения условий поиска.
  • Нечеткий поиск будет искать документ, который соответствует заданным условиям и некоторым вариациям вокруг них (например, используя расстояние редактирования для порогового значения множественного варианта).
  • Поиск по шаблону . Поиск, при котором один или несколько символов в поисковом запросе заменяются символом подстановки, например звездочкой . Например, использование звездочки в поисковом запросе «s * n» найдет в тексте «грех», «сын», «солнце» и т. Д.

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

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

Программное обеспечение [ править ]

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

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

  • Apache Solr
  • АрангоПоиск
  • BaseX
  • Elasticsearch
  • КиноПоиск
  • Лемур / Индри
  • Lucene
  • mnoGoSearch
  • PostgreSQL
  • Searchdaimon
  • Сфинкс
  • Swish-e
  • ИК-платформа Terrier
  • Xapian
  • Bsasearch
  • RediSearch

Проприетарное программное обеспечение [ править ]

  • Алголия
  • Автономия Корпорация
  • Поиск в Azure
  • Проект Бар Илана Респонса
  • Базовая база данных
  • Brainware
  • BRS / Поиск
  • Concept Searching Limited
  • Дизельпойнт
  • dtSearch
  • Endeca
  • Exalead
  • Funnelback
  • Быстрый поиск и перевод
  • Инктоми
  • Locayta (переименован в ATTRAQT в 2014 г.) [ необходима ссылка ]
  • Осознанное воображение
  • MarkLogic
  • SAP HANA [7]
  • Swiftype
  • ООО «Тандерстоун Софтвер».
  • Вивисимо

Ссылки [ править ]

  1. ^ На практике может быть сложно определить, как работает данная поисковая система. Эти алгоритмы поиска фактически используемые веб-поисковые службы редко полностью раскрывается из страхачто вебпредприниматели будут использовать поисковую оптимизацию методычтобы улучшить их известность в поисковых списках.
  2. ^ «Возможности системы полнотекстового поиска» . Архивировано из оригинального 23 декабря 2010 года.
  3. ^ Коулз, Майкл (2008). Профессиональный полнотекстовый поиск в SQL Server 2008 (версия 1, изд.). Издательская компания "Апресс" . ISBN 1-4302-1594-1.
  4. ^ Б., Ювоно; Ли, DL (1996). Алгоритмы поиска и ранжирования для поиска ресурсов во всемирной паутине . 12-я Международная конференция по инженерии данных (ICDE'96). п. 164.
  5. ^ Исследования неоднократно показывали, что большинство пользователей не понимают отрицательного воздействия логических запросов. [1]
  6. ^ US 6285999 , Пейдж, Лоуренс, «Метод ранжирования узлов в связанной базе данных», опубликовано 9 января 1998 г., выпущено 4 сентября 2001 г.  «Метод присваивает ранги важности узлам в связанной базе данных, такой как любая база данных документов, содержащих цитаты, всемирная паутина или любая другая база данных гипермедиа. Рейтинг, присвоенный документу, рассчитывается на основе рангов документов, цитирующих его. Кроме того, , ранг документа ... "
  7. ^ «SAP добавляет пакеты программного обеспечения на основе HANA в портфель IoT | Консультант по MarTech» . www.martechadvisor.com .

См. Также [ править ]

  • Сопоставление с образцом и сопоставление строк
  • Обработка сложных терминов
  • Корпоративный поиск
  • Извлечение информации
  • Поиск информации
  • Фасетный поиск
  • Список поставщиков поисковой системы предприятия
  • WebCrawler , первый движок FTS
  • Индексирование поисковыми системами - как поисковые системы генерируют индексы для поддержки полнотекстового поиска