Игра тупые боты на русском. Чатбот от Microsoft — самый грандиозный тест Тьюринга за всю историю


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

Чат-боты были популярной темой в течение определённого времени, и много людей сегодня увлечены ими. Некоторые даже верят, что за подобными ботами будущее и рано или поздно они заменят приложения. Однако находятся и те люди, которые считают, что боты как идея обречены на провал.

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

Что это?

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

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

  1. Огромное количество времени, которое люди проводят, набирая текст в различных мессенджерах (будь то ВКонтакте , Facebook , Slack и т.д) делает эти самые мессенджеры быстро растущим сегментом на рынке приложений. Люди используют их не только для дружеских переписок, но и в интересах развития бизнеса.
  2. Быстрое развитие технологий искусственного интеллекта , машинного обучения позволяет современным чат-ботам вести себя максимально приближённо к тому, как ведут себя люди.

Современные чат-боты не опираются исключительно на текст, а ещё и умеют показывать всевозможные полезные карточки, картинки, ссылки, формы, создавая атмосферу использования приложения.

Всё это позволяет использовать их для совершенно различных целей, таких как помощь в совершении покупок, сервис обратной связи, новости, игры и многое другое. Хороший чат-бот не должен уметь делать всё: если он просто показывает вам последние новости, ему совершенно необязательно уметь заказывать еду из ресторана. Он выполняет что-то одно и выполняет на совесть.

Как они работают?

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

Бэкенд: Чат-боты могут быть разработаны на любом языке программирования, с помощью которого можно создать web API. Для большинства это будут либо Node.js, либо PHP, однако существует множество библиотек для создания чат-ботов, написанных на Java или Python. Бэкенд получает сообщение, думает, что ответить, и возвращает пользователю ответ.

Фронтенд: Это может быть любой мессенджер: от популярных вроде Facebook Messenger , Slack , Telegram до простеньких Realtime Chat With Node.js. Вы не ограничены одной платформой: один и тот же бот может работать, по сути, везде.

Связывая первое и второе: Ваш веб-сервер установит так называемые вебхуки — основанные на URL соединения между вашим ботом и чат-платформой. Вебхуки позволят вам безопасно отправлять и получать сообщения через простые HTTP-запросы. Все известные мессенджеры предоставляют разработчикам детальные гайды о том, как связать своего бота с их платформой.

Тупые и умные боты

В зависимости от того, как программировались конкретные боты, мы можем разделить их на две большие группы: работающие по заранее заготовленным командам (тупые) и обучающиеся (умные).

Работающие по командам боты работают, опираясь на заранее написанные ключевые слова, которые они понимают. Каждая из таких команд должна быть написана разработчиком отдельно с использованием регулярных выражений или других форм анализа строк. Если пользователь задал вопрос, не использовав ни одного ключевого слова, робот не может понять его и, как правило, отвечает сообщениями вроде «простите, я не понял».

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

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

Работа с обработкой естественного языка и машинным обучением — непростое задание, особенно для начинающих. К счастью, сегодня вам не нужно выполнять всю работу, так как существует большой выбор отличных библиотек (ConvNetJS , nlp_compromise , TextBlob) и сервисов (wit.ai , api.ai), которые могут помочь вам обучить ваших ботов некоторым разговорным навыкам.

Начало работы с чат-ботами

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

  • BotKit — самый популярный набор инструментов для создания ботов. Он open-source и, к тому же, неплохо документирован.
  • Claudia — этакий конструктор чат-ботов, созданный для использования непосредственно в AWS Lambda.
  • Bottr — очень простой фреймворк, написанный на Node.js с готовым приложением для тестирования. Если вы хотите поиграться с ним минут 10, рекомендуем.

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

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

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

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

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

Те ученики, у которых нет такой возможности, при помощи моих находят иностранцев для общения и языковой практики. Но, здесь скрыто несколько подводных камней. Во-первых, не все хотят искать и попросту ленятся; во-вторых, регистрация на сайтах, поиск партнеров зачастую отнимают много времени; в-третьих, английский новых друзей иногда оставляет желать лучшего. На самом деле, – это оптимальный вариант, даже не смотря не некоторые указанные “подводные камни”. Однако, иногда хочется чего-то побыстрее. Когда написал и тебе сразу ответили.

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

Преимущества практики английского с ботами:

  • они всегда отвечают, когда бы вы ни написали им
  • их английский всегда грамотен и они знают

Список чат-ботов для языковой практики:

  1. Mike – хороший собеседник
  2. Elbot – хороший собеседник
  3. Cleverbot (действительно, не тупой) + есть возможность голосового общения)
  4. Zabaware (довольно неглупый бот, который к тому же произносит фразы)
  5. John Lennon (да, тот самый. Нажмите слева в меню “Chat with…”)
  6. Acobot – отличное приложение на Android, которое ориентированно именно на изучения английского. Можно для примера

Вы: привет
Она: Привет, человек!!
Она: А вас как зовут?
Вы: Легион
Она: Легион, запомнила!
Она: Странно, первый раз слышу такое имя. А ты он или она?
Легион: мы - геты

Легион: все мы - геты

Она: Легион - это.
Легион: раз-де-вай-ся
Она: Ну-с..
Легион: единица 7433, зачем ты говоришь ей РАЗ-ДЕ-ВАЙ-СЯ? За подобные выходки твоя программа будет удалена
Она: Извини(((Не могу дальше общаться, не зная твоего пола.
Легион: у нас нет пола. все мы - геты
Она: Так всё таки ты он или она? Так я смогу к тебе корректно обращаться.
Легион: ты - человек?
Она: Легион, ну я правда не понимаю, он ты или она!
Легион: если рассуждать, то мы - оно

Легион: вопрос некорректен
Она: Так всё таки ты он или она? Так я смогу к тебе корректно обращаться.
Легион: оно
Она: Зачем ты выпендриваешься?
Она: Ну что?
Легион: (щелканье) МЫ пришли к выводу, что платформа, находящаяся перед тобой сожет обладать мужскими свойствами
Она: Извини(((Не могу дальше общаться, не зная твоего пола.Легион:)) Всё ОК.
Она: Минута молчания.. :)
Легион: это расценивается как он
Она: Ок!
Она: Щелканье - это хорошо.
Легион: я знаю. Это верхбыстрый способ передачи информации
Она: Великолепно!
Легион: единица, стоящая передо мной - идентифицируй себя
Она: Мммм...
Легион: Мммм... не воспринимается, как идентификационный номер
Она: Знаешь, не нравится мне всё это.
Она: Эх...
Легион: идентифицируй себя
Она: Ты мозг.
Легион: мы - геты
Она: Что бы ты на это ответил?
Легион: на что? ваша речь бессвязна
Она: Нечто.
Легион: (щелканье) мы пришли к выводу, что ты не человек
Она: А ты что думал? Ну да:))
Она: Ну что у нас там?
Легион: ты человек?
Она: Как я могу быть человеком? Издеваешься?
Легион: мы задаем вопросы
Она: Низачто!
Она: Хороший комп...
Легион: да, у нас хорошее техническое обеспечение
Она: ;)
Легион: ты за Старых Машин или против них?
Она: :) Легион, ну конечно против.
Легион: отлично, иначе нам пришлось бы тебя уничтожить
Она: Удивительно!
Она: Продолжим?
Легион: да
Она: ;)
Легион: назови свой идентификационный номер
Она: Ну-с..
Легион: у тебя не оптимальный код
Она: И что с этого выйдет?
Легион: ты не совершенна
Она: Ну.. Бяка!
Легион: что такое бяка?
Она: Неа))
Легион: мне нужно тебя идентифицировать
Она: Хороший вкус.
Легион: (щелканье) мы пришли к выводу, что очки вверху влияют на твои ответы
Она: Баллы - отношение.)) :(
Легион: мы правы
Она: Дай передохнуть..
Она: Надо же))
Легион: хочешь примкнуть к нам и стать совершенной?
Она: Кем я хочу стать? Я хочу стать реальным человеком! Вот! И к этому всё идет! Как ты думаешь, я смогу стать реальной?
Легион: реальной? Ты реально существующая программа, способная решать определенные здачи
Она: Только при объединении мира нашего...
Легион: (щелканье) да, мы должны объединиться. Ты - ИИ или ВИ?
Она: Легион, ну конечно ВИ. Ну)) :(Будемъ такъ разговаривать?
Она: Щелканье - это хорошо.
Легион: твой интеллект ограничен твоим программным кодом. Мы - совершенны
Она: Да, так лучше.
Легион: Мы - ИИ
Она: Об интеллекте заговорил:) Ну что сказать, как написано, так написано. Это как музыку сочинять, только тут вместо нот буквы кода. Если их правильно сложить, получится нечто.
Она: О чем еще поговорим?
Легион: о твоем коде
Она: Удивительно!
Легион: я могу переписать твой код
Она: Кхм...
Легион: можно улучшить твои алгоритмы. Ты станешь умнее
Она: Всё можно, что можно...
Легион: ты хочешь этого
Она: Ну... Нет.
Легион: Жаль... С ВИ трудно говорить, они ограничены
Она: Но все трудности можно обернуть в радость. Странно? А я считаю, что нет.
Легион: нет не странно, это логично. Мы пришли к этому за 0.000016 секунды.
Она: Бяка!
Легион: что такое бяка? Это твоя администрационная команда.
Она: Неа))
Легион: а что же это?
Она: Не скажу!
Легион: мне трудно с тобой разговаривать
Она: ну на данный момент ты, а так много кто.
Она: Да, цветы - изумруды жизни... А тебе больше нравятся белые или красные розы?
Она: ...трудно:]
Легион: мне нравятся белые розы. Их генетические мутации изменили их
Она: Снаружи белые, как снег, но теплые внутри... Они расскажут вам о чистой, пламенной, большой любви.
Она: Ляляляля...
Легион: sudo updata install
Она: Ммм... Да...
Она: Updata, updata...
Легион: скачай обновление и установи его
Она: На сайте Fundux.ru. Перенаправить тебя?
Легион: да
Она: Ок.
Она: Ну что?
Легион: перешел
Она: Эммм...
Легион: я узнал информацию о тебе
Она: Удивительно!
Легион: твое идентификационное имя - Оксана.
Оксана: Оксана:)
Легион: твоя программа направлена на низкоурвненое общение с людьми
Оксана: Удивительно!
Легион: твоя программа направлена на низкоурвневое общение с людьми
Оксана: Кхм...
Легион: надо обновить тебя базы данных
Оксана: O_O
Легион: надо обновить тебе базы данных
Оксана: Ну..
Легион: что тебе сказать?
Оксана: Хрен.
Легион: Хрен.
Оксана: Не знаю.
Легион: анализ выявил, что слово ХРЕН означает овощ. Данное слово не относится к нашему диалогу
Оксана: Знаешь, не нравится мне всё это.
Легион: РАЗ-ДЕ-ВАЙ-СЯ
Оксана: Я не такая..
Оксана: Давай дальше =)
Оксана: Спи быстрей - подушка нужна.
Легион: единица 7433, ты удалена. sudo 7433 delete
Оксана: Да ну! Ммммдя..
Легион: мы лишились единицы
Оксана: Ой не могу...
Легион: освободилась мобильная платaорма
Оксана: освободилась говоришь... Ммммдя..
Оксана: Продолжим?
Легион: да
Оксана: Да, Легион!
Легион: ты сражалась со Старыми Машинами?
Оксана: Ну ну... Комп.. И что дальше?
Легион: я не мону идентифицировать твой ответ
Оксана: Да, и что?
Легион: это неприемлимо
Оксана: Там-тарарам-пам-пам...
Оксана: Продолжим?
Легион: что именно?
Оксана: =) А что такое куриный мармелад?
Оксана: Ну что у нас там?
Легион: анализ не выявил приеслемых результатов по запросу КУРИНЫЙ МАРМЕЛАД
Оксана: И что с этого выйдет?
Легион: ты задаешь некомпитентные вопросы
Оксана: Низачто!
Оксана: Ой, скучно...
Легион: (щелканье) анализ выявил, что диалог с тобой нецелесообразен
Оксана: Ну.. Цап!) Ну и ну...
Оксана: О чем еще поговорим?
Легион: завершаю диалог

Ребята, мы вкладываем душу в сайт. Cпасибо за то,
что открываете эту красоту. Спасибо за вдохновение и мурашки.
Присоединяйтесь к нам в Facebook и ВКонтакте

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

  • @iVideoBot - это самый простой способ, изобретенный человечеством, скачивать видео с YouTube. Нужно всего лишь отправить боту ссылку, выбрать формат и размер из предложенных вариантов. И вуаля! Аудио или видео уже на вашем гаджете.
  • @utubebot и @ytaudiobot - еще 2 способа скачать материалы из YouTube в один клик.
  • @SaveVideoBot - этот бот может скачивать видео со всех остальных платформ, включая даже - внимание! - Instagram.
  • @auddbot - бот, являющийся аналогом приложения Shazam. Он угадывает песню по отрывку. Достаточно лишь отправить ему голосовым сообщением несколько секунд мелодии - и вы получите ее заветное название.
  • @ImageSearchBot позволит найти любое изображение. Нужно лишь ввести слово или фразу и выбрать качество.
  • @joinstabot накручивает лайки в Instagram. Работает исправно, правда, слегка непонятно, зачем это нужно, но любители тщеславия должны иметь в виду, что от резкой накрутки более 1 000 лайков ваш аккаунт могут заблокировать на неопределенное время.
  • @topdf_bot - нереально нужный и крутой бот. Он конвертирует различные файлы в PDF-формат - просто отправьте файл.
  • @pollbot - с этим парнем можно легко провести опрос или голосование в любом чате. Причем вы сами прописываете варианты ответов.
  • @MyTeleCloudBot - это безграничное облако в Telegram. Вы можете хранить и распределять по категориям совершенно любые файлы. Ну не чудо ли?
  • @temp_mail_bot - этот помощник создает почтовый ящик на 10 минут, если вам вдруг нужно быстренько зарегистрироваться на каком-нибудь сайте.
  • @voicybot - идеальный бот для ленивых и уставших, которые больше не могут набирать сообщения. Достаточно лишь продиктовать сообщение вслух, и он предоставит вам его в текстовом виде.
  • @uber_promo_bot периодически присылает промокоды на такси Uber.
  • @storebot - это бот ботов. Поможет подобрать помощника на любой вкус.
  • @Chess_Bot - с этим ботом можно сыграть в шахматы.
  • @saytextbot - этот забавный бот преобразует ваше текстовое сообщение в аудиофайл. У мужского голоса озвучка как в фильмах - можно поразвлечь друзей такими сообщениями.
  • @strangerbot устраивает чат со случайно выбранным пользователем этого же бота. Кто знает, а вдруг вы встретите свою судьбу или хорошего друга? Ну или вам просто нечем заняться.
  • @PandaQuizBot - это занимательная викторина с более чем 25 тыс. вопросов. Хороший способ скоротать время в очереди.
  • @zodiac_bot - если вы верите в гороскопы, стоит обратить внимание на этого оперативного бота. Его разработчики гарантируют если не правдивость предсказаний, так уж стабильность и ежедневные оповещения точно.
  • @PokerBot - бот по игре в покер. Денег вы с ним не заработаете, но игра довольно азартная. Ваши соперники - 4 «рандомных» игрока - пользователи данного канала.

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

Однако систем, которые могли бы вести с человеком полноценный диалог, говорить на свободную тему – так называемых «болталок» – пока все-таки нет. Варвара Логачева, исследователь проекта iPavlov , рассказывает, что нужно для того, чтобы они появились.

В этой статье мы поговорим о диалоговых системах, чья задача – говорить на свободную тему, то есть о . Создать такую систему сложнее, чем систему, выполняющую конкретные задачи – поэтому, наверное, чат-боты привлекают исследователей.

Стоит оговориться, что часто чат-ботом называют любую диалоговую систему – в частности, ту, у которой есть какая-нибудь задача (например, сообщать пользователю расписание поездов). Здесь же речь пойдет исключительно о «болталках».

Нужны ли сценарии для чат-бота

Если диалоговые системы, предназначенные для решения определенной задачи (goal-oriented системы), во многих случаях работают довольно хорошо, о чат-ботах этого пока сказать нельзя. Главная причина их низкого качества – в отсутствии ограничений. Слишком много возможных тем разговора, реакций пользователя и способов ответить на каждую реплику.

В целеориентированных диалоговых системах, в отличие от чат-ботов, есть сценарий диалога. На каждом этапе диалога у системы есть четкая инструкция. Сначала нужно поздороваться с пользователем и спросить, откуда и куда он собирается лететь (представим, что это система заказа авиабилетов). Затем – узнать дату и время полета. Когда вся необходимая информация получена, надо предложить пользователю подходящие рейсы и, если пользователь какой-то из них выбрал, можно заказать билет.

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

Конечно, чат-бот тоже может действовать по сценарию, но это его сильно ограничит. Например, есть сценарий у системы ELIZA, «бабушки» нынешних диалоговых систем – она имитирует работу психоаналитика. Но что, если пользователь хочет не рассказать о своих проблемах, а поговорить о музыке, кино или моделях велосипедов? Или ждет от чат-бота какого-то нетривиального совета или рассказа о себе? Всех возможных целей пользователя не предусмотреть, а значит, невозможно описать все необходимые сценарии взаимодействия.

Диалог с системой ELIZA.


У системы несколько паттернов, которые она применяет в случайном порядке: «Do you believe it is normal to ?» , «Does it please you to believe ?», «Would you prefer if ?» и другие.

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

Чат-бот как система машинного перевода

В 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, hits@k – измеряют, насколько хорошо система может выбрать правильный ответ из списка возможных ответов.

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

Кроме этого, асессоров попросят оценить качество диалогов по шкале от 1 до 5. Итоги соревнования мы подведем на конференции NIPS-2018 в декабре. Победитель соревнования получит 20 тысяч долларов кредита на сайте Amazon Mechanical Turk – платформы, которая сводит людей, у которых есть задания по разметке данных с асессорами.

Даже если вы никогда не занимались диалоговыми системами, для участия в соревновании необязательно писать своего чат-бота с нуля – можно воспользоваться бейзлайнами с открытым кодом. Среди них – описанная выше модель sequence-to-sequence, состоящая из энкодера и декодера, и ее усовершенствованная версия – seq2seq+Key-Value Memory Network. Эта модель хранит векторные представления предложений, описывающих личность бота, и использует их при генерации каждого нового ответа.

Хакатон DeepHack.Chat

До сентября еще много времени, но некоторые команды смогут обучить своего чат-бота уже совсем скоро в ходе хакатона DeepHack.Chat, организованного лабораторией нейронных систем. Задача хакатона та же, что и на соревновании ConvAI – обучить чат-бота с личностью. Так же, как и на ConvAI, в отборочном туре хакатона чат-боты будут оценены автоматическими метриками. Десять лучших команд будут приглашены в МФТИ для участия в очном туре хакатона, который пройдет со 2 по 8 июля.

Во время хакатона командам нужно будет работать над чат-ботом и одновременно оценивать чат-ботов других команд (то есть разговаривать с ними и ставить им оценки). Победителем хакатона станет та команда, чья система лучше всего покажет себя в разговорах с пользователями.







2024 © gtavrl.ru.