обучение чат бота на диалогах

15 лучших наборов данных для обучения чат-бота

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

обучение чат бота на диалогах

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

Набор данных вопросов и ответов для обучения чат-ботов

Ссылка. Этот корпус включает статьи Википедии, сгенерированные из них вручную фактические вопросы и сгенерированные вручную ответы на эти вопросы для использования в научных исследованиях.

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

Yahoo Language Data. На этой странице представлены отобранные вручную наборы данных по контролю качества из Yahoo Answers from Yahoo.

TREC (Text REtrieval Collection — коллекция извлечённых текстов) QA Collection: В TREC есть ответы на вопросы с 1999 года. В каждой последовательности вопросов и ответов задача определялась таким образом, чтобы системы получали небольшие фрагменты текста, содержащие ответ на вопросы открытого домена с возможными ответами только «да» или «нет».

Набор данных службы поддержки Ubuntu

Корпус диалогов Ubuntu состоит из почти миллиона бесед двух человек, извлечённых из логов чатов Ubuntu, используемых для получения технической поддержки по различным проблемам, связанным с Ubuntu. Набор содержит 930 000 диалогов и более 100 000 000 слов.

Набор о стратегии отношений при обслуживании клиентов: сбор данных по обслуживанию клиентов, связанных с поездками, из четырёх источников. Логи бесед трёх коммерческих клиентских служб IVA и форумов Авиакомпании на TripAdvisor.com в течение августа 2016 года.

Поддержка клиентов в Twitter. Этот набор данных на Kaggle включает в себя более 3 000 000 твитов и ответов от крупнейших брендов в Twitter.

Набор данных диалогов для обучения чат-ботов

Semantic Web Interest Group IRC Chat Logs. Этот автоматически генерируемый лог IRC-чата доступен в RDF, который ежедневно ведётся с 2004 года, включая временные метки и псевдонимы.

Корнелльский корпус кинодиалогов. Этот корпус содержит большую коллекцию метаданных, богатую вымышленными диалогами из сценариев фильмов: здесь найдётся 220 579 диалогов между 10 292 парами героев фильма с участием 9035 персонажей из 617 фильмов.

ConvAI2 Dataset. Этот набор данных содержит более 2000 диалогов для конкурса PersonaChat, где люди, работающие на краудсорсинговую платформу Yandex.Toloka, общались в чате с ботами от участвующих в конкурсе команд.

Санта-Барбара. Корпус разговорного американского английского: этот набор данных включает приблизительно 249 000 слов в транскрипции, аудио- и временных меток на уровне отдельных единиц интонирования.

Корпус чата NPS. Этот корпус состоит из 10 567 сообщений из приблизительно 500 000 сообщений, собранных в различных онлайн-чатах в соответствии с условиями обслуживания.

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

Мультидоменный набор данных волшебника страны Оз (MultiWOZ). Полностью размеченная коллекция письменных бесед, охватывающая несколько доменов и тем. Набор содержит 10 000 диалогов и как минимум на порядок больше, чем все предыдущие аннотированные корпусы, которые ориентированы на решение задач.

Набор данных для обучения мультиязычных ботов

NUS Corpus. Этот корпус создан для нормализации текста из социальных сетей и его перевода. Он построен путём случайного выбора 2000 сообщений из SMS-корпуса NUS English, а затем переведён на формальный китайский язык.

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

Всё ещё не можете найти нужные данные? Lionbridge AI предоставляет пользовательские данные для обучения чат-бота при помощи машинного обучения на 300 языках, чтобы сделать ваши беседы интерактивнее и поддерживать клиентов по всему миру. А если хотите прокачать себя в машинном обучении — приходите на наш расширенный курс по ML и не забывайте про промокод HABR, добавляющий 10% к скидке на баннере.

Источник

Обучаемый Telegram чат-бот с ИИ в 30 строчек кода на Python

обучение чат бота на диалогах

Сегодня мне в голову пришла мысль: «А почему бы не написать Telegram чат-бота с ИИ, которого потом можно будет обучать?»

Сейчас сделать это совсем легко, поэтому, недолго думая, я принялся к написанию кода.
Языком я выбрал Python, т.к. на нём легче всего работать с подобного рода приложениями.

Итак, для создания Telegram чат-бота с ИИ нам потребуется:

1. API Telegram. В качестве обёртки я взял проверенную библиотеку python-telegram-bot

2. API ИИ. Выбрал я продукт от Google, а именно Dialogflow. Он предоставляет довольно-таки неплохое бесплатное API. Обёртка Dialogflow для Python

Шаг 1. Создаём бота в Telegram

Придумываем имя нашему боту и пишем @botfather. После создания бота нам придёт API токен, который желательно бы где-то сохранить, т.к. в дальнейшем он нам понадобится.

обучение чат бота на диалогах

Шаг 2. Пишем основу бота

Создаём папку Bot, в которой потом создаём файл bot.py. Здесь будет код нашего бота.
Открываем консоль и переходим в директорию с файлом, устанавливаем python-telegram-bot.

После установки мы уже можем написать «основу», которая пока что будет просто отвечать однотипными сообщениями. Импортируем необходимые модули и прописываем наш токен API:

Далее напишем 2 обработчика команд. Это callback-функции, которые будут вызываться тогда, когда будет получено обновление. Напишем две таких функции для команды /start и для обычного любого текстового сообщения. В качестве аргументов туда передаются два параметра: bot и update. Bot содержит необходимые методы для взаимодействия с API, а update содержит данные о пришедшем сообщении.

Теперь осталось лишь присвоить уведомлениям эти обработчики и начать поиск обновлений.
Делается это очень просто:

Итого, полная основа скрипта выглядит вот так:

Теперь мы можем проверить работоспособность нашего нового бота. Вставляем на 2 строке наш API токен, сохраняем изменения, переносимся в консоль и запускаем бота:

После запуска пишем ему. Если всё настроено правильно, то Вы увидите вот это:

обучение чат бота на диалогах

Основа бота написана, приступаем к следующему шагу!
P.s. не забывайте выключить бота, для этого вернитесь в консоль и нажмите Ctrl + C, подождите пару секунд и бот успешно завершит работу.

Шаг 3. Настройка ИИ

В первую очередь, идём и регистрируемся на Dialogflow (просто входим с помощью своего Google аккаунта). Сразу после авторизации мы попадаем в панель управления.

обучение чат бота на диалогах

Жмём на кнопку Create agent и заполняем поля по усмотрению (это никакой роли не сыграет, это нужно лишь для следующего действия).

обучение чат бота на диалогах

Жмём на Create и видим следующую картину:

обучение чат бота на диалогах

Расскажу, почему созданный нами ранее «Агент» никакой роли не играет. Во вкладке Intents есть «команды», по которым работает бот. Сейчас он умеет лишь отвечать на фразы типа «Привет», и если не понимает, то отвечает «Я вас не понял». Не сильно впечатляет.
После создания нашего пустого агента, у нас появилась куча других вкладок. Нам нужно нажать на Prebuilt Agents (это уже специально обученные агенты, которые имеют множество команд) и из всего представленного списка выбрать Small Talk.

обучение чат бота на диалогах

Наводим на него и жмём Import. Далее ничего не меняя, жмём Ok. Агент импортировался и теперь мы можем его настроить. Для этого в левом верхнем углу жмём на шестерёнку возле Small-Talk и попадаем на страницу настроек. Теперь мы можем изменить имя агента, как захотим (я оставляю как было). Меняем часовой пояс и во вкладке Languages проверяем, чтобы был установлен русский язык (если не установлен, то ставим).

обучение чат бота на диалогах
обучение чат бота на диалогах

Возвращаемся на вкладку General, спускаемся немного вниз и копируем Client access token

обучение чат бота на диалогах

Теперь наш ИИ полностью настроен, можно возвращаться к боту.

Шаг 4. Собираем всё вместе

ИИ готов, основа бота готова, что дальше? Дальше нам нужно скачать обёртку API от Dialogflow для питона.

Установили? Возвращаемся к нашему боту. Добавляем в нашу секцию «Настройки» импорт модулей apiai и json (нужно, чтобы в будущем разбирать json ответы от dialogflow). Теперь это выглядит вот так:

Переходим к функции textMessage (которая отвечает за получение любого текстового сообщения) и посылаем полученные сообщения на сервера Dialogflow:

Этот код будет посылать запрос к Dialogflow, но нам нужно также извлечь ответ. Дописываем парочку строк, итого textMessage выглядит вот так:

Немного пояснений. С помощью

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

и после этого «заворачиваем» всё в

чтобы распарсить json ответ.

Если ответа нет (точнее, json приходит всегда, но не всегда есть сам массив с ответом ИИ), то это означает, что Small-Talk не понял пользователя (обучением можно будет заняться позже). Поэтому если «ответа» нет, то пишем пользователю «Я Вас не совсем понял!».
Итого, полный код бота с ИИ будет выглядеть вот так:

Сохраняем изменения, запускаем бота и идём проверять:

обучение чат бота на диалогах

Вот и всё! Бот в 30 строк с ИИ написан!

Шаг 5. Заключительная часть

Думаю, Вы убедились, что написать бота с ИИ – дело 10 минут. Осталось лишь теперь его учить и учить. Делать это, кстати, можно во вкладке Training. Там можно посмотреть все сообщения, которые писались и что на них ответил бот (или не ответил). Там же его можно и обучать, говоря боту где он ответил правильно, а где нет.

обучение чат бота на диалогах

Надеюсь, статья была Вам полезна, удачи в обучении!

Источник

Бот на нейросетках: как работает и учится виртуальный ассистент

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

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

В материале мы расскажем

Чат-бот vs виртуальный ассистент

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

Чтобы увидеть разницу, сравним чат-бота и ассистента — представим, что нам нужно сделать виртуального сомелье, который помогает покупателям с выбором вина.

Этап 1

Первый этап у чат-бота и виртуального ассистента один: мы прикидываем запросы пользователей и придумываем фразы, которые они могут написать. А затем прописываем, как робот будет действовать в ответ.

Базовый запрос понятен — подобрать вино. Но у этого запроса может быть много параметров: повод, цена, страна, цвет, сорт винограда. Возможно, пользователь сразу напишет название вина, которое нужно найти. Или уточнит детали: «А где оно сделано?». А может, из любопытства начнёт закидывать бота вопросами: «Какая бутылка самая дорогая в мире?» и так далее. При том кроме запросов по делу есть «привет», «пока», «как дела» и прочие small talk фразы, которые нужно задать.

Фантазировать можно бесконечно, но всё равно мы не сможем предугадать все вопросы пользователей. Когда нам кажется, что описанных ситуаций будет достаточно для покрытия 98% запросов, мы останавливаемся (хотя потом суровая реальность обломает и мы узнаем, что покрыто будет в лучшем случае 80%).

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

Список намерений

Намерение 1 — хочу любое вино
Фразы:

— Помоги выбрать вино
— Какое вино посоветуешь?
— Хочу самое лучшее вино
— …
Что с этим делать: случайно выбрать одно из самых популярных вин и сообщить пользователю.

Намерение 2 — вино подешевле

— есть ли хорошие вина до 1000 рублей?
— а нет ничего дешевле?
— слишком дорого для меня
— …
Что делать: добавить к запросу фильтр на цену и выбрать одно из самых популярных вин.

Намерение 3 — хочу вино под мясо
Фразы:

— Посоветуй вино к стейку
— У меня на ужин будет гуляш. Что выпить?
— …
Что с этим делать: запрос в базу по критерию «к мясу», выбрать одно из самых популярных вин и сообщить пользователю.

… (и так ещё сотни разных намерений)

Намерение 290 — мы не поняли пользователя
Фразы: любые другие

Что делать: выдать фразу-заглушку: «Не знаю, что вы имели ввиду, но пинотаж Barista восхитителен в любое время года».

Этап 2

На этом этапе мы приступаем к созданию алгоритма, по которому будет работать робот. Здесь сходство чат-бота и виртуального ассистента заканчивается.

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

При разработке ассистента программист обучает алгоритм сравнивать реплики пользователя по лексическому смыслу. Это позволяет найти самое близкое намерение.

Выбор вина с чат-ботомВыбор вина с виртуальным AI-ассистентомЧто случилось
User: Привет! Хочу выбрать вино на ужин до 2000р
Bot: Здравствуйте!
Bot: В каком ценовом диапазоне ищем?
User: до 2000р
Bot: Могу порекомендовать Ramirez de la Piscina. В меру терпкий красавец из Испании подойдет и к ужину, и под любимый сериал. 1240₽ за бутылку
User: Привет! Хочу выбрать вино на ужин до 2000р
Assistant: Здравствуйте! Могу порекомендовать Ramirez de la Piscina. В меру терпкий красавец из Испании подойдет и к ужину, и под любимый сериал. 1240₽ за бутылку
Бот — пошел по ключевым словам выбрать+вино. Не понял ценовой диапазон и переспросил. Ассистент — пошел по самому близкому намерению и извлек ценовой диапазон.
User: Не люблю терпкое
Bot: Ваш кандидат — «Casillero del Diablo» Cabernet Sauvignon Reserva
Bot: Чилийский терпкий совиньон точно вас согреет. Всего 872₽
User: Не люблю терпкое
Assistant: Ваш кандидат — Antigal, «Uno» Malbec.
Assistant: Мягкий аргентинец прямиком из 2015. Цена за бутылку — 1101₽
Чат-бот ориентировался на ключевое слово «терпкое» и ошибся. А ассистент понял, что ближайшее к «Не люблю терпкое» намерение — мягкие вина.
User: Хорошо, что оно такое недорогое. Пожалуй, возьму его.
Bot: Тогда попробуйте «FYI» Red Blend
Bot: Несмотря на высокий рейтинг, его цена всего 557₽
Bot: Хороший выбор
User: Хорошо, что оно такое недорогое. Пожалуй, возьму его.
Assistant: Хороший выбор
Роботы обрабатывают предложения по одному. Господин чат-бот посмотрел на слово «недорогое», ответил по шаблону — в итоге не угадал и запутался. Ассистент просто проигнорировал первое предложение, так как понял второе.
Чат-ботВиртуальный ассистент
Чтобы понять пользователя, мы берём ключевые слова.
При создании чат-бота технологии машинного обучения и NLU не используются.
Чтобы понять пользователя, мы проводим «умное» сравнение и выбираем ближайшее намерение (чуть позже поясним, как это работает).
Машинное обучение и алгоритмы NLU позволяют нам измерить расстояние между репликами. Например, фраза «космический корабль» ближе к «самолету», чем «самокату». А от «продажи почки» — совсем далеко.
Подготовка: Для каждого намерения выписываем ключевые слова (вино_под_мясо: стейк, мясо, гуляш, вино+мясо)

Правда ли, что виртуальные ассистенты понимают язык?

Алгоритмы умеют отличать одни фразы от других — но можно ли сказать, что роботы действительно понимают язык?

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

Для наших задач вектора лексически близких фраз должны быть математически близки друг к другу, лексически отдаленные — подальше, вектора фраз из другой оперы — совсем далеко. Например, «хочу вино» ближе к «хочу белое вино», чем к «не хочу вино». А от «марс атакует» далеко.

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

Поэтому ответ на вопрос «Понимают ли роботы язык?» будет таким: они не понимают как человек, просто умеют сравнивать лексические смыслы и не путать теплое с мягким. Но когда алгоритмы смогут предложить наводящие уточнения и делать выводы, мы честно скажем: да, понимание настало. А пока «понимать язык» — это лишь красивое маркетинговое словосочетание.

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

Как мы научили робота понимать контекст: lialang

Для нормального саппорта роботам мало «понимать» естественный язык — важно, чтобы они могли отвечать на вопросы и оставаться в контексте. Для этого мы написали lialang — язык разметки диалогов, на котором можно описывать сценарии и передавать их роботу.

Основная задача lialang-программиста — описать все ситуации, которые могут случится в диалоге человека с машиной. Для этого в нашем языке можно связывать названия намерений и действия.

Рассмотрим простой пример — приветствие:

Выглядит как обычный код, но за конструкцией intent(…) работает нейросетка — lialang описывает диалог общими паттернами (“если тебя попросили то-то”) с помощью обычных программистских конструкций. Конечно, для того, чтобы это сработало, нужно применить машинное обучение и технологии NLU, ведь пользователь может написать свой запрос как угодно.

Мы ввели конструкцию «was», чтобы ловить неуместные приветствия в любом месте диалога:

Здесь написано: Lia, если тебе сказали «привет» — скажи в ответ привет. А если после этого вновь сказали «привет» — скажи, что уже здоровались.

Реакция — это действие, которое Lia должна выполнить в ответ на намерение. В 95% случаев это просто текст. Но также робот может вызывать функцию в коде, переключить общение на оператора или выполнить другие сложные действия.

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

Теперь попробуем написать штуку посложнее — в чате с банком клиенты часто запрашивают свои реквизиты. Давайте научимся отправлять их в чат и на почту с помощью lialang.

Здесь описаны две ситуации:

Lia научилась поддерживать сложные сценарии — в нужный для пользователя момент достанет/положит данные из/в CRM, отправит SMS, поможет с оплатой или поговорит о жизни.

Постепенно мы улучшали язык: добавили переменные, функции, сущности (даты, адреса, телефоны, имена, итп.), состояния и прочие полезные конструкции. Так писать на нём стало ещё удобнее.

Проверка кейсами: как мы автоматизировали поддержку в трёх банках

Как только мы сделали технологию, ее пришлось в экстренном порядке дорабатывать — у нас появился первый заказчик. «ВТБ» нужно было автоматизировать поддержку в новом интернет-банке для предпринимателей.

Мы запустились вполне успешно — особенно для продукта, который был создан за четыре месяца. Наш гибридный робот для «ВТБ» базировался на нейросетях и сразу был эффективным: отвечал больше чем на 800 вопросов, поддерживал несколько сложных сценариев (выписки, смена тарифа, настройка пользователей) и говорил как человек. В итоге за два месяца наша Lia на 74% снизила нагрузку на саппорт. Стало понятно: идея с автоматизацией поддержки работает.

обучение чат бота на диалогах

Дальше мы на базе Lia автоматизировали FAQ в «Рокетбанке» и «ДелоБанке» — и за две недели закрыли 32% заявок без операторов.

Казалось бы, пришли к успеху пацаны. Однако после первых клиентов стало понятно, что концепцию надо менять. Это был ад — нам приходилось вручную дорабатывать сценарии, вносить правки, развивать ветки. Тоже самое, что с простыми ботами, только сложнее и требует больше сил. При таком раскладе масштабироваться было трудно.

Тогда мы решили сделать инструмент, в котором клиент сам сможет собрать даже сложного ассистента. А мы будем только помогать туториалами и обучать пользователей.

Lia Platform и движок для интерфейсов

Итак, мы решили сделать платформу для тех, кто не понимает в разработке. Хотя lialang содержит меньше десяти разных конструкций, учить его для создания своего бота будет не каждый менеджер. Менеджеры любят мышкой.

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

Смотрите, как это выглядит:

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

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

Как работает платформа для создания виртуальных ассистентов

Чтобы собрать собственного виртуального ассистента в Lia, пользователю нужно пройти через три этапа.

Шаг 1. Загружаем историю переписок с пользователями, чтобы робот понял и выделил основные сценарии

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

обучение чат бота на диалогах

Со временем эффективность Lia будет расти. Сообщения, на которые робот не смог ответить, вновь распределяются по кластерам: например, «кто ты?», «ты кто?», «как тебя зовут?» и «ты робот?» попадут в одну группу. Так платформа полуавтоматически самообучается: пользователь видит, где пробел и закрывает его, добавляя новые сценарии — в результате процент покрытых запросов вырастает с 30% до 70% за полгода.

Если истории переписок нет, пропускаем этот этап и сразу начинаем со второго шага: предугадываем, с какими запросами пользователи обратятся к ассистенту.

Шаг 2. Прописываем намерения: 10-20 вариантов самых частых запросов пользователя

На втором этапе прописываем намерения на основе 10-20 самых популярных запросов: такого количества вариантов достаточно благодаря нейронным сетям. Так фраза вроде «Я хочу заказать вино» обучает бота распознавать аналогичные запросы пользователей: например, «Получить вино» или «Заказать вино».

обучение чат бота на диалогах

Ещё ассистент понимает и извлекает сущности: названия городов, телефоны, адреса, временные отметки, периоды, даты и ругательства — даже если писать в строчку «устал, привезите завтра ящик вина».

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

Шаг 3. Создаем сценарий: прописываем несколько вариантов ответов или действий

Здесь пользователь должен придумать ответы на запросы пользователей. 95% от среднестатического проекта обычно занимает простой сценарий Question-Answer — ответы на популярные вопросы.

обучение чат бота на диалогах

Кстати, ассистент умеет отвечать картинками, видео и аудиофайлами, а если нужно отправит геолокацию.

Особую пользу несет конструкция jump to — благодаря ей Lia умеет переходить из одного сценария в другой, а затем возвращаться обратно, решая несколько задач. Это полезно, если в диалоге нужно отойти в сторону, но потом вернуться в нужное русло: например, задать уточняющий вопрос.

Пример диалога jump to:

Assistant: Нам нужно уточнить адрес доставки, так как получатель не отвечает.
Client: А по поводу чего? Какой заказ? (JumpTo на уточнение заказа)
Assistant: Заказ от 21 Августа, Antigal, «Uno» Malbec.
Assistant: Так сможем уточнить актуальный адрес доставки? (Возврат в главный сценарий)

Когда создатель хочет, чтобы его ассистент не только отвечал текстом, а совершал действия, он сможет позвать программиста, чтобы спец прописал JS-сниппеты. Мы позволяем запускать JavaScript прямо во время сценариев: обратиться к внешнему API, послать e-mail или сделать другое сложное действие.

4. Итог

Ассистент может интегрироваться с чем угодно: разговаривать с человеком по телефону, в мессенджерах или виджете, который клиент разместит на сайте.

Сборка умного ассистента в платформе занимает от пары часов до месяца. Затем робот учится реалистично понимать запросы и узнавать паттерны — на это уходит около шести месяцев (все это время его курирует живой человек). На робо-девочку Lia бизнес может скинуть большинство рутинных задач: от согласования доставки и вызова такси до консультации клиентов.

обучение чат бота на диалогах

Кстати, уже реализованные проекты с банками мы перенесли в платформу. Они работают так же хорошо, но гораздо удобнее модерируются.

В скором будущем мы планируем добавить экстракторы, что позволит нашим пользователям извлекать более сложные данные (например, робот поймёт фразу «послезавтра после обеда»). Доработаем и контроль версионности — чтобы клиенты смогли быстро накатывать и откатывать версии проектов. А также зарелизим систему ролей организации.

Мы рассчитываем, что прогнозы Gartner верны — и в 2022 году до 70% всех взаимодействий с клиентами будет проходить через какую-нибудь разновидность ИИ. По нашей задумке конструкторы вроде Lia помогут перекинуть клиентский сервис на роботов ещё быстрее.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *