Авторская система Искусственного Интеллекта в ZennoPoster на примере чат бот автоответчика WhatsApp

Z_Studios

Client
Регистрация
24.10.2014
Сообщения
127
Благодарностей
121
Баллы
43
56514


Здравствуйте дорогие читатели!

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

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

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

Принцип построения системы ИИ (Искусственный Интеллект).

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

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

Что это значит?

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

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

Давайте рассмотрим небольшой пример на практике, как это выглядит.

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

Казалось бы все просто, пиши «Привет» на любое первое входящее, но наш шаблон должен давать ответ более человечный.

В шаблоне примере, который будет вести общение через WhatsApp, все правила ИИ загружаются из текстового файла ai_config.csv , где в самом начале мы размещаем сложные Regex.

ai_config.csv:
приветик, как твое самочувствие|хай, как твое самочувствие|привет, как твое самочувствие|здарова, как твое самочувствие|привет, как твое самочувствие;{Здравствуйте|Здравствуйте!|Здравствуйте.|Хай|Привет|Здарова|Приветик|Хай.|Привет.|Здарова.|Приветик.|Хай!|Привет!|Здарова!|Приветик!} Очень хорошее, а у тебя?
хай, можно с тобой познакомиться|здарова, можно с тобой познакомиться|приветик, можно с тобой познакомиться|привет, можно с тобой познакомиться;{Здравствуйте|Здравствуйте!|Здравствуйте.|Хай|Привет|Здарова|Приветик|Хай.|Привет.|Здарова.|Приветик.|Хай!|Привет!|Здарова!|Приветик!} Конечно можно, давай знакомиться.
хай, как дела|привет, как дела|здарова, как дела|привет, как дела|приветик, как дела;{Здравствуйте|Здравствуйте!|Здравствуйте.|Хай|Привет|Здарова|Приветик|Хай.|Привет.|Здарова.|Приветик.|Хай!|Привет!|Здарова!|Приветик!} Дела отличные, а твои?
хай, ищешь себе парня|привет, ищешь себе парня|здарова, ищешь себе парня|приветик, ищешь себе парня;{Здравствуйте|Здравствуйте!|Здравствуйте.|Хай|Привет|Здарова|Приветик|Хай.|Привет.|Здарова.|Приветик.|Хай!|Привет!|Здарова!|Приветик!} Возможно да, еще не определилась)
хай, ты вк сидишь|привет, ты вк сидишь|здарова, ты вк сидишь|приветик, ты вк сидишь;{Здравствуйте|Здравствуйте!|Здравствуйте.|Хай|Привет|Здарова|Приветик|Хай.|Привет.|Здарова.|Приветик.|Хай!|Привет!|Здарова!|Приветик!} Сижу иногда, бывает, а что?
хай, ты очень красивая|привет, ты очень красивая|здарова, ты очень красивая|приветик, ты очень красивая;{Здравствуйте|Здравствуйте!|Здравствуйте.|Хай|Привет|Здарова|Приветик|Хай.|Привет.|Здарова.|Приветик.|Хай!|Привет!|Здарова!|Приветик!} Ой спасибочки, ты тоже ничего)
хай, ты откуда|привет, ты откуда|здарова, ты откуда|приветик, ты откуда;{Здравствуйте|Здравствуйте!|Здравствуйте.|Хай|Привет|Здарова|Приветик|Хай.|Привет.|Здарова.|Приветик.|Хай!|Привет!|Здарова!|Приветик!} Я с очень красивого города, откуда точно сразу не скажу))
хай, что делаешь|привет, что делаешь|здарова, что делаешь|приветик, что делаешь;{Здравствуйте|Здравствуйте!|Здравствуйте.|Хай|Привет|Здарова|Приветик|Хай.|Привет.|Здарова.|Приветик.|Хай!|Привет!|Здарова!|Приветик!} {Скучаю)|Пью чай)|Читаю инсту)|Смотрю вк)}
как твое самочувствие;Очень хорошее, а у тебя?
можно с тобой познакомиться;Конечно можно, давай знакомиться.
как дела;Дела отличные, а твои?
ищешь себе парня;Возможно да, еще не определилась))
ты вк сидишь;Сижу иногда, бывает, а что?
ты очень красивая;Ой спасибочки, ты тоже ничего))
ты откуда;Я с очень красивого города, откуда точно сразу не скажу)
что делаешь;{Скучаю)|Пью чай)|Читаю инсту)|Смотрю вк)}
Хай|Привет|Здарова|Приветик;{Здравствуйте|Здравствуйте!|Здравствуйте.|Хай|Привет|Здарова|Приветик|Хай.|Привет.|Здарова.|Приветик.|Хай!|Привет!|Здарова!|Приветик!}
давай свою инсту|хочу твою инсту|кидай свою инсту|скинь свою инсту|скидывай свою инсту;Лови) https://www.instagram.com/iostergren/

Сложным регулярным выражением в данном случае считается правило Regex, с более длинными текстами, с использованием логических операторов (например «|») и большим количеством вариантов для распознавания.

Формат каждой строки правила распознавания:

Регулярное выражение ; Ответ(с использованием Spintax)

Как работает шаблон.

В начале заносим номер WhatsApp во входящие настройки, жмем ок и запускаем.

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

Далее сохраняем профиль номера для дальнейшего использования.

После чего ожидаем новое сообщение.

Если сообщение пришло, читаем номер абонента, читаем сообщение абонента.

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

Обучение ИИ.

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

Видео обзор шаблона WhatsApp_ai_bot



В приложении шаблон WhatsApp_ai_bot и файл ai_config.csv с примером настроек ИИ для первых касаний с абонентом.

Пример работы данного шаблона и приложенного конфигурационного файла можно посмотреть на номере wa.me/79193899766

56515
 

Вложения

Последнее редактирование модератором:
Регистрация
08.07.2015
Сообщения
2 854
Благодарностей
705
Баллы
113
интересный подход, спасибо автору за статью!
ИИ на регулярках, неплохо!
 
  • Спасибо
Реакции: Juniorcpa и Z_Studios

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 217
Благодарностей
209
Баллы
63
Еще в темах с продажей ваших шабов отслеживал ваш необычный подход к работе, сейчас понял чуть лучше как вы это деаете) спасибо за статью!
 
  • Спасибо
Реакции: Z_Studios

vrska

Client
Регистрация
07.02.2010
Сообщения
504
Благодарностей
328
Баллы
63
Кликбейт. Где ИИ и машинное обучение? Всё на регулярках и ручных правках. (facepalm)

Update
Плохо прочел название темы. Это авторский ИИ *HAHA*
 
Последнее редактирование:

Z_Studios

Client
Регистрация
24.10.2014
Сообщения
127
Благодарностей
121
Баллы
43
Кликбейт. Где ИИ и машинное обучение? Всё на регулярказ и ручных правках. (facepalm)

Update
Плохо прочел название темы. Это авторский ИИ *HAHA*
Машинное обучение? Вы серьезно? Можете предложить логический вариант, где программа сама решит что отвечать на неизвестный входящий текст?
 
  • Спасибо
Реакции: dsertr21

vrska

Client
Регистрация
07.02.2010
Сообщения
504
Благодарностей
328
Баллы
63
Машинное обучение? Вы серьезно? Можете предложить логический вариант, где программа сама решит что отвечать на неизвестный входящий текст?
Про бота в твиттере который стал расистом обучаясь на твитах не слышал?
https://habr.com/ru/news/t/392113/

Раз это интелект значит он обучается. Логично? Логично!
То, что ты называешь ИИ на самоме деле является парсером текста по маске, который отдает заранее заготовленный ответ.
Название темы слишком громкое для такого скудного функционала
 

radv

Client
Регистрация
11.05.2015
Сообщения
1 098
Благодарностей
548
Баллы
113
Где ИИ и машинное обучение? Всё на регулярках и ручных правках. (facepalm)
В процессе работы можно набирать базу ответов и делать более сложную логику ответов на входящие вопросы. Это можно применять и для улучшения спинтакса.
Может название и более громкое, но если придираться, то это можно и ко всем конкурсным статьям применить. :-)
Если уж взялись критиковать, и есть чем дополнить или сделать лучше исходя из личного опыта, то напишите свою статью и/или поделитесь информацией :az:
 
Последнее редактирование:

vrska

Client
Регистрация
07.02.2010
Сообщения
504
Благодарностей
328
Баллы
63
Когда я заходил в эту тему я ожидал увидеть какие-то решения в плане ии.
Например сбор данных, анализ тональности текста, нейронные сети.
А здесь нет даже определения языка.

Название темы должны быть "Простейший WhatsApp автоответчик через веб". Не надо бросать пыль в глаза пользователей форума.
 
Последнее редактирование:

sergio197675

Client
Регистрация
21.09.2019
Сообщения
150
Благодарностей
129
Баллы
43
Автору спасибо за труд , тоже писал автоответчики на кубиках (повторил\спарсил "бробота") но со временем перешёл на сторонние "сервисы" с реальным ИИ....)
 
  • Спасибо
Реакции: Z_Studios и Koqpe

Nike59

Client
Регистрация
05.08.2011
Сообщения
118
Благодарностей
111
Баллы
43
Отличный подход. В двух смыслах. Отличный от других, причем в сторону снижения порога входа, и отличный в качестве оценки!
 

sergio197675

Client
Регистрация
21.09.2019
Сообщения
150
Благодарностей
129
Баллы
43

sambukanuka

Client
Регистрация
17.09.2019
Сообщения
190
Благодарностей
49
Баллы
28
На Андройд был бот автоответчик, загружаешь туда фразы и он отвечает. А каких нет потом просто дописываешь) то есть обучаешь. давно искал решение Но никто толком не знает как это реализовать. Теперь смогу этим воспользоваться) спасибо за шаблон.
 
  • Спасибо
Реакции: Z_Studios

Z_Studios

Client
Регистрация
24.10.2014
Сообщения
127
Благодарностей
121
Баллы
43
Про бота в твиттере который стал расистом обучаясь на твитах не слышал?
https://habr.com/ru/news/t/392113/

Раз это интелект значит он обучается. Логично? Логично!
То, что ты называешь ИИ на самоме деле является парсером текста по маске, который отдает заранее заготовленный ответ.
Название темы слишком громкое для такого скудного функционала
Вы явно любитель фантастики мой друг. И верить во все написанное тоже не стоит.
Как человек, который написал более тысячи программ для автоматизации человеко-действий, могу добавить, что лучшая практика, когда человек по простым правилам обучает машину (программу).
И если выше в комментариях вы видите негатив по И.И., то задайтесь вопросом, какой на данный момент у нас есть инструмент, для обработки входящего текста?
Сейчас вижу только кубик Regex, есть другие варианты нашего времени?
Силу этого кубика надо понимать, регулярные выражения не из простых занятий, но если следовать основному постулату, получится хороший, человеческий бот, который будет давать результат.
Поймите господа, все гениальное просто!
А надеяться что машина (кто то за вас, по взмаху палочки) составит правила ИИ, начнет как то обучаться (во первых не контролируемо, во вторых такая система, которая сможет обучать, должна быть в разы сложней, что я предложил ), явно выйдет из под контроля, и не принесет прогнозируемый доход.

Давайте не будем уходить в фантастику, каждый должен понимать, любая сложная логика должна прийти к бинарному решению, и в этом вся суть программного процесса.
 
  • Спасибо
Реакции: rusden и Nike59

vrska

Client
Регистрация
07.02.2010
Сообщения
504
Благодарностей
328
Баллы
63
Я поражен, что вы написали тысячи программ автоматизации человеко-действий, используя свой авторский подход, и я уверен, что вы написали бы в сотни раз больше, если бы регулярки технологии не уперлись в потолок.
Я далеко не эксперт в нейронных сетях. Мои навыки программирования на уровне джуна от джуна.
Но я мастер-джедай в плане составления запросов в гугле.
Нейронные сети и обработка текста
 

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 217
Благодарностей
209
Баллы
63
Я поражен, что вы написали тысячи программ автоматизации человеко-действий, используя свой авторский подход, и я уверен, что вы написали бы в сотни раз больше, если бы регулярки технологии не уперлись в потолок.
Я далеко не эксперт в нейронных сетях. Мои навыки программирования на уровне джуна от джуна.
Но я мастер-джедай в плане составления запросов в гугле.
Нейронные сети и обработка текста
Для непосвященных, какой вывод вы делаете? Что лучше нейронку строить?
 

Z_Studios

Client
Регистрация
24.10.2014
Сообщения
127
Благодарностей
121
Баллы
43
Я поражен, что вы написали тысячи программ автоматизации человеко-действий, используя свой авторский подход, и я уверен, что вы написали бы в сотни раз больше, если бы регулярки технологии не уперлись в потолок.
Я далеко не эксперт в нейронных сетях. Мои навыки программирования на уровне джуна от джуна.
Но я мастер-джедай в плане составления запросов в гугле.
Нейронные сети и обработка текста
Хорошо уже скромничать.
Нейронные сети еще сложней вариант и менее прозрачный, что напрямую повлияет на контроль качества ответов.
В нашем случае мы сами определяем приоритет, по которому срабатывают правила.
И как показывает практика, проще всего сгруппировать входящую информацию от абонентов по секторам и назначить им релевантные ответы.
Это будет работать строго, контролируемо и с ожидаемым результатом.
Сейчас на номер с примером бота активно пишут и уже копится информация для будущих правил, если интересно, файл прилагаю.
 

Вложения

ZennoLab Team

Super Moderator
Команда форума
Регистрация
22.01.2019
Сообщения
291
Благодарностей
1 202
Баллы
93
Добавлено новое видео (см. внизу статьи)
 

Sokol

Client
Регистрация
20.01.2020
Сообщения
22
Благодарностей
3
Баллы
3
А почему система авторская? Это обычный, наиболее логичный и быстрый подход к реализации. У которого куча минусов при масштабировании. Я ничего не имею против, но слишком уж громкий заголовок.
 

Z_Studios

Client
Регистрация
24.10.2014
Сообщения
127
Благодарностей
121
Баллы
43
А почему система авторская? Это обычный, наиболее логичный и быстрый подход к реализации. У которого куча минусов при масштабировании. Я ничего не имею против, но слишком уж громкий заголовок.
Потому что применен системный подход, с элементом обучения ИИ, авторство которого оставляю за собой.

Расскажите пожалуйста, какие вы видите минусы при масштабировании, и что вы имеете ввиду под масштабированием?
 

sambukanuka

Client
Регистрация
17.09.2019
Сообщения
190
Благодарностей
49
Баллы
28
Не совсем понял, возможно ли ограничить число ответов? То есть отвечать 8-10 раз а потом готовый текст?
 

Z_Studios

Client
Регистрация
24.10.2014
Сообщения
127
Благодарностей
121
Баллы
43
Не совсем понял, возможно ли ограничить число ответов? То есть отвечать 8-10 раз а потом готовый текст?
Конкретно в данном шаблоне примере, число ответов ограничено количеством правил ИИ.
Если ни одно из правил не подошло, то бот отвечать не будет, только запишет входящее сообщение в файл ai_not_supported_sms.txt и перейдет в исходное состояние.
 
  • Спасибо
Реакции: sambukanuka

daymos

Client
Регистрация
11.11.2009
Сообщения
781
Благодарностей
220
Баллы
43
Это какой-то прикол? Или я не догнал. Или автор прикалывается над читателями или читатели прикалываются над автором.
Под обучением ИИ Вы имеете ввиду занесение новых конструкций ответа и масок вручную?
Под системным подходом имеете ввиду что будете постоянно этим заниматься?
Под авторством что вообще понимать?
 

vrska

Client
Регистрация
07.02.2010
Сообщения
504
Благодарностей
328
Баллы
63
Это какой-то прикол? Или я не догнал. Или автор прикалывается над читателями или читатели прикалываются над автором.
Под обучением ИИ Вы имеете ввиду занесение новых конструкций ответа и масок вручную?
Под системным подходом имеете ввиду что будете постоянно этим заниматься?
Под авторством что вообще понимать?
Не гони на ТСа, он инноватор, первым изобрел способ парсить текст регулярками.
Если ему нравится считать, что до него этого никто не делал, чтож, пусть будет так
 
  • Спасибо
Реакции: molotok

Juniorcpa

Client
Регистрация
27.05.2014
Сообщения
1 701
Благодарностей
875
Баллы
113
Не гони на ТСа, он инноватор, первым изобрел способ парсить текст регулярками.
Если ему нравится считать, что до него этого никто не делал, чтож, пусть будет так
ЭТО ШЕДЕВР. Я ВСЕГДА ЗНАЛ ЧТО ИИ СУЩЕСТВУЕТ И РЕГУЛЯРКА ЭТО ИИ. ТЫ НИЧЕГО НЕ ПОНИМАЕШЬ. Я ОТДАЛ СВОЙ ГОЛОС ЗА АВТОРА.
 

Z_Studios

Client
Регистрация
24.10.2014
Сообщения
127
Благодарностей
121
Баллы
43
Это какой-то прикол? Или я не догнал. Или автор прикалывается над читателями или читатели прикалываются над автором.
Под обучением ИИ Вы имеете ввиду занесение новых конструкций ответа и масок вручную?
Под системным подходом имеете ввиду что будете постоянно этим заниматься?
Под авторством что вообще понимать?
Система ИИ заключается в главном постулате:

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

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

Juniorcpa

Client
Регистрация
27.05.2014
Сообщения
1 701
Благодарностей
875
Баллы
113
Система ИИ заключается в главном постулате:

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

Кубик Regex это вспомогательный инструмент для конкретного примера. На его месте может быть любой и более сложный код.
Идея была в том, чтобы показать, как легко и прозрачно создать чат бота способного отвечать как человек.
На практике очень хорошо работает данный метод и не требует специфический знаний.
Хотя бы добавить проверку не по целым словам, а по словам с ошибками или отличающимися одной\двумя буквами. Не знаю как это реализовать, но вот пример:
Привет|Привет, как дела?;Салют;Хай

Если жертва напишет привет, получит ответ из трёх представленных выше, но если жертва напишет "Превет", то ответа не последует. Вот это уже больше похоже на какое-то прям ИИ, но это вообще реально?)
 

Anno

Client
Регистрация
18.09.2017
Сообщения
8
Благодарностей
0
Баллы
1
Автору спасибо за труд , тоже писал автоответчики на кубиках (повторил\спарсил "бробота") но со временем перешёл на сторонние "сервисы" с реальным ИИ....)
что за сервисы с реальным ИИ?
 

Max

Client
Регистрация
17.06.2012
Сообщения
166
Благодарностей
32
Баллы
28
гайсы ии - это почти тот же подход только с весами. по сути если ответы у тс поддерживали бы вложенность было бы одно и тоже.
а так боты должны
- определять язык - уже есть куча либ
- определять тему - те intent уже есть наборы
- определять настроение или характеристику ответа. те грубый/положительный/хороший и тд
ну те бот делает свое дело и делает... а вот реальные примеры настоящих нейронок с зенкой в продакшене и на практике было бы прикольно посмотреть... те кроме конечно каптч и ботов аля вопрос/ответ - что-то поинтереснее.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)