Обогащение ИИ в поиске ИИ Azure

В службе "Поиск ИИ Azure" обогащение ИИ ссылается на интеграцию со службами ИИ Azure для обработки содержимого, недоступного для поиска в необработанной форме. Благодаря обогащению, анализу и выводу используются для создания содержимого и структуры, доступных для поиска, где ранее не существовало.

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

Обогащение ИИ основано на навыках.

Встроенные навыки касались служб ИИ Azure. Они применяют следующие преобразования и обработку к необработанному содержимому:

  • Обнаружение перевода и языка для многоязычного поиска
  • Распознавание сущностей для извлечения имен людей, мест и других сущностей из больших фрагментов текста
  • Извлечение ключевых фраз для выявления и вывода важных терминов
  • Оптическое распознавание символов (OCR) для распознавания печатного и рукописного текста в двоичных файлах
  • Анализ изображений для описания содержимого изображения и вывода описаний в виде текстовых полей с возможностью поиска

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

Обогащение ИИ — это расширение конвейера индексатора, который подключается к источникам данных Azure. Конвейер обогащения содержит все компоненты конвейера индексатора (индексатор, источник данных, индекс), а также набор навыков, указывающий этапы атомарного обогащения.

На следующей схеме показана прогрессия обогащения ИИ:

Схема конвейера обогащения.

Импорт — это первый шаг. Здесь индексатор подключается к источнику данных и извлекает содержимое (документы) в службу поиска. Хранилище BLOB-объектов Azure является наиболее распространенным ресурсом, используемым в сценариях обогащения ИИ, но любой поддерживаемый источник данных может предоставлять содержимое.

Обогащение и индекс охватывает большую часть конвейера обогащения ИИ:

  • Обогащение начинается, когда индексатор "взломает документы" и извлекает изображения и текст. Тип обработки, который происходит далее, зависит от данных и навыков, которые вы добавили в набор навыков. Если у вас есть изображения, их можно перенаправить в навыки, выполняющие обработку изображений. Текстовое содержимое помещается в очередь для обработки текста и естественного языка. Во внутреннем режиме навыки создают "обогащенный документ" , который собирает преобразования по мере их возникновения.

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

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

  • Индексирование — это процесс, в котором необработанное и обогащенное содержимое обрабатывается в физические структуры данных индекса поиска (его файлы и папки). Лексический анализ и маркеризация происходят на этом шаге.

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

Когда следует использовать обогащение с помощью ИИ

Обогащение полезно, если необработанное содержимое неструктурировано, содержимое изображения или содержимое, которое требует обнаружения языка и перевода. Применение ИИ с помощью встроенных навыков может разблокировать это содержимое для полнотекстового поиска и приложений для обработки и анализа данных.

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

Варианты использования встроенных навыков

Встроенные навыки основаны на API служб ИИ Azure: azure AI Компьютерное зрение и языковой службе. Если входные данные содержимого не малы, ожидается присоединение оплачиваемого ресурса служб искусственного интеллекта Azure для выполнения больших рабочих нагрузок.

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

  • Навыки обработки изображений включают оптическое распознавание символов (OCR) и идентификацию визуальных признаков, таких как обнаружение лиц, интерпретация изображений, распознавание изображений (известные люди и ориентиры) или атрибуты, такие как ориентация изображения. Эти навыки создают текстовые представления содержимого изображения для полнотекстового поиска в службе "Поиск ИИ Azure".

  • Машинный перевод предоставляется навыком перевода текста, часто сопряженным с обнаружением языка для решений с несколькими языками.

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

Варианты использования пользовательских навыков

Пользовательские навыки выполняют внешний код, который предоставляется и упаковывается в пользовательский веб-интерфейс навыка. Несколько примеров пользовательских навыков можно найти в репозитории GitHub azure-search-power-skills .

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

Хранение выходных данных

В службе "Поиск ИИ Azure" индексатор сохраняет выходные данные, которые он создает. Один запуск индексатора может создавать до трех структур данных, содержащих обогащенные и индексированные выходные данные.

Хранилище данных Обязательное поле Расположение Description
индекс, доступный для поиска Обязательное поле Служба "Поиск" Используется для полнотекстового поиска и других форм запросов. Указание индекса является требованием индексатора. Содержимое индекса заполняется из выходных данных навыка, а также все исходные поля, сопоставленные непосредственно с полями в индексе.
хранилище знаний Необязательно Хранилище Azure Используется для подчиненных приложений, таких как интеллектуальный анализ знаний или обработка и анализ данных. Хранилище знаний определяется в наборе навыков. Его определение определяет, проектируются ли обогащенные документы как таблицы или объекты (файлы или большие двоичные объекты) в служба хранилища Azure.
кэш обогащения Необязательно Хранилище Azure Используется для кэширования обогащений для повторного использования в последующих выполнениях набора навыков. Кэш хранит импортированное непроцессированное содержимое (взломанные документы). Он также сохраняет обогащенные документы, созданные во время выполнения набора навыков. Кэширование полезно, если вы используете анализ изображений или OCR, и вы хотите избежать времени и расходов на повторную обработку файлов изображений.

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

Изучение содержимого

После определения и загрузки индекса поиска или хранилища знаний можно изучить его данные.

Запрос индекса поиска

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

Использование средств исследования данных в хранилище знаний

В служба хранилища Azure хранилище знаний может принимать следующие формы: контейнер БОЛЬШИХ ДВОИЧНЫх объектов документов JSON, контейнер больших двоичных объектов изображений или таблицы в таблице служба хранилища. Вы можете использовать Обозреватель службы хранилища, Power BI или любое приложение, которое подключается к служба хранилища Azure для доступа к содержимому.

  • Контейнер BLOB-объектов захватывает обогащенные документы в полном объеме, что полезно при создании веб-канала в других процессах.

  • Таблица полезна, если вам нужны срезы обогащенных документов, или если вы хотите включить или исключить определенные части выходных данных. Для анализа в Power BI таблицы являются рекомендуемыми источниками данных для изучения и визуализации данных в Power BI.

Доступность и цены

Обогащение доступно в регионах с службами ИИ Azure. Вы можете проверка доступность обогащения на странице продуктов Azure, доступных по регионам.

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

Контрольный список: стандартный рабочий процесс

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

Начните с подмножества данных в поддерживаемом источнике данных. Индексатор и конструктор наборов навыков — это итеративный процесс. Работа выполняется быстрее с небольшим репрезентативным набором данных.

  1. Создайте источник данных, задающий подключение к данным.

  2. Создайте набор навыков. Если проект не мал, необходимо подключить ресурс нескольких служб Azure AI. Если вы создаете хранилище знаний, определите его в наборе навыков.

  3. Создайте схему индекса, которая определяет индекс поиска.

  4. Создайте и запустите индексатор , чтобы объединить все перечисленные выше компоненты. Этот шаг извлекает данные, запускает набор навыков и загружает индекс.

    Индексатор также указывает сопоставления полей и сопоставления выходных полей, которые настраивают путь к индексу поиска.

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

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

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

Следующие шаги