Использование служб ИИ Azure с обработкой естественного языка (NLP) для обогащения бесед бота

Примечание

Поддержка службы QnA Maker будет прекращена 31 марта 2025 г. Новая версия возможности вопросов и ответов теперь доступна в составе языка ИИ Azure. Сведения о возможностях ответов на вопросы в службе Языка см. в статье с ответами на вопросы. С 1 октября 2022 г. вы не сможете создавать ресурсы QnA Maker. Сведения о переносе существующих баз знаний QnA Maker в функцию вопросов и ответов см. в руководстве по миграции.

Службы ИИ Azure предоставляют две службы обработки естественного языка, Распознавание речи и QnA Maker, каждая из которых имеет разные цели. Узнайте, когда использовать каждую услугу и как они дополняют друг друга.

Распознавание на естественном языке (NLP) позволяет клиентскому приложению, например чат-боту, работать с пользователями с использованием естественного языка. Пользователь вводит предложение или фразу. Текст пользователя может содержать неверную грамматику, орфографию и знаки препинания. Служба ИИ Azure в любом случае может работать с предложением пользователя, возвращая сведения, необходимые чат-боту, чтобы помочь пользователю.

Службы ИИ Azure с NLP

Распознавание речи (LUIS) и QnA Maker предоставляют NLP. Клиентское приложение отправляет текст на естественном языке. Служба принимает текст, обрабатывает его и возвращает результат.

Когда использовать каждую службу

Распознавание речи (LUIS) и QnA Maker решают различные проблемы. LUIS определяет назначение текста пользователя (известного как речевой фрагмент), а QnA Maker формирует ответ на текст пользователя (называемый запросом).

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

Если чат-бот получает текст How do I get to the Human Resources building on the Seattle North campus?, используйте приведенную ниже диаграмму, чтобы понять, как работает с текстом каждая служба.

Служба Клиентское приложение определяет
LUIS Определяет намерение пользователя текста — служба не возвращает ответ на вопрос. Например, этот текст классифицируется как совпадение с намерением FindLocation.
QnA Maker Возвращает ответ на вопрос из пользовательской базы знаний. Например, этот текст определяется как вопрос с ответом со статическим текстом Get on the #9 bus and get off at Franklin street.

Инфографика для определения того, когда следует использовать LUIS, а когда использовать QnA Maker

Когда вы используете LUIS?

Используйте LUIS, если вам нужно знать намерение речевого фрагмента в рамках процесса чат-бота. Продолжаем рассматривать пример текста, How do I get to the Human Resources building on the Seattle North campus?, после того, как вы узнаете намерение пользователя найти расположение, вы можете передать сведения о речевом фрагменте (извлеченные с сущностями) в другую службу, например транспортный сервер, чтобы получить ответ.

Для определения намерения не нужно объединять LUIS и QnA Maker.

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

Когда вы используете QnA Maker?

Используйте QnA Maker, если у вас статическая база знаний с ответами. Такую базу знаний, сформированную из документов PDF и URL-адресов, можно настроить в соответствии со своими требованиями.

Продолжаем работу с примером речевого фрагмента, How do I get to the Human Resources building on the Seattle North campus?, отправьте текст в качестве запроса в опубликованную службу QnA Maker и получите наилучший ответ.

Чтобы определить ответ на вопрос, не нужно объединять LUIS и QnA Maker.

Можете объединить две службы для этого речевого фрагмента, если чат-боту требуется обработать текст на основе намерений и сущностей (с помощью LUIS), а также найти конкретный ответ (с помощью QnA Maker).

Использование двух служб при неполной базе знаний

Если вы создаете свою базу знаний QnA Maker, но знаете, что домен субъекта изменяется (например, актуальная информация), можно объединить службы LUIS и QnA Maker. Это позволяет использовать информацию в базе знаний, а также использовать LUIS для определения намерения пользователя. После того как клиентское приложение получит намерение, оно может запросить актуальную информацию из другого источника.

Клиентское приложение должно отслеживать ответы как от LUIS, так и от QnA Maker для оценки. Если оценка от QnA Maker находится ниже какого-либо произвольного порогового значения, используйте сведения о намерении и сущности, возвращенные от LUIS, для передачи информации в службу третьей стороны.

Продолжим работу с примером текста, How do I get to the Human Resources building on the Seattle North campus?, предположим, что QnA Maker возвращает оценку низкой достоверности. Используйте намерение, возвращенное из LUIS, FindLocation и все извлеченные сущности, такие как Human Resources building и Seattle North campus, чтобы отправить эту информацию в службу сопоставления или поиска для получения другого ответа.

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

Использование двух служб, если чат-боту потребуется дополнительная информация

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

Используйте инструмент CLI диспетчеризации Bot framework, чтобы построить процесс для работы с обеими службами. Это средство создает приложение LUIS для намерений, которые передаются между LUIS и QnA Maker как между дочерними приложениями. Подробнее об интеграции с LUIS, QnA Maker и Bot framework.

Используйте пример программы Bot Builder, NLP с диспетчеризацией в C# или Node.js, чтобы реализовать этот тип чат-бота.

Рекомендации

См. рекомендации по каждой службе:

  • Рекомендации по LUIS
  • Рекомендации по QnA Maker

См. также раздел

Дальнейшие действия