Проектирование ботов базы знаний

ОБЛАСТЬ ПРИМЕНЕНИЯ: ПАКЕТ SDK версии 4

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

Например, один бот знаний может ответить на вопросы о таких событиях, как "Какие события бота существуют на этой конференции?", "Когда происходит следующее шоу Reggae?", или "Кто является Tame Impala?" Другой может ответить на вопросы, связанные с ИТ-вопросами, такими как "Разделы справки обновить операционную систему?" или "Где можно сбросить пароль?". Еще один может ответить на вопросы о таких контактах, как "Кто является ДжонОм Доу?" или "Что такое адрес электронной почты Джейн Доу?".

В этой статье рассматриваются некоторые возможности искусственного интеллекта, которые можно добавить в бот, например разрешить пользователю искать информацию, задавать вопросы или взаимодействовать с информацией. Сведения о том, какие службы ИИ Azure поддерживают пакет SDK Bot Framework, см. в статье "Распознавание естественного языка".

Совет

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

О оценках достоверности

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

Например, если пользователь просит бота знаний о музыке информацию о "impala" (вместо полного имени группы "Tame Impala"), бот может ответить с информацией, которая, скорее всего, будет иметь отношение к этому входу. Аналогичным образом функции распознавания речи могут использовать языковую модель для извлечения вероятного намерения из ввода пользователем. Например, если пользователь просит бота агента путешествий "забронировать комнату в течение трех дней", бот может извлечь намерение "зарезервировать комнату" и выполнить дальнейшие действия, собирая сведения.

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

Примечание.

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

  • Если уверенность высока, бот может ответить на сообщение "Вот событие, которое лучше всего соответствует вашему поиску" или "Я могу помочь вам зарезервировать комнату" и представить верхний ответ или начать задавать дальнейшие вопросы.
  • Если уверенность низка, бот может ответить на "Hmm..., если вы ищете какие-либо из этих событий?" или "Я могу помочь вам со следующими вещами:" и представить список возможных ответов или вариантов.

Фильтрация тем

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

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

  1. Пользователь, "события".
  2. Бот: "Что вам интересно? Музыка, комедия, фильм...".
  3. Пользователь, "Музыка".
  4. Бот: "Какой тип музыки вы заинтересованы? Любой, Рок/Поп, Хип-хоп/Рэп, ...".
  5. Пользователь, "Rock/Pop".
  6. Бот: "Какой день вы хотите увидеть Rock/Pop? Пятница, суббота, воскресенье, Любой".
  7. Пользователь, "суббота".
  8. Бот: "Вот рок-поп-шоу в субботу:", со списком найденных шоу.

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

Кстати, вы также можете просто ввести "Rock friday" или найти событие по имени.

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

Ответы на вопросы

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

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

Дополнительные сведения о связанных службах Azure см . в статье "Вопросы и ответы " в статье о концепции распознавания естественного языка.

Интерпретация намерения

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

Например, при работе с музыкальным ботом пользователь может сообщить "Play Reggae", "Play Bob Marley" или "Play One Love". Вы можете обучить языковую модель для сопоставления каждого из этих сообщений с намерением "playMusic", не обучаясь с каждым художником, жанром и именем песни.

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

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

Интеграция нескольких функций

Каждая функция NLP — это мощный инструмент в собственном праве. Однако бот может объединить эти функции и другие, чтобы предоставить пользователям более гибкий и естественный интерфейс. Используйте оценки достоверности, чтобы определить, какую функцию лучше всего сопоставлять с сообщением пользователя, и задать дальнейшие вопросы, если лучшее совпадение неоднозначно.

Например, такой бот может позволить пользователю:

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

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

Просмотр примеров

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

Пример Название примера Description
11 QnA Maker (простой) Ответы на вопросы в виде серии одноключных бесед с помощью QnA Maker.
13 Основной бот Интерпретирует намерение пользователя с помощью LUIS.
14 NLP с отправкой Отправка сообщений пользователей в LUIS или QnA Maker с помощью Orchestrator.
49 QnA Maker (advanced) Ответы на вопросы с помощью функций многоэтапного и активного обучения в QnA Maker.

Примечание.

Azure AI QnA Maker будет прекращен 31 марта 2025 г. С 1 октября 2022 г. вы не сможете создавать новые ресурсы или базы знаний QnA Maker. Новая версия вопроса и возможности ответа теперь доступна как часть языка искусственного интеллекта Azure.

Пользовательский ответ на вопросы, компонент языка искусственного интеллекта Azure, — это обновленная версия службы QnA Maker. Дополнительные сведения о поддержке вопросов и ответов в пакете SDK Bot Framework см. в разделе "Распознавание естественного языка".

Примечание.

Распознавание речи (LUIS) будет прекращен 1 октября 2025 года. Начиная с 1 апреля 2023 года вы не сможете создавать новые ресурсы LUIS. Новая версия распознавания речи теперь доступна как часть языка ИИ Azure.

Распознавание речи (CLU) — это обновленная версия LUIS. Дополнительные сведения о поддержке распознавания речи в пакете SDK Bot Framework см. в разделе "Распознавание естественного языка".

Пакет SDK Azure для .NET и Azure SDK для репозиториев Python также имеет несколько примеров:

Компонент Примеры README
Ответы на вопросы C#, Python
Распознавание бесед, рабочий процесс оркестрации C#, Python