Когнитивный поиск Azure для создания интеллектуальных поисковых приложений

Введение

Современные приложения должны обрабатывать обширные, разнообразные наборы данных и предоставлять пользователям быстрые, релевантные результаты поиска. Традиционные поисковые системы изо всех сил пытаются интерпретировать естественный язык, поверхностные идеи из изображений или адаптироваться к намерениям пользователей. Azure Cognitive Search, теперь являющаяся частью платформы Azure AI, решает эти проблемы, комбинируя полнотекстовый поиск с обогащением ИИ. Это полностью управляемый облачный сервис, который индексирует данные из нескольких источников, применяет когнитивные навыки для извлечения информации и раскрывает мощный механизм запросов. Эта статья исследует архитектуру, возможности и практическое использование сервиса, помогая вам решить, когда и как интегрировать его в ваши приложения.

Что такое когнитивный поиск Azure?

Azure Cognitive Search — это решение для поиска как услуги от Microsoft, которое обрабатывает индексацию и запросы по структурированным, полуструктурированным и неструктурированным данным. Первоначально запущенное как «Azure Search», оно было переименовано в «Azure Cognitive Search» в 2019 году, чтобы подчеркнуть глубокую интеграцию с услугами ИИ, а позже (в 2023 году) стало частью Azure AI Search под единым портфелем Azure AI. Сервис работает в облаке, управляя хранением индексов, обработкой запросов и выполнением навыков машинного обучения через декларативный конвейер.

По своей сути Azure Cognitive Search - это поисковая система, но она выходит за рамки сопоставления ключевых слов. Она использует встроенные навыки искусственного интеллекта, такие как OCR (оптическая распознавание символов), распознавание сущности, анализ настроений и обнаружение языка, а также может интегрировать пользовательские навыки (функции Лазурного поля или логические приложения) для обогащения домена. Результатом является индекс, который содержит не только сырой текст, но и извлеченные сущности, ключевые фразы, переведенный контент и векторные вложения для семантического поиска.

Основные способности

Трубопровод обогащения AI

Наиболее преобразующей особенностью является конвейер обогащения ИИ, который работает во время индексации. Вы определяете набор навыков — последовательность навыков, которые преобразуют и обогащают входящие документы. Например, навык может извлекать именованные объекты из PDF, другой может обнаруживать чувства в отзывах клиентов, а третий может генерировать подписи к изображениям. Обогащенные данные хранятся вместе с оригинальными полями в вашем поисковом индексе, что позволяет запрашивать производные метаданные. Эта возможность превращает неструктурированный контент (сканированные документы, изображения, аудиотранскрипты) в структурированные, доступные для поиска данные с минимальными ручными усилиями.

Полнотекстовый поиск и семантический рейтинг

Azure Cognitive Search обеспечивает надежную полнотекстовую поисковую систему с поддержкой синтаксиса запросов Lucene, нечеткого поиска, поиска близости, регулярных выражений и запросов, проверяемых полем. Оценка релевантности очень настраивается через профили оценки (на основе свежести, пользовательской величины или повышения тегов). Для более продвинутых вариантов использования служба предлагает семантический поиск (предварительный просмотр / GA в определенных регионах), который использует модели глубокого обучения для повторного ранжирования результатов на основе контекста запроса, а не просто сопоставление слов. Это значительно повышает точность двусмысленных запросов.

Фильтрация и навигация

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

Масштабируемость и глобальный охват

Azure Cognitive Search может индексировать миллиарды документов с задержкой до секунды. Вы масштабируете, добавляя разделы (увеличение объема хранения и индексирования) и реплики (увеличение QPS запроса и обеспечение высокой доступности). Сервис доступен во многих регионах Azure по всему миру, и вы можете распространять индексы по регионам для доступа с низкой задержкой. Это полностью управляемое решение с 99,9% SLA при настройке по крайней мере одной реплики.

Безопасность и соблюдение

Безопасность включает в себя управление доступом на основе ролей (RBAC) с интеграцией Azure AD, правила брандмауэра IP, частные конечные точки (через Azure Private Link) и шифрование в покое (с использованием ключей, управляемых Microsoft или клиентом). Сервис также поддерживает безопасность на уровне индекса , чтобы обрезать результаты на основе идентификации пользователя, используя фильтры полевого уровня или элементы управления доступом на уровне документа через фильтры безопасности. Сертификаты соответствия включают SOC, ISO 27001, FedRAMP и HIPAA BAA (доступны в определенных уровнях).

Создание интеллектуального поискового приложения: шаг за шагом

Создание поискового опыта производственного уровня с помощью Azure Cognitive Search включает в себя пять основных этапов: интеграция данных, обогащение, индексирование, разработка запросов и интерфейсное соединение. Ниже мы расширяем каждый из них.

1.Источник данных и настройка индекса

Ваши данные могут жить в Azure Blob Storage, Azure SQL Database, Azure Cosmos DB, Azure Table Storage или внешней базе данных через индексатор (поддерживает разъемы для SharePoint Online, Salesforce и т. д.).индексатор автоматизирует сканирование и планирование. Вы настраиваете строку подключения к источнику данных, затем определяете график (например, один раз в день) или запускает по требованию. Для файловых источников индексатор может автоматически извлекать текст из PDF-файлов, Word docs, изображений (с использованием OCR) и т. д. Для многих распространенных сценариев не требуется пользовательский конвейер ETL.

2. Определение навыков и обогащение ИИ

После источника данных вы прикрепляете набор навыков . Каждый навык получает документ и выводит новые поля. Например, используйте навык OCR для извлечения текста из изображений, а затем передаёте текст навыку распознавания объектов, чтобы найти людей, даты и организации. Вы можете цепочкой навыков: OCR → Перевод → Настроение. Пользовательские навыки (HTTP конечные точки) позволяют называть свои собственные модели ML, например, пользовательский классификатор, который определяет категорию продукта по изображению. Обогащенные поля становятся частью индекса.

3. Определение индексной схемы

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

4.Развитие запросов

API поиска поддерживает как простой синтаксис запросов, так и полный синтаксис Lucene. Вы можете отправлять HTTP POST-запросы с такими параметрами, как , , , и . Для использования обогащения ИИ вы запрашиваете обогащенные поля напрямую (например, . Для семантического поиска добавьте . API возвращает заданные результаты с дополнительными подсказками (выделенные фрагменты ответов) и ответами (когда документ напрямую отвечает на запрос).

5. Frontend интеграция и пользовательский опыт

Azure Cognitive Search работает с любым клиентом, который может делать HTTP-запросы. Для веб-приложений используйте Search REST API или .NET SDK / Python SDK. Для быстрого пользовательского интерфейса вы можете встроить Search Explorer]Search UI из Microsoft. Ключевые UX-паттерны: автозаполнение (используя внушения), граненые фильтры (результаты повторного рендеринга при нажатии на грань), пагинация и выделение результата. Поиск по типу внушения могут быть реализованы с помощью конечной точки внушения, которая возвращает предложения в качестве типов пользователей, опционально с контекстом.

Реальные примеры и примеры использования

Управление контентом Enterprise Content Management

Крупные организации хранят миллионы документов — контракты, отчеты, PDF-файлы, отсканированные формы. Azure Cognitive Search может индексировать их все, извлекать ключевые объекты (имена клиентов, даты, номера пунктов), а также позволять юристам или сотрудникам по соблюдению искать «соглашения о неконкурентности, подписанные после 2020 года» с использованием естественного языка. Семантический поисковый реранкер помогает находить документы, которые не содержат точной фразы, но концептуально связаны.

Обнаружение продукта электронной коммерции

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

Поиск медицинских записей

Больницы и исследовательские учреждения должны искать записи пациентов, клинические записи и результаты лабораторных исследований. Azure Cognitive Search может деидентифицировать данные (используя встроенный навык обнаружения PII), извлекать коды диагностики (ICD-10) и индексировать отчеты радиологии. Клиницисты могут запрашивать «диабетических пациентов с ретинопатией старше 60 лет» в миллионах записей. Фильтры безопасности гарантируют, что только уполномоченный персонал видит определенные документы (например, ограничения полей на основе ролей).

Управление знаниями и поддержка клиентов

Команды поддержки продуктов создают базы знаний со статьями, часто задаваемыми вопросами и документацией. С помощью Azure Cognitive Search вы можете индексировать их из нескольких источников (например, SharePoint, wiki, PDF) и обогащать их ключевыми фразами. Поиск может обеспечить резервный результат QnA чат-бота - когда у бота нет ответа, он запрашивает индекс поиска и возвращает соответствующие фрагменты. Функция семантического ответа может даже возвращать прямой отрывок, который отвечает на вопрос пользователя.

СМИ и архивы

Медиакомпании имеют обширные архивы видео, изображений и аудиофайлов. Используя OCR, анализ изображений и навыки аудиотранскрипции, они могут сделать контент доступным для поиска. Например, новостная организация может индексировать старые телевизионные трансляции, чтобы журналисты могли искать «выступление президента по здравоохранению в 2010 году» и находить точный видеосегмент. Индекс поиска может хранить временные метки и подписи.

Продвинутые темы: Векторный поиск и гибридный поиск

В 2022 году Microsoft представила возможности векторного поиска в рамках Azure Cognitive Search. Вы можете индексировать векторные встраивания, генерируемые такими моделями, как текстовое встраивание OpenAI-ada-002 или пользовательские модели. Это позволяет искать сходство (например, находить семантически похожие документы) и гибридный поиск (объединять релевантность ключевых слов с векторным сходством). Результаты сливаются с использованием настраиваемого взвешивания (RRF - взаимное слияние рангов). Это мощное дополнение для приложений, где точное соответствие ключевых слов недостаточно - например, поиск соответствующих фрагментов кода, документов по обнаружению лекарств или предметов моды по визуальному сходству. Это также позволяет мультимодальный поиск , где текстовый запрос может находить изображения на основе близости встраивания.

Сравнение когнитивных поисков Azure с альтернативами

В то время как существует несколько облачных поисковых сервисов — Amazon CloudSearch, Elasticsearch Service, Algolia — Azure Cognitive Search выделяется своей глубокой интеграцией в экосистему Azure AI и ее автоматическим трубопроводом обогащения ИИ. Он не является прямым конкурентом Elasticsearch с точки зрения конфигурации низкого уровня или агрегации журналов. Вместо этого он превосходит, когда вам нужно использовать интеллект для поиска без управления инфраструктурой или обучения моделям ML. Для разработчиков, уже инвестирующих в Azure (с использованием Blob Storage, Cognitive Services или Azure SQL), сервис снижает сложность интеграции и обеспечивает последовательную модель безопасности и соответствия.

Начало работы: Предпосылки и цены

Вам нужна подписка Azure. Сервис доступен в трех уровнях: Free (общий, ограниченный 50 МБ индексом), Basic (выделенный, 2 ГБ), Standard (несколько размеров S1-S3, до 200 ГБ на раздел). Расходы на обогащение ИИ оплачиваются отдельно за транзакцию когнитивных служб (каждый вызов навыков). Для производства используйте по крайней мере стандартный уровень с двумя репликами для SLA. Вы можете начать с бесплатного уровня для прототипирования, а затем масштабировать. Microsoft предоставляет руководство по быстрому запуску , которое создает поисковый индекс из набора выборочных данных менее чем за 10 минут. Дополнительные ресурсы включают в себя учебный курс для обогащения ИИ и блог сообщества , охватывающий векторный поиск и лучшие практики.

Оптимизация и мониторинг эффективности

Чтобы быстро поддерживать запросы, вы можете использовать проекции индекс для создания меньших индексов из большого индекса для конкретных сценариев. Используйте режим загрузки на индексаторах для определения приоритетов пропускной способности. Мониторинг с использованием Azure Metric Alerts (задержка запросов, дроссированные запросы). Интеграция Application Insights позволяет отслеживать пользовательские события на поисковый запрос. Одной из распространенных ловушек является наличие слишком большого количества полей, помеченных как «привлекательные» — каждый аспект добавляет накладные расходы. Аналогично, избегайте больших наборов результатов (размер страницы ≤ 50). Для векторного поиска используйте меньшее количество кандидатов () и экспериментируйте с параметрами HNSW, чтобы сбалансировать точность и задержку.

Заключение

Azure Cognitive Search обеспечивает надежную, интеллектуальную основу поиска для современных приложений. Его сочетание навыков ИИ, полнотекстового поиска, семантического ранжирования и векторных возможностей охватывает широкий спектр - от простого поиска по сайту до сложного интеллектуального анализа знаний предприятия. Управляемая природа снижает эксплуатационные накладные расходы, в то время как богатые интерфейсы REST и SDK дают разработчикам гибкость. Следуя конвейеру ввода данных, обогащения, индексации, запроса и интеграции пользовательского интерфейса, вы можете быстро развернуть готовое к производству поисковое решение и повторить релевантность. Независимо от того, создаете ли вы электронную коммерцию, здравоохранение, юридическое или медиа, Azure Cognitive Search предоставляет инструменты для превращения необработанных данных в плавный, интеллектуальный опыт обнаружения. Начните с портала Azure ], чтобы создать свой первый поисковый сервис и изучить возможности.