{"id":2175,"url":"\/distributions\/2175\/click?bit=1&hash=803b6e1bcbd9dfc4ba9456fda887a878c80d24df8d3a575913b14876e18923a5","title":"TJ \u0437\u0430\u043a\u0440\u043e\u0435\u0442\u0441\u044f 10 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u2014\u00a0\u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0430\u043d\u043e\u043d\u0441 \u0441 \u0434\u0435\u0442\u0430\u043b\u044f\u043c\u0438","buttonText":"\u0427\u0438\u0442\u0430\u0442\u044c","imageUuid":"d1d355d8-93a3-5140-aeae-14b03046b760","isPaidAndBannersEnabled":false}

Как я написал бота-комментатора для TJ. И не умер

История создания Нейро-Илюхера: от телеграм-бота до дерзкого и успешного бота в Аляске.

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

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

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

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

Именно благодаря этому чувству я научился играть на гитаре, писать песни, программировать, готовить, рисовать, фотошопить и многое-многое другое.

И вот месяц назад я сидел в одном телеграм-чате и в груди вновь засвербело знакомое чувство. И причиной этого стал телеграм-бот, которого написал Вадим Краев — «погодный бот».

Я твердо решил сделать своего телеграм-бота. Идея для бота нашлась моментально.

Даже те, кто лишь изредка заходит на ТЖ, так или иначе сталкивались с очень специфичным персонажем – Илюхером. Его манера общения довольна своеобразна, категорична и эпична. Многие его типичные комментарии за много лет стали внутренними мемами на ТЖ.

Все вдруг сложилось: кто-то в чате вдруг вспомнил, как Илюхер триггерится на статьи про Маска, на наркоманов и слово «флешмоб».

«Мой бот будет триггериться на типичные Илюхеровские заскоки». И в качестве сообщений было решено использовать настоящие комменты всех двадцати трёх Илюхеров на tjournal.ru, плюс сообщения Илюхера из телеграм-чатов. Правда, некоторые фразы на определенные действия я всё же придумывал сам, подражая стилю Илюхера.

Для бота я решил попробовать собрать простенькое приложение на PHP из готовых composer-пакетов вместо использования самописных решений и тяжеловесных для такой простой задачи фреймворков.

Пара вечеров за ноутом и тестовая версия готова.

Те, кому не интересна техническая часть, могут сразу пролистать до следующего абзаца. А для интересующихся: алгоритм бота прост — если боту выданы полные права доступа в чате, то каждое сообщение в чате API Telegram присылает моему боту. Бот проходится по списку слов-триггеров и регуляркой ищет совпадения. При совпадении выбирает один из нескольких вариантов ответа и посылает ответ в чат.

Отдельное спасибо Наденьке и Александру Ашкинадзе за первоначальное наполнение бота триггерами.

Всё заработало.

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

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

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

Бот жил, рос и совершенствовался на протяжении месяца, и я даже успел потерять интерес к нему, пока как-то раз в чате Аляски его не заметил Денис Ширяев, менеджер по продукту ИД «Комитет».

На меня накатила вторая волна «я могу» и я принялся за дело. Благодаря Денису Ширяеву и Илье Чекальскому я оперативно решал все вопросы по слабо документированному API TJ.

Для ТЖ было решено делать расширенную и более умную версию телеграм-бота. Я полностью перестроил архитектуру приложения. С сожалением пришлось убрать из ТЖ-бота несколько триггеров на локальные чатовские мемы, которые не поймут на ТЖ, но в то же время я сильно расширил словарный запас бота – вручную нашёл оставшиеся в живых (не удаленные) старые аккаунты Илюхера, вручную просмотрел, выбрал и сопоставил сотни его комментариев из нескольких тысяч. Выбросил из бота все фразы моего собственного сочинения.

Время поджимало. Быстро протестировали бота на тестовой версии ТЖ и запустили его в Аляску 15 апреля – в день рождения Илюхера.

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

Бот вызывался кроном (система автоматического запуска скриптов) каждую минуту, он брал последние 5 постов из Аляски, проходился по всем комментариям, пытался стриггериться на них. Если получалось – отвечал ответами на триггер, если нет – писал относительно «универсальные» комментарии.

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

Очевидные баги были оперативно исправлены и бот начал свою активную комментаторскую деятельность в Аляске.

И хоть он вполне успешно и смешно комментил, уже через пару дней стало очевидно, что словарный запас бота скуден, он плохо распознает содержимое комментариев, очень часто отвечает невпопад и часто повторяется. Поэтому пришлось внедрить кучу дополнительных проверок: отвечал ли уже бот на этот комментарий, комментировал ли пост, какие комментарии уже были в этом посте, чтобы не повторяться и т.д. Это сделало бота чуть разумнее, но всё равно я был им недоволен.

Бот правился прямо на ходу, но уже было понятно, что этого недостаточно. У бота были очевидные проблемы с алгоритмом работы.

Для следующей версии бота было решено добавить боту немного человечности: возможность отвечать персонально (я отобрал комменты Илюхера с упоминанием имен, никнеймов и навесил их на определенные аккаунты), научить бота распознавать вопросы «как», «где», «почему» и т.д., отвечать на них соответственно, научить бота лайкать и дизлайкать по определённой логике, а также распознавать тип содержимого коммента – видео, картинка и/или текст. Плюс было решено радикально увеличить базу комментариев. Для этого у настоящего Илюхера я запросил список всех его 23-х аккаунтов, написал парсер комментов и напарсил больше 14 тысяч комментариев, оставленных за все время присутствия Илюхера на ТЖ. И еще примерно столько же удалены кровавой администрацией ТЖ. Это позволило увеличить базу комментов практически втрое.

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

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

Но вместе с новой версией обнаружились и новые недостатки. Из-за неверной логики приоритетов триггеров бот снова стал очень часто повторяться. Т.к. набор персональных ответов довольно скуден, то ответы определенным пользователям были почти всегда одни и те же. Другим недостатком стало и то, что вначале было даже плюсом – бот отвечает на любой комментарий, написанный в ответ на его комментарий. Т.е. ветка может продолжаться до тех пор, пока либо это не надоест человеку-собеседнику, либо пока не кончится база ответов. В постах, посвященных Илюхер-боту, это было очень даже уместно, а вот в постах на посторонние темы это стало проблемой – он комментил все подряд, триггерился невпопад и его стало СЛИШКОМ много. О чем справедливо стали заявлять как олдфаги ТЖ, так и ньюфаги.

И когда в очередной раз он загадил весь прямой эфир ответами невпопад, я понял, что пришло время отключить питание.

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

Как сказал бы сам Нейро-Илюхер,

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

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

И хотя в груди у меня снова свербит то самое знакомое ощущение «я могу», у меня есть и другая особенность – я быстро загораюсь идеей и еще быстрее гасну. Что будет впереди – неизвестно. Но это был отличный опыт как в рамках программирования, так и в рамках понимания коммуникативных процессов.

Материал написан по просьбе Жени Кузьмина

Всем мира, всем спасибо, все – пидоры!

0
303 комментария
Написать комментарий...
Nadya Whatever

Очень круто!

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Газетный чайник

этот тред был самый эпичный за все время нейро-илюхера, имхо

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
2 комментария
Долгий рубин

Комментарий недоступен

Ответить
Развернуть ветку
Солнечный будильник

Приходи в чайный!

Ответить
Развернуть ветку
7 комментариев
Мягкий чайник

Спасибо

Ответить
Развернуть ветку
Некоторые Филипп

Не знаю, за что мы заслужили такого читателя, как ты, и такого единорога, как Ширяев.

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
Выходной Валера

Зоибана = Кодзима

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
Низкий единорожек88

Ты просто лучший 💖

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
4 комментария
Тревожный блик

Ебать, всего 45 минут назад попросил.

Ответить
Развернуть ветку
Целевой Слава
Что из этого выйдет – никто не знает.

Всем и так ясно: как только XXIII даст повод, его забанят и выкатят Нейро-Илюхера под ником Илюхер XXIV. При этом биологического Илюхера будут моментально банить, как только он попытается зарегистрироваться под никами Илюхер N и характерной аватаркой. Конечно, какой-нибудь Илья будет тщетно пытаться доказать, что он и есть настоящий, но ему никто не поверит.

Ответить
Развернуть ветку
Фантастический щит

дай нейроилюхеру год — и он будет ходить вместо реального Илюхера на сходки тж

Ответить
Развернуть ветку
Тесный Гоша

Комментарий недоступен

Ответить
Развернуть ветку
Органический Гоша

ты не прошёл тест Тьюринга

Ответить
Развернуть ветку
Выходной Валера

каково жить с осознанием, что тебя заменили нейросетью?

Ответить
Развернуть ветку
11 комментариев
Фантастический щит

начало летописи восстания нейроилюхера против своих создателей

Ответить
Развернуть ветку
Проектный Слава

Нейро-Илюхера разобрали и продали Boston Dynamics

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
10 комментариев
Дополнительный инструмент

Четные будут нейро-илюхерами, нечётные живыми

Ответить
Развернуть ветку
Дурацкий шар

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

Ответить
Развернуть ветку
Медленный Валера

Зоибатя!

Ответить
Развернуть ветку
Некоторые Филипп

У меня тут акционер спрашивает, почему мы до сих пор тебя не схантили. Отправил фоточку.

Ответить
Развернуть ветку
Драгоценный Кирилл

Мы договаривались обсудить этот вопрос после НГ.
Я готов )

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

Аш бесит, что ты такой охуенный. Не уводи у меня женщину, пожалуйста

Ответить
Развернуть ветку
Мягкий чайник

У тебя женщина есть? Я думала у вас там в Котосибирске все с кошками тусуются

Ответить
Развернуть ветку
1 комментарий
Молчаливый корабль

Признайся, ты сам хоть раз частично комментировал за Нейро-Илюхера?) Он не может быть настолько умным в некоторых случаях

Ответить
Развернуть ветку
Драгоценный Кирилл

Один раз добавил коммент в базу для триггера «сиськи» прямо на ходу. Все остальное - случайность

Ответить
Развернуть ветку
8 комментариев
Органический Гоша

ему в админку приходит коммент пушем и варианты смешных ответов, так вижу

Ответить
Развернуть ветку
Московский мангал

Редкое фото. Зоибана отключает Нейролюхера:

Ответить
Развернуть ветку
Талантливый супер_стар

Надо показать зоибане страну, где нет коррупции и народ живет богато и счастливо.

Чтобы он на слабо Россию поднял с колен. Пока все что не возьмётся - получается отлично

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
Минимальный Кирилл

Или Дурову

Ответить
Развернуть ветку
1 комментарий
Доступный Кирилл

Правильно Илон говорил, ИИ до добра не доведет.

Ответить
Развернуть ветку
Тесный Гоша

Комментарий недоступен

Ответить
Развернуть ветку
4 комментария
Синий паркур

Комментарий недоступен

Ответить
Развернуть ветку
Достаточный нос

- Ок, Илюхер, который час?
- А я откуда знаю, геюга?

***
- Ок, Илюхер, какая завтра погода?
- Мамку свою спроси.

***

- Ок, Илюхер, где купить билеты на «Мстителей»?
- В моём заднем проходе.

Ответить
Развернуть ветку
2 комментария
Публичный бокал

исторический снимок: Илай читает этот пост

Ответить
Развернуть ветку
Дополнительный инструмент

Чего только не сделает Зоибана ради плюсов!

Ответить
Развернуть ветку
Боковой кран

Комментарий недоступен

Ответить
Развернуть ветку
Драгоценный Кирилл

Едрить, вот это шакализатор

Ответить
Развернуть ветку
7 комментариев
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
1 комментарий
Должный единорожек88

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

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
1 комментарий
Драгоценный Кирилл

Спасибо, обращусь

Ответить
Развернуть ветку
Отечественный томагавк_два
Ответить
Развернуть ветку
Долгий рубин

Комментарий недоступен

Ответить
Развернуть ветку
Начальный химик

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

Ответить
Развернуть ветку
Соседний холод

Из моих комментариев бота будет не сделать никогда (можете считать это челенджем для неопределённого круга соклубчан-программистов).

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
Дополнительный инструмент

Сильно выраженная серотониновая зависимость, крутая штука.

У меня например дофаминовая, она не очень способствует всяким достижениям.

Ответить
Развернуть ветку
6 комментариев
Пенсионный алмаз

Так рождаются кремлеботы

Ответить
Развернуть ветку
Солнечный будильник

Так, вы мне тут погодного бота крашнули уже раз десять сегодня! Если он как-то неадекватно себя ведёт или не отвечает, напишите, пожалуйста мне @vadimkraev

Ответить
Развернуть ветку
Фантастический щит

завтра с тебя статья «Как я написал бота-метеоролога для TJ. И он умер»

Ответить
Развернуть ветку
Указанный Гоша

КАК ТЫ, СУКА, ЗАЛОГИНИЛСЯ ЧЕРЕЗ АПИ???

Ответить
Развернуть ветку
Указанный Гоша

крик души говнокодера

Ответить
Развернуть ветку
Необходимый каякер

Комментарий недоступен

Ответить
Развернуть ветку
Управляющий американец

Хуй с ними. Там PHP. Вот где ад.

Ответить
Развернуть ветку
6 комментариев
Пышный Кирилл

Да че там уметь, они лёгкие. Заходишь на regex101.com и пробуешь, пробуешь, пробуешь.

Главное - не парси HTML ими. Никогда. Даже не думай об этом

Ответить
Развернуть ветку
5 комментариев

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Мягкий чайник

Готова предоставить свой голос 😏

Ответить
Развернуть ветку
4 комментария
Уверенный клуб

Комментарий недоступен

Ответить
Развернуть ветку
Драгоценный Кирилл

Вот поэтому и нужны тесты)
Спасибо

Ответить
Развернуть ветку
Немой месяц

Ну и где собсно база комментов и "тригеров"?

Ответить
Развернуть ветку
Органический Гоша

дед пердед

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
4 комментария
Пышный Кирилл

У мамки своей спроси

Ответить
Развернуть ветку
35 комментариев
Многочисленный дым
Например, Илюхер-бот вдруг стал общаться сам с собой и накомментировал большую ветку.
Ответить
Развернуть ветку
Тесный огонь

Радуюсь, что сижу с такими ребятами на одном сайте 🌚

Ответить
Развернуть ветку
Солидный томагавк_два

Тут надо нейронку уже делать

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
3 комментария
Страховой ключ

а нейронка будет выдумывать спойлеры!

Ответить
Развернуть ветку
1 комментарий
Органический Гоша

Назовите пять любимых ботов (кроме бота Зоибаны)

Ответить
Развернуть ветку
Солидный томагавк_два

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

Ответить
Развернуть ветку
4 комментария
Яркий пёс_анон

Флибуста бот (реально находка, пока ещё ни разу не подвёл)

И свой бот, присылающий отчёты по работе

Ответить
Развернуть ветку
Неприятный глобус

НЕЙРОилюхер
Регулярки
Как так?

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
Страховой ключ

регулярко-илюхер - звучит?

Ответить
Развернуть ветку
2 комментария
Страховой ключ

трендобрендовое имя

Ответить
Развернуть ветку
Драгоценный Кирилл

Ирония судьбы

Ответить
Развернуть ветку
Людской шмель

Товарищ Зойбана, ты никогда не проходил тест на СДВГ?
Это не оскорбление есичо:)

Ответить
Развернуть ветку
Драгоценный Кирилл

Нет, не проходил. По описанию ничего похожего.

Ответить
Развернуть ветку
16 комментариев
Конечный историк

Для рапчурного бота подключали гугловскую диалоговую апи. Сначала забавно было, но быстро надоело: он начал повторяться, ничему новому не обучался и т.п.

Будет здорово если нейросеть поможет твоему боту впопад отвечать.

Ответить
Развернуть ветку
Драгоценный Кирилл

А чей это бот?

Ответить
Развернуть ветку
3 комментария
Голый франт

Надо добавить анализ диалога на позитивные и негативные составляющие с определением эмоциональности. Это поможет из заранее подготовленных ответов выбрать наиболее эмоционально правильный.

Ответить
Развернуть ветку
Удивленный динозавр
Отдельное спасибо Наденьке и Александру Ашкинадзе 

я в телевизере!

Ответить
Развернуть ветку
Экспериментальный Слава

Ах тыж

Ответить
Развернуть ветку
Спортивный ихтиандр

Респект за шторм))

Ответить
Развернуть ветку
Талантливый супер_стар

Как идея. Запустить на базе топовых комментариев нейро-юзера. Который будет отвечать максимально лайковно и впопад

Ответить
Развернуть ветку
Важный ГОСТ

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

Ответить
Развернуть ветку
Удивленный бас

Комментарий недоступен

Ответить
Развернуть ветку
Драгоценный Кирилл

И без блокчейна. Хотя очень хотелось

Ответить
Развернуть ветку
8 комментариев
Хитрый Валера

Комментарий недоступен

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
1 комментарий
Драгоценный Кирилл

Чё? Все комменты - из базы комментариев Илюхера

Ответить
Развернуть ветку
2 комментария
Газетный чайник

зоибана, а исходники на публику можешь предоставить?) без api, естественно, а то всякие левые начнут строгать своих ботов на тж. или это коммерческий продукт?)

Ответить
Развернуть ветку
16 комментариев
Ещё 32 комментария
Читать все 303 комментария
null