Проектирование ботов базы знаний
ОБЛАСТЬ ПРИМЕНЕНИЯ: ПАКЕТ SDK версии 4
Вы можете разработать бот знаний, охватывающий практически любую тему. Независимо от варианта использования, для которого разработан бот знаний, его основная цель всегда одинакова: поиск и возврат сведений, запрошенных пользователем путем поиска текста данных.
Например, один бот знаний может ответить на вопросы о таких событиях, как "Какие события бота существуют на этой конференции?", "Когда происходит следующее шоу Reggae?", или "Кто является Tame Impala?" Другой может ответить на вопросы, связанные с ИТ-вопросами, такими как "Разделы справки обновить операционную систему?" или "Где можно сбросить пароль?". Еще один может ответить на вопросы о таких контактах, как "Кто является ДжонОм Доу?" или "Что такое адрес электронной почты Джейн Доу?".
В этой статье рассматриваются некоторые возможности искусственного интеллекта, которые можно добавить в бот, например разрешить пользователю искать информацию, задавать вопросы или взаимодействовать с информацией. Сведения о том, какие службы ИИ Azure поддерживают пакет SDK Bot Framework, см. в статье "Распознавание естественного языка".
Совет
Службы искусственного интеллекта Azure включают в себя развивающиеся технологии. В этой статье описаны как новые, так и старые функции.
О оценках достоверности
Некоторые функции позволяют боту возвращать информацию из база знаний или языковой модели для сопоставления с вопросом или запросом пользователя.
Например, если пользователь просит бота знаний о музыке информацию о "impala" (вместо полного имени группы "Tame Impala"), бот может ответить с информацией, которая, скорее всего, будет иметь отношение к этому входу. Аналогичным образом функции распознавания речи могут использовать языковую модель для извлечения вероятного намерения из ввода пользователем. Например, если пользователь просит бота агента путешествий "забронировать комнату в течение трех дней", бот может извлечь намерение "зарезервировать комнату" и выполнить дальнейшие действия, собирая сведения.
Как поиск, так и распознавание намерений возвращают оценку достоверности, которая указывает на уровень достоверности, который подсистема имеет правильный результат. Используйте оценки достоверности, чтобы упорядочить результаты или реагировать по-другому на основе общей уверенности в ответе.
Примечание.
При совместном использовании сочетания различных типов служб или компонентов тестируют входные данные с каждым из средств для определения оценки порогового значения для каждой модели. Службы и функции используют различные критерии оценки, поэтому оценки, созданные в этих инструментах, не являются напрямую сопоставимыми. Например, служба QnA Maker использовала диапазон доверия от 0 до 100, а функция ответа на вопросы использует диапазон от 0,0 до 1.0.
- Если уверенность высока, бот может ответить на сообщение "Вот событие, которое лучше всего соответствует вашему поиску" или "Я могу помочь вам зарезервировать комнату" и представить верхний ответ или начать задавать дальнейшие вопросы.
- Если уверенность низка, бот может ответить на "Hmm..., если вы ищете какие-либо из этих событий?" или "Я могу помочь вам со следующими вещами:" и представить список возможных ответов или вариантов.
Фильтрация тем
Вы можете разработать боты знаний, чтобы помочь пользователю сузить и уточнить поиск. В беседе бот может задавать уточняющие вопросы, представлять параметры и проверять результаты таким образом, чтобы базовый поиск не смог.
Например, бот событий может узнать, какой тип события интересует пользователь, задав ряд вопросов. Рассмотрим следующий обмен:
- Пользователь, "события".
- Бот: "Что вам интересно? Музыка, комедия, фильм...".
- Пользователь, "Музыка".
- Бот: "Какой тип музыки вы заинтересованы? Любой, Рок/Поп, Хип-хоп/Рэп, ...".
- Пользователь, "Rock/Pop".
- Бот: "Какой день вы хотите увидеть Rock/Pop? Пятница, суббота, воскресенье, Любой".
- Пользователь, "суббота".
- Бот: "Вот рок-поп-шоу в субботу:", со списком найденных шоу.
Обрабатывая входные данные пользователя на каждом шаге и предоставляя соответствующие параметры, бот направляет пользователя к информации, которую они ищут. После доставки этой информации бот также может предоставить рекомендации по более эффективным способам поиска аналогичных сведений в будущем.
Кстати, вы также можете просто ввести "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 |