Искусственный интеллект ищет друзей

Всем привет! Вот уже почти 4 года я занимаюсь разработкой и обучением нейронных сетей. Сейчас в команде уже 6 человек, некоторые живут не в России, но костяк находится в Москве, так что наше ПО можно считать российским. Поэтому и чатбот, которого мы разработали, говорит по русски. вот пример диалога с роботом:

Искусственный интеллект ищет друзей Искусственный интеллект, Чат-бот, Виртуальный ассистент, Тест Тьюринга, Длиннопост

На мой взгляд, довольно тяжело отличить его ответы, от диалога с живым человеком.


Подробнее

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

Искусственный интеллект ищет друзей Искусственный интеллект, Чат-бот, Виртуальный ассистент, Тест Тьюринга, Длиннопост

Понятно, что если вы напишите нечто вроде "лдаолпр" робот вас не поймет. Но справедливости ради, человек это тоже прочитать не сможет.


Потом готовое предложение, прошедшее через анализатор и исправленное, передается обученной нейросети. Тут и происходит основная "магия": сетка составляет в процессе обучения слова в специальную базу знаний, которую также можно редактировать вручную. Эту идею мы позаимствовали у Cyc (слово английское, читается Сайк), как и их синтаксис, выглядит запись примерно так:


(#$isa #$Путин #$Президент России) \;


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


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


Кроме того, он помнит контекст, если вы в начале беседы скажете, что купили красную машину, а потом сообщите, что ваша машина синяя, робот может спросить: "Так у тебя 2 машины?"


Что мы собираемся с этим делать?

Сейчас этот робот довольно бесполезная приблуда, он умеет вести диалог с пользователем, но этого мало. Мы хотим сделать свой аналог Siri и ему подобных электронных помощников. Только с более прокачанным пониманием естественного языка. Наша цель - создать робота, с которым вы сможете общаться как с живым человеком, а также просить его выполнять различные поручения, отвечать за вас на письма и сообщения, и все в таком духе. Он даже сможет копировать ваш стиль общения и, например, поздравлять всех 2000 друзей в соцсетях (или сколько у вас там) с днями рождения или еще какими праздниками. Будет помнить ваше расписание, и если вы едите пиццу по четвергам - сам договорится о доставке к вашему приходу с работы. Ну и все в таком духе.


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


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


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


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


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

Вы смотрите срез комментариев. Показать все
385
Автор поста оценил этот комментарий

Не клеится у меня диалог с искусственным интеллектом, а я надеялся

Иллюстрация к комментарию
раскрыть ветку (16)
491
Автор поста оценил этот комментарий
нейросеть отказывается общаться с нейросетью. интересно.
раскрыть ветку (3)
43
DELETED
Автор поста оценил этот комментарий

Ботов легко вычислить если совершать осознанные ошибки в предложениях

раскрыть ветку (1)
29
Автор поста оценил этот комментарий

А я думаю, хули так безграмотных много. А они ботов вычисляют)

Автор поста оценил этот комментарий

Машинное обучение потерпело фиаско)

106
Автор поста оценил этот комментарий
Он догадывается
Иллюстрация к комментарию
15
Автор поста оценил этот комментарий
Нейросеть не может общаться с нейросетью?
98
DELETED
Автор поста оценил этот комментарий

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

Чатбот (возможно): а, бля, это опять ты?

Чатбот (возможно): это опять я

Я: что делает Л4РЕВЕР?

Чатбот (возможно): либо вас дохуя таких умных

Чатбот (возможно): в душЕ не ебу что это

Я: ясно

Я: бот

Я: а Л4РЕВЕР так меня и не простил за то что я его ебанутым назвал

Я: ну он ебанутый

Я: но я уже извинился

Я: а ему похуй

Я: (((

Я: плак-плак

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

Собеседник отключился

Системное сообщение: Считаете ли вы, что предыдущий собеседник был роботом?

Я: да

Спасибо за ответ

раскрыть ветку (4)
107
Автор поста оценил этот комментарий
Там было много народу с яп, они не обязаны знать л4ревера. Прикопался бы он к тебе со своей, непонятной тебе дичью, ты бы тоже сбежал.
раскрыть ветку (3)
9
Автор поста оценил этот комментарий
Вообще не в курсе кто такой/что такое "л4ревера". Видимо я тоже бот.
раскрыть ветку (2)
37
DELETED
Автор поста оценил этот комментарий

Ты написал в его ветке

#comment_94748379

раскрыть ветку (1)
24
Автор поста оценил этот комментарий

Вот это поворот))

10
Автор поста оценил этот комментарий
Но прикол в том что она знает про тебя
9
Автор поста оценил этот комментарий
Последний был человек)
6
Автор поста оценил этот комментарий
Хех, а он же тебя затролил
3
Автор поста оценил этот комментарий
Да ладно, он выкупил тебя последним ответом) ты не прошел тест . Ты робот)))
3
Автор поста оценил этот комментарий
Ой, там есть моя фраза, это так приятно
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку