Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Обработка данных ›Обработка данных в поиске

Обработка вывода

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

Это руководство сосредоточено на конвейере ML inference, его использовании и управлении им.

Эта функция недоступна на всех уровнях подписки Elastic. Обратитесь к страницам подписок Elastic для Elastic Cloud и самоуправляемых развертываний.

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

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

Расширение текста ELSER

Используя модель машинного обучения ELSER от Elastic, вы можете легко добавить расширение текста для своих запросов. Это достигается использованием ELSER для предоставления семантических обогащений вашим документам при индексировании, в сочетании с возможностями шаблонов Elastic Search Application для автоматического расширения текста во время выполнения запроса.

Распознавание именованных сущностей (NER)

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

Классификация текста

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

Текстовое вложение

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

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

NLP в интерфейсе контента

Обзор конвейера ML inference

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

ML inference pipeline diagram
  • Документы обрабатываются конвейером my-index-0001, который выполняется автоматически при индексировании через коннектор или веб-паука Elastic.
  • Поле _run_ml_inference устанавливается в значение true для обеспечения выполнения конвейера ML inference (my-index-0001@ml-inference). Это поле удаляется во время процесса индексирования.
  • Процессор inference анализирует поле message документа, используя обученную модель my-positivity-model-id. Результат inference сохраняется в поле ml.inference.positivity_prediction.
  • Полученный обогащённый документ затем индексируется в индекс my-index-0001.
  • Поле ml.inference.positivity_prediction теперь может использоваться во время запроса для поиска документов выше или ниже определённого порога.

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

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

Обученные модели должны быть доступны в текущем пространстве Kibana и работать, чтобы использовать их. По умолчанию модели должны быть доступны во всех пространствах Kibana, которые имеют включенную функцию Аналитика > Машинное обучение. Для управления обученными моделями используйте интерфейс Kibana и перейдите в Управление стеком → Машинное обучение → Обученные модели. Пространства можно контролировать в столбце пространства. Чтобы остановить или запустить модель, перейдите на вкладку Машинное обучение в меню Аналитика в Kibana и щелкните Обученные модели в разделе Управление моделями.

Требуется привилегия кластера Elasticsearch monitor_ml привилегия для управления ML-моделями и конвейерами ML inference, которые используют эти модели.

Добавление процессоров inference в ваш конвейер ML inference

Для создания конвейера ML inference, специфичного для индекса, перейдите в Поиск → Контент → Индексы → <ваш индекс> → Конвейеры в интерфейсе Kibana.

Если вы видите только конвейер ent-search-generic-ingestion, вам нужно будет нажать Копировать и настроить для создания конвейеров, специфичных для индекса. Это создаст конвейер {index_name}@ml-inference.

После того, как конвейер ML inference, специфичный для индекса, будет готов, вы можете добавить процессоры inference, которые используют ваши обученные ML модели. Чтобы добавить процессор inference в конвейер ML inference, нажмите кнопку Добавить конвейер Inference на карте Конвейеры Inference ML.

Add Inference Pipeline

Здесь вы сможете:

  1. Выберите имя для вашего конвейера.

    • Это имя должно быть уникальным во всём развертывании. Если вы хотите, чтобы этот конвейер был специфичным для индекса, рекомендуется включать имя индекса в имя конвейера.
    • Если вы не укажете имя конвейера, будет предложено уникальное имя по умолчанию при выборе обученной модели.
  2. Выберите обученную ML модель, которую вы хотите использовать.

    • Модель должна быть развернута перед тем, как вы сможете её выбрать. Для начала развертывания модели нажмите кнопку Развернуть.
  3. Выберите одно или несколько входных полей в качестве источника для процессора inference.

    • Если доступных исходных полей нет, в вашем индексе потребуется сопоставление полей.
  4. (Необязательно) Выберите имя для вашего целевого поля (полей). Здесь будет храниться результат работы модели inference. Изменение имени по умолчанию возможно только в случае выбора одного исходного поля.
  5. Добавьте сопоставление источник-цель в конфигурацию, нажав кнопку Добавить.
  6. Повторите шаги 3-5 для каждого необходимого сопоставления полей.
  7. (Необязательно) Протестируйте конвейер с образцовым документом.
  8. (Необязательно) Просмотрите определение конвейера перед его созданием с помощью кнопки Создать конвейер.
Управление и удаление процессоров inference из вашего конвейера ML inference

Процессоры inference, добавленные в ваши конвейеры ML inference, специфичные для индекса, являются обычными конвейерами Elasticsearch. После создания каждый процессор будет иметь возможность Просмотреть в Управлении стеком и Удалить конвейер. Удаление процессора inference из интерфейса Контент удаляет конвейер и также удаляет ссылку на него из конвейера ML inference, специфичного для индекса.

Эти конвейеры также можно просматривать, редактировать и удалять в Kibana через Управление стеком → Конвейеры ingest, как и все остальные конвейеры ingest Elasticsearch. Вы также можете использовать API конвейеров ingest. Если вы удаляете какой-либо из этих конвейеров вне интерфейса Контент в Kibana, убедитесь, что вы отредактировали конвейеры ML inference, которые на них ссылаются.

Тестирование вашего конвейера ML inference

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

Чтобы убедиться, что конвейер инференции ML будет запущен при импорте документов, необходимо убедиться, что импортируемые документы содержат поле с именем _run_ml_inference, установленным в значение true, и установить конвейер в значение {index_name}. Для индексов коннекторов и кроулеров это произойдёт автоматически, если вы правильно настроили параметры для имени конвейера {index_name}. Для управления этими параметрами:

  1. Перейдите к Поиск > Контент > Индексы > <ваш индекс> > Конвейеры.
  2. Щёлкните ссылку Настройки в карточке Конвейеры импорта для конвейера {index_name}.
  3. Убедитесь, что выбран Конвейеры инференции ML. Если не выбран, выберите его и сохраните изменения.

Узнать больше

  • См. Обзор для получения информации о различных создаваемых конвейерах.
  • Узнайте об ELSER, собственной модели извлечения Elasticsearch для семантического поиска с разреженными векторами.
  • Модели NER HuggingFace
  • Модели классификации текста HuggingFace
  • Модели встраивания текста HuggingFace

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/ingest-pipeline-search-inference.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API