Вопросы - система ответов во многих случаях помогает более эффективно находить информацию и выходит за рамки обычного поиска, отвечая на вопросы напрямую, вместо поиска контента, похожего на запрос. В этой статье мы обсудим QA-бота, использующего модель BERT, трансформеры и их приложения.
QA Bot - Приложения:
Вопрос - Автоответчик имеет несколько широких вариантов использования. Здесь мы упоминаем некоторые из них.
Поиск ответов в вопросах и ответах клиентов →
На разных сайтах электронной коммерции (например - Amazon) есть разные обзоры на разные товары. Мы можем подумать о системе контроля качества, которая может собирать всю информацию из пользовательских обзоров и делать ее доступной для других новых пользователей, которые хотят купить новый продукт. Система контроля качества может предоставить новому пользователю любую важную информацию.
Создание ботов-консультантов →
Для простоты мы можем создать бота с ответами на вопросы открытого домена, который будет знать о тенденциях, доступных в Википедии, и соответственно предлагать пользователям об этом. (Например, бот-консультант Trip Advisor)
Понимание прочитанного как вопросно-ответная система →
Одна из простейших форм систем контроля качества - это машинное понимание прочитанного (MRC), когда задача состоит в том, чтобы найти относительно короткий ответ на вопрос в неструктурированном тексте. (Например - Поиск ответа на вопрос из невидимого отрывка)
Система контроля качества - библиотеки / инструменты:
Модель Двунаправленные представления кодировщика от преобразователя (BERT) имеет свойство захватывать информацию с обеих сторон как справа, так и слева, что делает ее более восприимчивой к ошибкам при угадывании значения определенных слов. , он также предоставляет особое свойство автозаполнения, которое мы обычно видим при поиске чего-либо в Google. В случае с базой BERT количество слоев равно 12, а в BERT large - 24. Итак, мы фактически загружаем токенизированный вектор в эти слои после получения вывода. Мы снова передаем его следующему слою, таким образом мы можем получить результат.
GPT-2 - это большая языковая модель на основе преобразователя, обученная с помощью простой задачи предсказания следующего слова в 40 ГБ высококачественного текста из Интернета. Этой простой цели оказывается достаточно для обучения модели изучению множества задач из-за разнообразия набора данных.
FastAPI - это современный, быстрый (высокопроизводительный) веб-фреймворк для создания API-интерфейсов с Python 3.6+ на основе стандартных подсказок типа Python. Ключевые особенности: Быстрота: очень высокая производительность, на уровне NodeJS и Go (спасибо Starlette и Pydantic). Один из самых быстрых доступных фреймворков Python. Он в основном используется для создания API конечной точки, доступного для всех пользователей.
Описание процесса:
1. Во-первых, нам нужно определить архитектуру нашей модели. В нашем случае мы использовали модель Bert Large Uncased.
2. На следующем этапе мы обучим модель на наборе данных SQUAD 1.1 и проверим нашу модель на наборе данных проверки отряда.
3. Поскольку мы создаем одного бота с ответами на вопросы в открытом домене, мы используем библиотеку Википедии для извлечения всей необходимой информации для конкретного существования. Затем мы передаем эту страницу Википедии нашей модели, чтобы наша модель могла ответить на вопросы, связанные с этим искомым существованием.
4. Мы также создали одну систему ответов на вопросы в закрытой области с использованием библиотеки CDQA, где мы использовали ту же модель Берта, но здесь мы получаем информацию, относящуюся к нашей искомой теме, не из Википедии, а из нашего собственного PDF-файла. Таким образом, здесь пользователь должен передать информацию модели, оттуда модель запомнит и сможет возвращать ответы на вопросы.
5. Затем мы создадим API, чтобы сделать бота доступным для конечных пользователей, чтобы они могли его протестировать.
Демонстрация QA Bot (примеры снимков экрана):
Для получения дополнительной информации посетите наш YouTube канал с видеороликами ботов Q&A.
Чат-бот Open Domain Q&A AI:
Чат-бот AI для закрытых доменов: