QnA Maker
QnA Maker — это облачный сервис на платформе Microsoft Azure, предназначенный для создания, управления и развертывания вопросно-ответных систем (FAQ-ботов) на основе искусственного интеллекта. Сервис позволяет извлекать пары «вопрос-ответ» из полуструктурированного контента (например, часто задаваемых вопросов, руководств, технической документации) и предоставлять их пользователям в виде диалогового интерфейса или API. QnA Maker был анонсирован корпорацией Microsoft в 2018 году и впоследствии интегрирован в более широкую платформу Azure Cognitive Services, а затем в Azure AI Language.
История
QnA Maker был запущен как часть набора когнитивных сервисов Microsoft в мае 2018 года. Изначально сервис предоставлял простой способ создания базы знаний (knowledge base) из веб-страниц, PDF-файлов или текстовых документов. В 2021 году Microsoft объявила о консолидации нескольких сервисов обработки естественного языка, включая QnA Maker, в единый сервис Azure AI Language. С ноября 2021 года QnA Maker считается устаревшим (deprecated), а его функциональность постепенно переносится в новый сервис Question Answering (в составе Azure AI Language). Тем не менее, существующие базы знаний QnA Maker продолжают поддерживаться, а документация остаётся доступной.
Архитектура и принцип работы
QnA Maker состоит из двух основных компонентов: базы знаний (knowledge base) и вопросно-ответного движка.
База знаний
База знаний представляет собой структурированный набор пар «вопрос-ответ», сгруппированных по темам. Каждая пара может содержать:
- Вопрос — формулировка запроса пользователя.
- Ответ — текстовый или мультимедийный ответ.
- Альтернативные формулировки — синонимичные или близкие по смыслу вопросы, которые система будет распознавать как эквивалентные основному.
- Метаданные — теги, позволяющие фильтровать и маршрутизировать вопросы (например, по категории, продукту, языку).
Вопросно-ответный движок
При получении запроса от пользователя движок выполняет следующие шаги:
- Лингвистическая обработка — токенизация, лемматизация, снятие стоп-слов.
- Поиск по базе знаний — ранжирование пар «вопрос-ответ» по степени семантической близости к запросу.
- Выбор наилучшего ответа — возвращается наиболее релевантный ответ с указанием уверенности (score) от 0 до 100.
- Постобработка — при необходимости ответ может быть дополнен контекстом или передан в другой сервис (например, в бота на платформе Azure Bot Service).
Возможности и характеристики
- Извлечение контента — автоматическое создание пар «вопрос-ответ» из веб-страниц, PDF-файлов, Word-документов, Excel-таблиц и текстовых файлов. Сервис анализирует структуру документа и выделяет заголовки, списки и абзацы.
- Ручное редактирование — пользователь может добавлять, изменять или удалять пары через веб-интерфейс (QnA Maker portal) или API.
- Поддержка нескольких языков — сервис работает с русским, английским, немецким, французским, испанским, итальянским, японским, китайским и другими языками. Для каждого языка используется отдельная база знаний.
- Активное обучение — система может предлагать альтернативные формулировки вопросов на основе реальных запросов пользователей (через механизм active learning). Администратор базы знаний может подтверждать или отклонять эти предложения.
- Интеграция — QnA Maker легко интегрируется с Azure Bot Service, Microsoft Teams, Slack, Facebook (продукт Meta, признанной экстремистской и запрещённой в РФ) Messenger и другими платформами через REST API.
- Безопасность — базы знаний хранятся в Azure, доступ к ним контролируется через Azure Active Directory и ключи API. Поддерживается частное развертывание (private endpoint) для изоляции трафика.
Применение
QnA Maker используется в различных сценариях, где требуется оперативное предоставление ответов на типовые вопросы:
- Корпоративные порталы — внутренние FAQ для сотрудников по регламентам, политикам, процедурам.
- Службы поддержки — автоматизация ответов на вопросы клиентов в чат-ботах (например, в банковском секторе, телекоммуникациях, ритейле).
- Техническая документация — быстрый поиск по руководствам, справочникам, API-документации.
- Образование — виртуальные ассистенты для студентов, отвечающие на вопросы по учебным материалам.
- Медицина — справочные системы для пациентов по симптомам, лекарствам, записи к врачу.
Ограничения и критика
- Зависимость от качества исходных данных — если исходные документы плохо структурированы или содержат неоднозначные формулировки, качество извлечения пар «вопрос-ответ» может быть низким.
- Отсутствие генерации ответов — QnA Maker не генерирует ответы, а только выбирает из предопределённого набора. Для ситуаций, требующих синтеза текста, необходима интеграция с другими сервисами (например, GPT-моделями через Azure OpenAI Service).
- Устаревание — с переходом на Azure AI Language часть функций QnA Maker (например, встроенный анализ тональности) была утрачена, а новые возможности (например, мультимодальные ответы) доступны только в новом сервисе.
- Стоимость — использование сервиса оплачивается по модели «плати по мере использования» (pay-as-you-go), что может быть дорого при большом количестве запросов.
Переход на Azure AI Language (Question Answering)
В 2022 году Microsoft рекомендовала всем новым проектам использовать сервис Question Answering в составе Azure AI Language. Он предоставляет:
- Улучшенные алгоритмы семантического поиска (на основе моделей трансформеров).
- Поддержку многостраничных документов и таблиц.
- Возможность добавления ответов в виде мультимедиа (изображения, видео).
- Интеграцию с Azure Cognitive Search для гибридного поиска.
Миграция существующих баз знаний QnA Maker в новый сервис осуществляется через экспорт/импорт JSON-файлов или с помощью инструмента Azure Migration Tool.
Пример использования
Типичный сценарий: компания разрабатывает чат-бота для интернет-магазина. Исходные данные — файл PDF с политикой возврата товаров. QnA Maker автоматически извлекает из него пары:
- Вопрос: «Как вернуть товар?» → Ответ: «Товар можно вернуть в течение 14 дней с момента получения, при условии сохранения товарного вида и упаковки.»
- Вопрос: «Есть ли срок возврата?» → Ответ: «Да, срок возврата составляет 14 дней.»
После создания базы знаний она подключается к боту на Azure Bot Service, который отвечает на запросы клиентов в реальном времени.
Источники
- Документация Microsoft Azure: «What is QnA Maker?» (Microsoft Docs, 2021).
- Документация Microsoft Azure: «Question Answering in Azure AI Language» (Microsoft Docs, 2023).
- Microsoft Learn: «Create a QnA Maker bot» (2020).
- Azure Cognitive Services: QnA Maker pricing and tiers (Microsoft, 2022).
- Статья «QnA Maker: Building a FAQ chatbot with Azure» (TechRepublic, 2018).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →