Поделиться через


Настройка семантического рангера и возвращаемых подписей в результатах поиска

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

В этой статье объясняется, как настроить индекс поиска для семантического повторения.

Необходимые компоненты

  • Служба поиска на уровне "Базовый" или выше, при условии доступности региона.

  • Семантический рангировщик включен в службе поиска.

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

Выбор клиента

Для добавления семантической конфигурации можно использовать любой из следующих средств и пакетов SDK:

Добавление семантической конфигурации

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

Семантическая конфигурация имеет имя и следующие свойства:

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

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

Во всех свойствах семантической конфигурации необходимо назначить поля:

  • Атрибуты как searchable и retrievable
  • Строки типа Edm.String, Collection(Edm.String)строковые подфилды Edm.ComplexType
  1. Войдите в портал Azure и перейдите в службу поиска с поддержкой семантического ранжирования.

  2. В меню индексов в области навигации слева выберите индекс.

  3. Выберите семантические конфигурации и выберите "Добавить семантику".

    Снимок экрана: параметр добавления семантической конфигурации в портал Azure.

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

    Снимок экрана: создание семантической конфигурации в портал Azure.

  5. Нажмите кнопку "Сохранить", чтобы сохранить параметры конфигурации.

  6. Нажмите кнопку "Сохранить снова" на странице индекса, чтобы сохранить семантику конфигурации в индексе.

Миграция из предварительных версий

Если код семантического ранжирования использует api предварительной версии, в этом разделе объясняется, как перейти к стабильным версиям. Журналы изменений можно проверить для проверки общедоступной доступности:

queryLanguage для семантического рангера

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

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

searchFields для семантического рангера

Для REST API и всех пакетов SDK, предназначенных для версии и более поздних версий 2021-04-30-Preview , searchFields свойство больше не используется для семантического ранжирования.

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

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

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

Проверьте семантику конфигурации, выполнив семантический запрос.