Дамир Камалетдинов
61 647

Как 20-летний россиянин научил нейросеть самостоятельно вести паблик с мемами

Машине чуждо понятие юмора, но у неё иногда получаются очень смешные картинки.

Поделиться

В избранное

В избранном

С мая 2018 года паблик «Абстрактный юмор» начал существовать сам по себе: вместо людей созданием контента в нём занялась нейросеть. Она объединяет смешные картинки из популярных сообществ и публикует их на страницу.

Создателем «Абстрактного юмора» является 20-летний россиянин Артём Чирков, который учится в Канаде. TJ пообщался с программистом о том, как он автоматизировал работу с сообществом, что ждёт нейросети в будущем и узнал о других его проектах.

Благодаря нейросети администраторы паблика вышли «на пенсию»

Первую версию бота Чирков написал в 2015 году на Python, когда только начинал изучать программирование. Алгоритм умел скачивать картинки у популярных сообществ и объединять их, отрезая у одной нижнюю часть, а у другой — верхнюю.

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

Артём Чирков
создатель полностью автоматизированного паблика

В 2016 году студент доработал систему. Она стала представлять собой несколько скриптов: один был предназначен для поиска и обрезки текста на картинках, второй помогал избежать слишком частого обращения к «ВКонтакте» через API, третий сохранял картинки из пабликов, а четвёртый содержал основной код бота.

https://vk.com/wall-98210264_483912

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

Кроме того, бот Чиркова был ориентирован на мемы с чёрно-белым шрифтом Impact, а они начали выходить из оборота. Тогда он начал искать способы полной автоматизации паблика.

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

Артём Чирков

С мая 2018 года нейросеть «Абстрактного юмора» раз в неделю собирает информацию о новых мемах из пабликов «МДК», «Лепра», IGM и «Орлёнок», анализирует их и сохраняет информацию о зонах с текстом. После этого каждый день запускается скрипт, который склеивает зоны и планирует восемь публикаций. Разработчик также обучил нейросеть проверять получившийся результат, вручную отобрав тысячу «подходящих и неподходящих» изображений.

https://vk.com/wall-98210264_483847

Чирков рассказал, что структуру нейросети создавал не сам, иначе «ни за что бы не осилил такой объём работы». Он воспользовался готовой разработкой команды исследователей — нейросетью, которая умеет определять и оценивать содержание текста.

По словам Чиркова, разница по сравнению со старым подходом «огромная»: без нейросети половина картинок была «с нечитаемым текстом», а сейчас таких около 5%. Однако у обновлённой системы есть свои недостатки.

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

Артём Чирков

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

Мы — это авангард роботизации. Программа сместила меня с поста админа, так же и роботы постепенно вытеснят нас всех с работ.

Артём Чирков

По словам Чиркова, у бота есть своё понимание контекста: он анализирует второстепенные факторы, такие как позиция, размер, цвет, а также умеет отделять сетапы от панчлайнов. «Короче, он пытается», — пояснил создатель паблика.

Создатель — 20-летний россиянин из Канады

Чирков рассказал, что родился в Перми и увлёкся программированием ещё до 18 лет, а последние два года провёл в Канаде, где учится на программиста.

На вопрос «откуда ты» ответ — всё же Пермь, а вот жить, наверное, я тут не останусь. Отдыхать тут хорошо, русская культура — лучшая, пацаны у нас самые светлые, а вот работать здесь — не очень.

Артём Чирков

По словам студента, до совершеннолетия он всегда хотел прославиться и стать «мальчиком-гением», но с тех пор максимализм «потерялся».

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

Артём Чирков

Чирков порекомендовал язык программирования Python всем начинающим программистам, так как именно на нём он смог «наконец сделать что-то полезное».

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

Артём Чирков

Другой проект разработчика — сервис для поиска знакомств по подпискам «ВКонтакте»

Чирков считает своим самым крупным проектом «Абстрактный юмор» (и второй паблик «Ещё более абстрактный юмор»), однако это не единственное, что создал разработчик на базе «ВКонтакте». Другая работа студента — сервис для поиска близких по духу людей на основе подписок на группы и паблики VKFinder.

Скриншот «VKFinder»

По мнению Чиркова, подписки человека зачастую точно отражают его личность и интересы. Кроме того, знакомые разработчика часто признавались, что нашли себе друга или пару в каком-то паблике, что и натолкнуло его на создание сервиса.

VKFinder запускает поиск сразу по всем пабликам и находит людей со схожими интересами в том же городе или стране, где и ты. Как ни странно, но это работает, многие там находили людей, с которыми они уже знакомы в реальности, то есть точки соприкосновения действительно находятся. Я в качестве эксперимента тоже познакомился через него с человеком, поиграл в инди-игры и принял в свою группу по ДнД (Dungeons&Dragons, — прим. TJ), куда обычно очень тяжело найти желающих.

Артём Чирков

По словам Чиркова, из-за того, что сервис не требует делать репосты, им пользуется всего чуть больше 600 пользователей. Кроме того, в день запуска проекта «ВКонтакте» запретила ссылки на него как небезопасные, поэтому в следующий раз разработчик планирует использовать платформы других соцсетей, например, Telegram, Твиттера или Фейсбука.

Будущее нейросетей

Пока нейросети не могут стабильно генерировать смешные картинки, но, по мнению Чиркова, это лишь вопрос времени: со временем алгоритмы научатся понимать контекст и «пойдёт прогресс». Разработчик напомнил, что уже существуют подобные проекты: например, нейросеть студентов из Стэнфорда, которая генерирует странные мемы на основе старых шаблонов, лишь изредка выдавая смешные результаты.

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

Артём Чирков

Лучшие мемы от нейросети

Если вы не видите записей из «ВКонтакте», попробуйте перезагрузить страницу.

#нейросети #интервью #технологии #соцсети #паблик

{ "author_name": "Дамир Камалетдинов", "author_type": "self", "tags": ["\u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438","\u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e","\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438","\u0441\u043e\u0446\u0441\u0435\u0442\u0438","\u043f\u0430\u0431\u043b\u0438\u043a"], "comments": 44, "likes": 102, "favorites": 36, "is_advertisement": false, "section_name": "default", "id": "75485", "is_wide": "" }
Популярные материалы
Показать еще
{ "is_needs_advanced_access": true }

Популярные комментарии

Дискуссии по теме
доступны только владельцам клубного аккаунта

Купить за 75₽
Авторизоваться

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

  • отсутствие рекламы
  • возможность писать комментарии и статьи
  • общение с членами клуба
Подробнее

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

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

Сколько это стоит?

Членство в клубе стоит всего 75₽ в месяц. Или даже дешевле при оплате за год.

Что такое клуб?

Клуб ТЖ это сообщество единомышленников. Мы любим читать новости, любим писать статьи, любим общаться друг с другом.

Вступить в клуб

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

Популярные

По порядку

0

Прямой эфир

Вы не против подписаться на важные новости от TJ?

Нет, не против
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } } ]