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


Семантическое ранжирование в поиске ИИ Azure

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

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

Примечание.

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

Что такое семантический рейтинг?

Семантический рангировщик — это коллекция возможностей на стороне запроса, которые повышают качество исходного BM25-ранжированного или ранжированного RRF результата поиска для текстовых запросов, векторных запросов и гибридных запросов. Если включить его в службе поиска, семантический ранжирование расширяет конвейер выполнения запроса двумя способами:

  • Во-первых, он добавляет вторичный рейтинг по начальному результирующем набору, который был оценен с помощью BM25 или Обратного ранжирования Fusion (RRF). Этот вторичный рейтинг использует многоязычные модели глубокого обучения, адаптированные от Microsoft Bing для повышения наиболее семантически релевантных результатов.

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

Ниже приведены возможности семантического реанктера.

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

Как работает семантический рангер

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

На следующем рисунке объясняется понятие. Рассмотрим термин "капитал". Он имеет разные значения в зависимости от того, является ли контекст финансы, закон, география или грамматика. С помощью распознавания речи семантический рангировщик может обнаруживать контекст и повышать результаты, которые соответствуют намерению запроса.

Иллюстрация представления вектора для контекста.

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

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

  • Сбор и сводка входных данных
  • Оценка результатов с помощью семантического рангера
  • Выходные результаты, заголовки и ответы

Сбор и обобщение входных данных

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

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

  2. Для каждого документа в результатах поиска модель суммирования принимает до 2000 маркеров, где маркер составляет около 10 символов. Входные данные собираются из полей title, keyword и content, перечисленных в семантической конфигурации.

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

    Семантическое поле Ограничение маркера
    "title" 128 токенов
    "Ключевые слова 128 токенов
    "content" оставшиеся маркеры
  4. Выходные данные суммирования — это сводная строка для каждого документа, состоящая из наиболее релевантных сведений из каждого поля. Сводные строки отправляются в рангер для оценки, а также в модели машинного чтения для подписей и ответов.

    Максимальная длина каждой созданной сводной строки, передаваемой семантике, составляет 256 токенов.

Как оценивается ранжирование

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

  1. Заголовки оцениваются с точки зрения концептуальной и семантической релевантности относительно предоставленного запроса.

  2. @search.rerankerScore назначается каждому документу на основе семантической релевантности документа для данного запроса. Оценки варьируются от 4 до 0 (высокий и низкий), где более высокая оценка указывает на более высокую релевантность.

    Балл Значение
    4.0 Документ весьма релевантн и полностью отвечает на этот вопрос, хотя отрывок может содержать дополнительный текст, не связанный с вопросом.
    3.0 Документ имеет смысл, но не хватает подробностей, которые бы сделали его завершенным.
    2.0 Документ имеет несколько релевантных сведений; он отвечает на вопрос частично или только решает некоторые аспекты вопроса.
    1.0 Документ связан с вопросом, и он отвечает на небольшую часть этого вопроса.
    0,0 Документ не имеет значения.
  3. Совпадения перечислены в порядке убывания по оценке и включаются в полезные данные ответа запроса. Полезные данные включают в себя ответы, обычный текст и выделенные заголовки, а также все поля, помеченные как извлекаемые или указанные в предложении выбора.

Примечание.

Для любого конкретного запроса дистрибутивы @search.rerankerScore могут проявлять незначительные вариации из-за условий на уровне инфраструктуры. Обновление модели ранжирования также известно, что влияет на распределение. По этим причинам, если вы пишете пользовательский код для минимальных пороговых значений или задаете пороговое свойство для векторных и гибридных запросов, не используйте слишком детализированные ограничения.

Выходные данные семантического рангера

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

Выходные данные:

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

Семантические возможности и ограничения

Семантический рангер — это более новая технология, поэтому важно задать ожидания о том, что он может и не может сделать. Что это может сделать:

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

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

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

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

Базовая технология состоит из Bing и Microsoft Research, а также интегрирована в инфраструктуру поиска ИИ Azure в качестве функции надстройки. Дополнительные сведения об исследованиях и инвестициях искусственного интеллекта с поддержкой семантического ранджера см. в статье О том, как ИИ из Bing работает с помощью поиска ИИ Azure (блог по исследованиям Майкрософт).

В следующем видео представлен обзор возможностей.

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

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

При включении семантического ранжирования выберите план ценообразования для функции:

  • При более низких томах запросов (менее 1000 ежемесячно), семантический рейтинг свободен.
  • В более высоких объемах запросов выберите стандартный тарифный план.

На странице цен на поиск по искусственному интеллекту Azure отображается ставка выставления счетов для разных валют и интервалов.

Плата за семантический рангировщик взимается, если запросы включают в себя queryType=semantic , и строка поиска не пуста (например, search=pet friendly hotels in New York). Если строка поиска пуста (search=*), плата не взимается, даже если для типа запроса задана семантика.

Начало работы с семантическим рангером

  1. Проверьте региональную доступность.

  2. Войдите в портал Azure, чтобы убедиться, что служба поиска является базовой или более поздней.

  3. Включите семантический рангировщик и выберите план ценообразования.

  4. Настройте семантический рангер в индексе поиска.

  5. Настройте запросы для возврата семантических субтитров и выделений.

  6. При необходимости возвращать семантические ответы.

См. также