Боты для разговора
Искусственный интеллект представляет собой систему алгоритмов, которая способна имитировать мыслительный процесс. В основе принятия решений такой машиной заложена элементарная логика. При этом робот моделирует разумное поведение и выполняет определённые логические задачи на основе готовых методов решения соответствующих вопросов.
Структура искусственного интеллекта состоит из трёх основных блоков:
- специфическая информационная база, включающая в себя чётко определённые данные;
- интерфейс, который позволяет системе вести диалог в той либо иной форме;
- блок принятия решений.
Данная программа работает по вышеупомянутому алгоритму. Она предназначена для ведения относительно чёткого и структурированного диалога пользователя с системой. Такой разговор является контекстно зависимым – машина принимает решения и выдаёт конкретные фразы на основе получаемой текстовой информации. В процессе общения с пользователем база знаний программы пополняется. Система запоминает варианты ответов на вопросы, фигурирующие в беседе с оппонентом. Благодаря этому уровень интеллекта диалоговой программы постоянно повышается.
Диалог с системой ELIZA.
У системы несколько паттернов, которые она применяет в случайном порядке: «Do you believe it is normal to <user input>?» , «Does it please you to believe <user input>?», «Would you prefer if <user input>?» и другие.
Такой сценарий подходит, если пользователь рассказывает о своих психологических проблемах, и выглядит странно в любой другой ситуации.
Содержание
Чат-бот как система машинного перевода
В 2011 году было предложено не определять для чат-бота сценарий всего диалога, а просто обучить систему адекватно отвечать на последнюю реплику. Делается это с помощью системы машинного перевода – реплики пользователя «переводятся» в подходящие ответы на них. Результаты первых экспериментов оставляли желать лучшего, но появившиеся в 2014 году нейросетевые машинные переводчики справились и с этой задачей.
Теперь модель encoder-decoder (представление предложения как вектора фиксированной длины с последующим декодированием в другое предложение) считается стандартом не только в машинном переводе, но и в разработке чат-ботов.
Архитектура encoder-decoder для диалоговой системы. Энкодер (рекуррентная нейросеть с LSTM-ячейками) кодирует входную фразу How are you и представляет в виде вектора w. Этот вектор подается на вход декодеру, который генерирует ответ.
Конечно, и здесь далеко не все гладко, но каждая отдельно взятая фраза, сгенерированная таким ботом, почти не содержит грамматических ошибок и часто является допустимым ответом на реплику пользователя. Только для осмысленного диалога такой бот все равно не годится.
- Во-первых, он часто отвечает слишком общими фразами, подходящими в любой ситуации. Поставленная задача выполнена – ведь к каждой отдельно взятой реплике пользователя такой ответ подходит. Но представьте себе, каково разговаривать с чат-ботом, который на все, что вы скажете, отвечает «I don’t know» или «OK, I see».
- Во-вторых, поскольку чат-бот генерирует ответ только исходя из последней реплики, он не помнит, о чем шла речь раньше. Это исключает возможность любой связной беседы. Например, вы можете сообщить боту, что у вас есть собака, а через несколько реплик он скажет, что вам нужно завести домашнего питомца, потому что жить совсем одному грустно.
С отсутствием памяти связана и другая проблема чат-ботов – они не помнят не только то, что сказано пользователем, но и то, что говорили сами. Так, можно три раза подряд спросить автоматического собеседника, откуда он родом, и получить три разных ответа. Исследователи из Facebook предложили справиться с этой проблемой, дав чат-боту «личность» – информацию о себе, в соответствии с которой он будет строить диалог. В начале 2018 года они выпустили новый датасет для обучения диалоговых систем – PersonaChat.
PersonaChat
Этот датасет похож на аналогичные наборы данных – он состоит из диалогов, где два собеседника обсуждают работу, хобби, семью и другие темы. Но каждому собеседнику в начале диалога дается «профиль» – несколько коротких предложений с информацией о нем. Теперь задача каждого из собеседников в диалоге – рассказать о себе и узнать побольше о другом говорящем (доступа к чужому профилю во время диалога нет).
На таких диалогах чат-бот может научиться отвечать на реплики собеседника через призму определенной личности. При этом личность определена в явном виде – значит, можно ее редактировать и следить, соответствуют ли ей ответы бота.
Вот так выглядит диалог условных Сэма и Боба из этого датасета:
Обоим пользователям дано описание их личностей. Во время диалога они не должны противоречить этому описанию, но не обязаны использовать его полностью. Заметим также, что пользователи нигде не повторяют предложений из описания, а просто отвечают так, как ответил бы обладатель описанной личности – однако легко проследить, из какого именно факта «биографии» следует тот или иной ответ (в диалоге фразы подсвечены цветом, соответствующим фразе из описания персоны). Такому поведению мы и хотим обучить чат-ботов.
Соревнование чат-ботов
Конечно, сам по себе датасет PersonaChat – не панацея, недостаточно обучить на нем систему encoder-decoder, чтобы получить осмысленного и последовательного диалогового агента. Однако этот датасет в явном виде поощряет последовательные ответы. Кроме этого, PersonaChat позволяет определить задание нового типа – с использованием этого набора данных можно в явном виде протестировать бота на последовательность, проверив, не противоречит ли он своему профилю.
Создание таких чат-ботов – тема соревнования ConvAI, организованного лабораторией нейронных сетей и глубокого обучения МФТИ совместно с Facebook AI Research. Задача команд – обучить чат-бота на датасете PersonaChat.
Важное условие – чат-бот должен вести диалог в соответствии с произвольным профилем, выданным ему перед началом диалога. В него нельзя заранее записать информацию о личности – все данные о себе он должен получить из 4-5 предложений.
На первом этапе, который длиться до сентября, поданные на конкурс диалоговые системы будут оценивать автоматическими метриками:
- Perplexity – измеряет, какова вероятность, что система сгенерирует правильный ответ (то есть ответ, который дал в этой ситуации пользователь).
- F1-score, – измеряют, насколько хорошо система может выбрать правильный ответ из списка возможных ответов.
На втором этапе чат-ботов будут оценивать люди. Асессоры будут разговаривать со случайным ботом, при этом ему будет дан профиль, который говорящий с ним человек видеть не будет. После диалога система покажет человеку два профиля: профиль бота и случайный профиль – и попросит угадать, какой из профилей соответствует собеседнику. Чем выше процент угаданных профилей, тем последовательнее ведет себя бот.
Кроме этого, асессоров попросят оценить качество диалогов по шкале от 1 до 5. Итоги соревнования мы подведем на конференции NIPS-2018 в декабре. Победитель соревнования получит 20 тысяч долларов кредита на сайте Amazon Mechanical Turk – платформы, которая сводит людей, у которых есть задания по разметке данных с асессорами.
Даже если вы никогда не занимались диалоговыми системами, для участия в соревновании необязательно писать своего чат-бота с нуля – можно воспользоваться бейзлайнами с открытым кодом. Среди них – описанная выше модель sequence-to-sequence, состоящая из энкодера и декодера, и ее усовершенствованная версия – seq2seq+Key-Value Memory Network. Эта модель хранит векторные представления предложений, описывающих личность бота, и использует их при генерации каждого нового ответа.
Хакатон DeepHack.Chat
До сентября еще много времени, но некоторые команды смогут обучить своего чат-бота уже совсем скоро в ходе хакатона DeepHack.Chat, организованного лабораторией нейронных систем. Задача хакатона та же, что и на соревновании ConvAI – обучить чат-бота с личностью. Так же, как и на ConvAI, в отборочном туре хакатона чат-боты будут оценены автоматическими метриками. Десять лучших команд будут приглашены в МФТИ для участия в очном туре хакатона, который пройдет со 2 по 8 июля.
Во время хакатона командам нужно будет работать над чат-ботом и одновременно оценивать чат-ботов других команд (то есть разговаривать с ними и ставить им оценки). Победителем хакатона станет та команда, чья система лучше всего покажет себя в разговорах с пользователями.
26.04.2018 Ульяна Трескова 1
«Занимательная робототехника» продолжает знакомить читателей с вузовской робототехникой. Сегодня на очереди — Пермский политех (ПНИПУ). Мы побеседовали с заведующим кафедрой информационных технологий и автоматизированных систем (ИТАС) Рустамом Файзрахмановым, доцентом кафедры ИТАС Рустамом Мурзакаевым и руководителем центра робототехники Даниилом Курушиным.
Вуз готовится открыть новое направление подготовки инженерных кадров: «Мехатроника и робототехника». Все документы, по словам Рустама Файзрахманова, готовы:
Изучены потребности по региону, собраны письма-ходатайства от предприятий с обоснованием необходимости подготовки специалистов по робототехнике в интересах региона. Обучение будет направлено на разработку систем управления промышленными роботами, программного обеспечения, разработку умных систем принятия решений и внедрение таких систем на предприятиях.
Предположительно, первый набор студентов по этому направлению произойдет в 2019 году. Участвовать в подготовке специалистов будет несколько кафедр, в том числе кафедра «Информационные технологии и автоматизированные системы» и кафедра «Автоматика и телемеханика».
Процесс раскроя при помощи лазера
В настоящее время кафедра ИТАС готовит специалистов по профилям: «Разработка программных информационных систем», «Вычислительные машины, комплексы, системы и сети», «Автоматизированные системы обработки информации и управления».
Кафедра ИТАС занимается исследованиями в области автоматизации на различных уровнях: от автоматизированных систем управления технологическими процессами до уровня управления административными системами, — говорит Рустам Файзразхманов.
Студенты, обучающиеся по профилю «Автоматизированные системы обработки информации и управления», являются специалистами в области автоматизации процессов обработки информации, принятия решений и управления на разных уровнях предприятий, в организациях и учреждениях.
Модель «умного дома»
Студенты, которые обучаются по профилю «Вычислительные машины, комплексы системы и сети» изучают компьютерные технологии, компьютерные системы для обработки разнородных данных, создают многомашинные комплексы. Выпускники этого профиля — будущие организаторы вычислительных систем, вычислительных процессов, вычислительных центров.
Квалификацию программистов, реализующих сложные алгоритмы решения задач обработки данных и принятия решений, программирование для самых разных уровней систем: web, банковских, автоматизированных систем управления предприятиями, получают студенты, обучающиеся по профилю «Разработка программных информационных систем».
Одно из самых интересных направлений работы кафедры — промышленная робототехника. Уже несколько лет сотрудники кафедры ведут разработку в рамках гранта Российского фонда фундаментальных исследований совместно с факультетом авиадвигателей. Разработка представляет собой роботизированный дефектоскоп, который проверяет детали из композиционных материалов на наличие дефектов. В результате был разработан робот для измерения характеристик и получения 3D-изображения.
Идея проекта в том, чтобы создать систему неразрушающего контроля изделий авиационной промышленности — лопатки двигателя и крышки, — поясняет Рустам Мурзакаев. — Они сделаны из композитных материалов и в процессе их изготовления могут появиться дефекты, которые и обнаружит робот — дефектоскоп. Проект реализуется совместно с Санкт-Петербургским государственным электротехническим университетом ЛЭТИ, который работает над созданием рентген-установки, а кафедра ИТАС разрабатывает роботизированную установку и систему управления программного комплекса».
В Пермском национальном исследовательском политехническом университете (ПНИПУ) роботы используются для разных направлений исследовательской деятельности.
Например, для решения сложных задач, связанных с раскроем листовых материалов (тканей, металлов), робот немецкой компании «KUKA Roboter» создает модели оптимального раскроя, минимизируя расход материала.
Роботизированный комплекс «Луноход»
В ПНИПУ создан центр робототехники, где студенты участвуют в разработке проектов по робототехнике.
В рамках гранта Российского фонда фундаментальных исследований центром робототехники разрабатывается самоходная автоматическая платформа — автономный роботизированный комплекс «Луноход», — рассказывает руководитель центра Даниил Курушин. — Робот представляет собой аппарат, который может двигаться в произвольном пространстве и ориентироваться на местности. Подобные проекты есть у многих производителей — Google, Яндекс — когда на машину ставят определенный комплекс датчиков, систему навигации и она самостоятельно передвигается по улицам города по заранее подготовленной карте. У нас задача другая: создать такой роботизированный комплекс, который будет передвигаться по неразмеченной местности, заранее неизвестной. С помощью стереоскопической системы технического зрения, при помощи которой робот наблюдает пространство, гироскопов и акселерометров для определения своего положения в пространстве, он может прокладывать маршрут, двигаться, оценивать обстановку. Практически весь робот делается студентами.
Еще один большой проект представляет собой создание андроида для общения в человеческом коллективе. Хотя проект и похож на «Промоботов», серийно производимых в Перми, он имеет ряд существенных отличий. Задача его не реклама, а поддержка диалога с человеком. Для этого в центре робототехники ПНИПУ обратились к психолингвистике. Выполнено моделирование языковой личности и моделирование эмоциональной составляющей робота.
Во всех робототехнических проектах кафедры активное участие принимают студенты. Они выполняют задачи программистов, проектировщиков информационных систем, в том числе роботизированных, систем обработки данных, принятия умных решений. Они проектируют системы зрения, синтезирования речи, навигации. Выпускники справляются с задачами создания искусственного интеллекта и обучения нейросетей.
Студенты реализуют разные части этого большого проекта, — говорит Даниил Курушин. — В проекте работают студенты с филфака ПГНИУ, они разрабатывают общую модель личности, описание ее возможных желаний, мотивов и других свойств. Студенты электротехнического факультета создали все типовые выражения лица. В стиле японского аниме выполнена анимационная составляющая проекта. Одной из самых сложных частей разработки андроида является распознавание и синтез речи. В проекте предполагается полная автономность этих функций, без опоры на сервисы Яндекса или Google, хотя возможность использования готовых сервисов не исключена.
В этом проекте мы решали две проблемы. Во-первых, это отсутствие интернета в том месте, где действует робот. Во-вторых, это конфиденциальность информации. Использование таких роботов мы рассматриваем, например, в качестве переводчиков на переговорах. В отличие от google-подобных переводчиков, наш робот делает так называемый «реферативный перевод», не просто воспроизводя сказанный текст, а понимая, что переводит.
В центр робототехники приходят заниматься студенты всех кафедр и факультетов ПНИПУ. Некоторые занимаются в центре потому, что это необходимо им для прохождения практики в рамках учебного плана или для выполнения научных работ. Другие же приходят потому, что увлечены робототехникой и планируют связать с ней свое будущее. Школьники вместе со студентами являются активными исследователями и разработчиками в Центре робототехники.
Теги: Пермь, ПНИПУ, робототехника в вузе
Чат-боты набирают популярность в разных сферах бизнеса — от крупных банков до пабликов ВКонтакте. Цель во всех случаях одна и та же — облегчить взаимодействие с клиентом. Мы решили познакомиться с технологией поближе: разобрать, что такое чат-бот, как он работает и в чем заключаются плюсы его использования.
Что такое чат-бот?
Чат-бот — это виртуальный собеседник, который имитирует человеческий разговор. Чат-боты позволяют общаться с помощью текста или аудиосообщений на сайтах, в мессенджерах и мобильных приложениях.
Зачем они нужны?
Клиентам не всегда удобно записываться на услугу или решать возникший вопрос по звонку или в переписке. Это требует ряда действий: найти сайт, номер телефона, позвонить или отыскать раздел, в котором можно написать администратору или в техподдержку.
Если идея записаться на услугу пришла клиенту в нерабочие часы, вероятность его потерять повышается: до утра он может забыть или записаться к конкуренту, у которого есть онлайн-запись или чат-бот. Поэтому так важно сделать путь от желания обратиться за услугой до записи максимально быстрым.
Чат-бот позволяет записаться в салон или клинику сразу, в привычном мессенджере. Для этого не нужно нанимать программиста, достаточно подключить один из сервисов, предоставляющих чат-ботов. Такую автоматическую систему записи и обработки обращений удобнее всего интегрировать в Telegram, Viber и ВКонтакте.
В диалоге с ботом клиент может записаться на прием, посмотреть схему проезда, познакомиться с услугами или узнать о специальных предложениях. Такой интерактив помогает клиентам решать вопросы в одно нажатие, а владельцам бизнеса — упрощать коммуникацию и экономить время сотрудников.
Как чат-боты помогают удерживать клиентов?
Чат-бот обрабатывает и реагирует на запросы даже ночью. Если он не поможет клиенту решить вопрос, в рабочие часы администратор подключится в этот же диалог. Конечно, полностью заменить человека чат-бот не сможет. Но если детально продумать все сценарии взаимодействия клиента с виртуальным помощником, недопонимания в чате можно минимизировать.
Кроме выполнения полезных функций, чат-бот еще и повышает лояльность клиентов. Возможность записаться на услугу в привычном интерфейсе запоминается как позитивный и комфортный опыт. Скорость ответа чат-бота тоже играет на руку предпринимателю: клиент получает нужную информацию сразу, без ожидания на линии. К тому же это избавляет администратора от рутинной работы и дает возможность более эффективно распределить рабочее время.
Еще один плюс: исключается человеческий фактор. Администратор может случайно записать человека не на то время или не к тому мастеру. При взаимодействии с чат-ботом клиент может моментально проверить данные о записи, а если что-то пошло не так — самостоятельно перенести или отменить ее.
Какую прибыль чат-боты приносят бизнесу?
Чат-бот синхронизируется с CRM-системой, дополняя ее. При этой связке все данные хранятся в одном месте: например, информация о новой записи сразу отображается в электронном журнале. Это помогает администратору или call-менеджеру не тратить время на поиск данных, и повышает его продуктивность.
Также благодаря чат-боту можно сэкономить на привычных SMS-рассылках — сообщения бесплатны, так как сервис интегрирован в мессенджер, которым уже пользуется клиент. Кроме того, если сообщение об акции, скидке или другое выгодное предложение находится в одном месте с формой записи, шанс, что клиент сразу отправит заявку, возрастает. Таким образом, конверсия и вероятность продажи значительно повышаются.
Самад Мухамедов, сооснователь чат-бот-сервиса Funkio
Как сказано выше, одним из преимуществ чат-ботов является то, что их можно интегрировать с различными CRM-системами и другими онлайн-инструментами для бизнеса. Это означает, что чат-бот будет не просто выдавать пользователю стандартные сообщения согласно предустановленным правилам, а станет по-настоящему умным, но все также автоматизированным представителем вашего бизнеса.
Например, чат-боты сервиса Funkio благодаря интеграции с YCLIENTS могут прямо из предпочитаемого клиентом мессенджера записать его на услугу к конкретному мастеру, напомнить о записи за несколько часов, а также служить в качестве виртуальной карты лояльности. Тем самым, чат-боты в разы усиливают эффект от ставших уже традиционными онлайн-инструментов для бизнеса.
Также чат-боты существенно повышают эффективность кампаний в социальных сетях. Если создавая рекламные посты призывать клиентов написать в мессенджер (вместо традиционного перехода на сайт), то можно удерживать каждого потенциального клиента на расстоянии одного сообщения, в дальнейшем взаимодействуя с ним и разогревая до готовности воспользоваться услугой. При этом можно сочетать автоматизированные цепочки сообщений с индивидуальными вопросами и предложениями. Наконец, в отличие от традиционного e-mail маркетинга, у сообщений, отправленных в мессенджере, как правило, бывает более 80% открытий.
Хотите знать больше о чат-ботах и других современных технологиях? Подписывайтесь на Telegram-канал YJOURNAL, чтобы получать уведомления о новых статьях в нашем блоге!
Текст: Евгения Оганисян
Иллюстрации: unDraw
Пока искусственный интеллект просит у индусов прислать свои фотки в стиле «НЮ”, а чат-боты фейсбука перешли на свой язык, мы предлагаем вам немного развлечься и прокачать свой письменный английский. Это можно сделать более современно, а не только постоянно зависая на популярных форумах и в соцсетях, тратя время на живых людей и ожидая их ответов.
Ниже вы найдете ТОП-7 чатботов, которые как раз были созданы с целью помочь в изучении английского и улучшить навыки письма.
А чтобы было нескучно подразнить и проверить ботов, ловите небольшую подборку популярных сокращений для чата на английском:
2B or not 2B — to be or not to be — быть или не быть;
1daful — wonderful — чудесно;
2day — today — сегодня;
2G2BT — too good to be true — слишком хорошо, чтобы быть правдой;
2nite — tonight — сегодня вечером или ночью;
4eva — forever — навсегда;
ADIDAS — all day I dream about sex — весь день только о сексе и думаю (ответ ботов вас удивит);
AUNT — and you know this — и ты это знаешь;
B4 — before — до этого, ранее;
BTR — better — лучше;
CU — see you — увидимся;
FYEO — for your eyes only — только тебе можно посмотреть;
GAS — got a second — есть секунда;
IHNO — I have no opinion — не имею понятия;
LOU — laughing over you — ржу над тобой;
meh! — who cares, whatever — пофиг!
Если вам нужно еще больше слов и фраз для прокачки письменного английского, и можно найти целые подборки готовых фраз. А теперь перейдем к чатботам.
A.L.I.C.E
Один из самых старинных чатботов (если не самый первый), который специально разрабатывался в качестве помощника тем, кто учит английский.
Плюсы: Возможность выбрать различных персонажей, которые будут с вами общаться, довольно быстрые ответы и даже немного юмора, обучаемость и уточнения в диалоге.
Минусы: Устаревший интерфейс, некоторые из персонажей для общения платные, любую не совсем цензурную лексику бот воспринимает, как оскорбление, даже если она адресована не боту, так что поговорить совсем неформально или поругаться с ботом не выйдет! Еще нельзя пообщаться с помощью микрофона.
Mitsuku
Довольно приятный чатбот, с которым легко общаться.
Плюсы: Есть версия с использованием flash и без него, можно включить микрофон, логичные диалоги, язык общения очень похож на человеческий, бот уточнит, если что-то не понял и спасибо скажет, понимает сокращения.
Минусы: Нет общения через микрофон, если включить звук и музыку, то услышать ответы можно только на японском (или китайском?).
Splotchy
Довольно веселый чат-бот, который создан с целью именно повеселиться.
Плюсы: Ответы бывают действительно смешными, присутствует сленг и немного нецензурщины, скорость ответов высокая.
Минусы: Интерфейс из 90-х или даже старше, заявлена возможность услышать ответы, но добиться звука от бота не удалось. Если долго вести диалог, ответы начинают повторяться. Общения через микрофон также нет.
Cleverbot
Бот, созданный британцами. По отзывам пользователей, прям как живой.
Плюсы: Более приятный интерфейс, есть свое приложение и возможность подключить чат себе в мессенджер на фейсбуке, местами присутствует юмор и реалистичные ответы, возможность говорить с ботом через микрофон.
Минусы: Иногда странные и нелогичные ответы, которые чатбот подхватил от пользователей-троллей.
Existor
Сайт, который специализируется на создании ботов и предлагает возможность создать своего собственного.
Плюсы: Удобный и современный интерфейс, можно говорить с ботом через микрофон, выбирать из нескольких персонажей, имитация эмоций персонажа, который с вами общается.
Минусы: Не всегда логичный диалог, немного пугающее аватары, когда задумываются.
Elbot
Более современный чатбот, с которым довольно интересно общаться.
Плюсы: Простой и достаточно современный интерфейс, веселые ответы и анимация, длинные предложения, над которыми можно поразмышлять, логичные диалоги, есть приложение для android и ios.
Минусы: Нет общения через микрофон, иногда повторяющиеся ответы.
iGod
Хотите поговорить с Богом или исповедаться? Вот ваш шанс. Бот имитирует общение от имени Бога и даже в заголовке сказано, что пришла пора покаяться!
Плюсы: Веселый посыл, бот действительно пытается показать себя божеством и ведет достаточно логичные диалоги. У него даже есть замашки в стиле Skynet и захвата мира.
Минусы: Нет общения через микрофон, устаревший и скучный интерфейс, который работает через flash-player.
Мы думаем, что такое общение довольно полезно, особенно для преодоления языкового барьера. Так вам будет не страшно написать первыми, ведь бот не пошлет в другой чат, будет вести диалог, пока у вас не останется сил и не устанут пальцы. В общем, отличная тренировка перед общением с живыми иностранцами, хоть и не ее полноценная замена, так как нет элемента импровизации и спонтанности со стороны ботов. Заодно можно помочь разработчикам, ведь их искусственный интеллект обучается во время диалога с вами и становиться более человечным. Кстати, интересно, какие перлы боты будут выдавать вам в чате — пишите в комментариях!