Зачем нам чат-боты?

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Зачем нам чат-боты?

Лаборатория нейронных сетей и глубокого обучения МФТИ

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

Валентин МАЛЫХ, научный сотрудник лаборатории нейронных сетей и глубокого обучения МФТИ:

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

Что такое «диалоговые системы»? Это те системы, которые наиболее естественным образом общаются с человеком. В этом, собственно, суть. Что значит «наиболее естественно»? Если человек хочет получить какую-либо услугу, скорее всего, он позвонит, например, в банк и попросит данную услугу ему оказать. Сейчас это довольно типичный случай. Но с другой стороны, это означает, что есть некий человек — другой, который как раз работает на банк и занимается тем, что оказывает эти услуги. Данная работа требует только умения понимать то, что говорит клиент. Здесь даже умение говорить не так важно, потому что, как правило, для работников подобного рода (банк здесь приведён, как пример) составляются специальные инструкции, которые называются «скриптами» (англ. — scripts). Эти скрипты достаточно чётко прописывают, что можно сказать, а что говорить никогда нельзя. По факту это набор шаблонов, по которому идёт общение. На самом деле, общение клиентов с банками (опять же, не только с ними) уже сейчас достаточно сильно автоматизировано.

И кажется, что следующий шаг выглядит довольно естественным — мы заменяем человека, освобождаем его от неинтеллектуального труда. Этот труд начинает выполнять машина. Человеку остаются только действительно сложные случаи, когда машина не может понять, что клиенту нужно. Скажем, у него сложная проблема, которая не описывается стандартными алгоритмами. Если мы вспомним правило Парето (80/20), то можно сказать, что 80% вопросов составляют 20% их разнообразия. Это, конечно, некая условность, но — тем не менее. И получается, что у нас существует всё-таки 20% потока вопросов, которые машины изначально решать не смогут, потому что здесь нужен именно человеческий интеллект. Что нужно сделать, как помочь другому человеку? Но если это какой-то простой вопрос — например, узнать баланс по своему тарифу или что-то подобное, это стандартные вещи. И их уже сейчас автоматизируют достаточно успешно.

Есть автоинформаторы, где мы нажимаем кнопки, и нам просто выдаётся какая-то информация. Если мы пойдём чуть дальше — мы звоним в банк, по голосу определяют, что это мы. А дальше мы говорим: «Я хочу узнать что-то». Нас понимают и сразу выдают нам информацию без необходимости подключения к этому оператора. Это так называемые «целеориентированные диалоговые системы». Они направлены на то, чтобы обеспечить какую-то функцию, сделать некую услугу.

На самом деле, как мы знаем, люди разговаривают не только для того, чтобы получить услугу. Наша жизнь не состоит исключительно из походов в магазин или чего-то такого. Мы ещё разговариваем между собой для того, чтобы (если уж совсем утрировать) получить удовольствие. Как раз эту проблему нахождения собеседника тоже пытались решить и достаточно давно ею занимались. Вернее, это даже не проблема, а некий способ её решения — чат-бот общего назначения. По-английски это называется chat, по-русски это неформально называется «болталка». Из названия понятно, что она делает: просто поддерживает разговор. К сожалению (или, может быть, к счастью), текущие диалоговые системы недостаточно интеллектуальны. Они не могут поддержать разговор. Они могут статистически каким-то образом подобрать ответ на вашу реплику и создать видимость диалога. Может быть, даже получится создать диалог из двух-трех последовательных реплик. Но полноценного диалога, тем не менее, на текущий момент нет.

Одна из важных проблем для «болталок» заключается в том, что personality — личность, персона чат-бота не консистентна. Мы сейчас не можем сделать так, чтобы консистентность у чат-бота присутствовала именно в поддержании персоны. Это является одним из направлений деятельности нашей лаборатории. Год назад мы отправили заявку и выиграли конкурс на проведение соревнований диалоговых систем, которые должны были общаться между собой на заданную тему. У нас есть некий кусочек текста, и его должны обсудить человек и машина. Соревнование прошло неплохо. Оно было частью самой крупной конференции по нейронным сетям, которая называется Neural Information Procession Systems. В этот год мы снова подаёмся на тот же самый конкурс, теперь уже совместно с Facebook, на тему того, что у нас есть чат-боты, которые не просто общаются, но ещё и умеют поддерживать personality. У них есть персона, которую они отыгрывают. Они «играют» за какого-то определённого человека. Например, необходимо, чтобы система могла отыграть полицейского на пенсии. Она должна уметь сказать: «Я работал 20 лет в полиции, служил в Сан-Диего».

Помимо того, поддержание диалога — это не только personality, но ещё и некий план. Когда мы разговариваем, мы в принципе понимаем, что мы хотим спросить, узнать, сказать. Диалог обычно течёт самостоятельно. Но если мы внимательно посмотрим, там обычно прослеживается какой-то план. Скажем: «Я хочу рассказать о том, как у меня прошёл день» — и последовательно излагаю, что пошёл на работу, пришёл оттуда, что произошло. Даже если мы в процессе диалога отвлекаемся на какие-то другие вопросы, потом я всё равно возвращаюсь и дорассказываю то, что хотел изначально рассказать. У меня есть некий план, по которому я иду. Пока такое ещё не совсем есть. Если мы говорим про целеориентированные системы, то конечно, они это умеют. У них есть план, написанный человеком. И это проблема: система один раз заточена под определённую задачу. А вот так, чтобы ставить цели самостоятельно и следовать им — это уже задача для настоящего искусственного интеллекта, которого пока не существует. Сильного ИИ (AI — Artificial Intelligence) уровня человека пока что нет. Есть только слабые. В том числе, целеориентированные диалоговые системы, которые могут считаться искусственным интеллектом. Это несколько условно. ИИ сейчас принято называть практически всё, что требует обучения на примерах. То, что раньше выполнял человек, а сейчас может выполнить машина. Но, как я уже говорил в самом начале, полностью заменить человека на данный момент мы не можем — и, в общем-то, не стремимся. Важно, что мы хотим автоматизировать какие-то отдельные частые задачи людей. В том числе, например, звонки в банк или звонки, чтобы заказать пиццу.

Помимо соревнования, которое не является нашей основной целью — это просто ещё одна активность, которую мы проводим, нашей основной задачей является разработка библиотеки под названием Deep Pavlov. Он, как и наш главный проект iPavlov назван в честь Ивана Петровича Павлова, учёного-физиолога, которого в некоторых кругах принято считать «отцом» обучения с подкреплением. И вот что призвана сделать эта библиотека? На самом деле, есть два видения того, как она должна быть устроена. И сейчас скорее побеждает второе. Но есть и первое, с которым дела обстоят следующим образом: это библиотека, которая должна упростить создание чат-ботов. То есть у нас есть чат-бот, и он должен быть создан. Это достаточно непростая задача, потому что с нуля написать чат-бота довольно непросто. У нас есть очень много разных ipi от различных сервисов, которые это позволяют делать. Но мы будем завязаны на эти сервисы. То, что умеют они, будут уметь и наши чат-боты (и ничего больше). Насколько мне известно, это будет очень чётко выстроенное «дерево» диалога. Целеориентирование, конечно, целеориентированием, но script будет чётко выстроен. А вот если мы хотим что-то более широкое, здесь начинаются проблемы. Тут нужно писать всё с нуля. Это может быть сложно — начиная от сбора данных для того, чтобы что-то натренировать, и заканчивая непосредственно написанием кода для того, чтобы сделать процесс тренировки возможным. Здесь мы как раз видим свою цель, нишу для нашей библиотеки.

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

Стоит также отметить (это, наверное, больше специалистам интересно): наша библиотека не исключительно завязана на нейронные сети, несмотря на название лаборатории. Мы занимаемся не только нейтронными сетями. Классические методы машинного обучения в большой части случаев вполне применимы. Они проще для обучения и требуют меньше данных. Как минимум, поначалу с ними работать проще, нежели с нейронными сетями, потому что нейронные сети требуют некоторого навыка для работы с ними. Для тренировки нужны данные. И нужен навык для того, чтобы понимать, как это работает. Использование готовых моделей, которое мы тоже предоставляем, конечно, простое. Мы, как команда профессионалов, выдаём некоторый набор «чёрных ящиков»: вот здесь модель для распознавания именной сущности, вот здесь классификация и т. д. Эти «чёрные ящики» вы можете использовать. Мы гарантируем, что они хорошие. Но если вы хотите свой «чёрный ящик», здесь нужны некоторые специфические знания. Нужны данные. Нужны способы тренировки. Библиотека позволяет это делать, но, опять же, это может понадобиться не всем. Большинству людей это, скорее всего, не будет нужно. Им будет достаточно натренированной модели и её применения.

Кстати, произошло забавное событие. Мы никому особенно не говорили, что сделали первый релиз. Но, по всей видимости, мир всё-таки довольно маленький — «большая деревня». И наши коллеги на Западе об этом узнали и написали о нас. За последние два дня наша известность увеличилась примерно раз в сто. Что с этим делать, пока ещё не очень понятно. Мы не были готовы к такому и сейчас учимся с этим жить. Т. е. нам нужно срочно нашу библиотеку делать ещё лучше, чем мы хотели. У нас сроки сжались, потому что теперь нет столько времени, сколько было изначально запланировано, чтобы её дорабатывать. Люди уже начинают её использовать.


Источник: chrdk.ru

Комментарии: