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

Поисковые системы возникли на основе технологии баз данных – они хранят данные и обрабатывают запросы к этим данным. Традиционные базы данных работают в основном со структурированным контентом – данные организованы в таблицы и столбцы со встроенной схемой. Задача базы данных – получить все строки данных, основываясь на запросах, которые соответствуют значениям в столбцах. Поисковые системы работают со структурированными данными (документами), которые содержат как метаданные, так и большие блоки неструктурированного текста (свободного текста). Поисковые системы используют лингвистические правила, чтобы разбить эти большие блоки текста на сопоставимые термины. Кроме того, поисковые системы имеют встроенную функцию ранжирования, позволяющую упорядочить результаты и вывести лучшие из них на первое место. Если реляционные и NoSQL-базы данных извлекают все результаты, то поисковые системы извлекают лучшие результаты.

Области применения поисковых систем делятся на три большие категории: поиск документов, который работает в основном с неструктурированным свободным текстом; поиск в электронной коммерции, который работает со смесью структурированных и неструктурированных данных; и выгрузка запросов, которая работает в основном со структурированными данными.

Работает ли поиск по документам с метаданными?

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

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

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

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

Каковы другие примеры использования поиска?

Поиск eCommerce 

Вы переходите на систему eCommerce, чтобы найти и приобрести товары из каталога доступных продуктов. Для этих товаров указано множество полей метаданных – размер, цвет, бренд и т. д., а также более длинные поля, например название, описание товара и отзывы. Главная задача системы — отображать самые релевантные результаты, приносящие доход. Дизайнеры сайтов используют множество инструментов для построения правильной работы функции релевантности — от встроенных числовых значений до моделей ML, основанных на поведении пользователя.

Для повышения удобства интерфейса конечного пользователя, сайты электронной торговли часто добавляют фасетный поиск. Движок обеспечивает групповой подсчет значений в различных полях (размер, цвет и т. д.), а UI выдает пользователю активный список, используемый для сужения результатов поиска.

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

Поиск по тщательно подобранным наборам данных

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

Разгрузка запроса

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

Для создания богатого и удовлетворяющего потребностям механизма поиска требуется множество рабочих функций. Разработчики интегрируют поисковые решения, создают поисковый интерфейс и понимают, как структурировать данные для получения наилучших результатов поиска. Менеджеры по продукту предъявляют требования к структуре метаданных и пользовательскому интерфейсу поиска. Специалисты по работе с данными курируют исходные данные, а также отслеживают поведение пользователей и работают с ним. Руководители устанавливают KPI для компании, направляя команду разработчиков продукта на достижение бизнес-целей посредством системы.

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

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

Как можно улучшить результаты поиска?

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

  • Ваш поиск может охватывать несколько полей с дифференциальным взвешиванием. Например, если вы выполняете поиск по базе данных фильмов, возможно, вы захотите объединить такие поля, как название, режиссер и актер, при этом, чтобы совпадение по названию было весомее, чем совпадение по актеру.
  • Возможно, следует настроить результаты поиска на актуальность. Добавьте поле дата выпуска в свой запрос и экспоненциальную убывающую функцию, основанную на этой дате, к оценочной функции.
  • Возможно, следует добавить фасеты или фильтры результатов поиска, чтобы помочь пользователям конкретизировать определенные элементы. Многие системы поиска по документам поддерживают фасетирование метаданных, которые обычно представлены в виде категорий в левой части страницы результатов поиска.
  • Возможно, следует добавить синонимы. Благодаря синонимам конечные пользователи могут найти результаты, которые они ищут. В случае с одеждой, «толстовка» — это и толстовка, и свитшот. Конечные пользователи должны получать те же результаты, как при поиске по слову «толстовка», так и по слову «свитшот». Такие результаты будут отображаться, если вы укажете синонимы.

Поиск документов применяется с различными целями.

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

Если вам надо что-то найти, воспользуйтесь поисковой системой!

  • Сервис Amazon OpenSearch — это инструмент для разработчиков, желающих создать решение для поиска.
  • Amazon Kendra — это нестандартное решение для умного поиска.
  • Amazon CloudSearch предназначен для обычного поиска.

Дальнейшие шаги поиска по документам AWS

Зарегистрируйте бесплатный аккаунт

Получите мгновенный доступ к уровню бесплатного пользования AWS. 

Регистрация 
Начните разработку в консоли

Начните разработку в Консоли управления AWS.

Вход