Открыть изображение »
Нейромирон
Как мы с нейросетью пытались писать рэп, но зря
28 июня 2017 :: 38 комментариев :: 10869 просмотров :: 1648 слов
Винишко и тексты оксимирона — два главных столпа нашего мироздания. Однажды вечером, совместив их внутри себя, мне пришла в голову мысль: сейчас модно-хайпово всё подряд генерировать нейросетями. Яндекс пишет классическую музыку в стиле Скрябина, нашумевшая в прошлом году Prisma обрабатывает фотографии в стиле известных художников, независимые разработчики генерируют котиков и архитектуру по рисунку в пеинте. А чем мы хуже-то?

Яндекс так сладко рассказывает про нейросети, но никогда не показывает их код и почти не раскрывает детали реализации. Домашним затейникам типа меня приходится раз за разом изобретать свои велосипеды по обрывкам статей в интернетах. Кому интересны набитые шишки, использованные и отброшенные подходы — проходите в соседний пост «Как создавался Нейромирон» после прочтения этого.
Более формально задача звучала так: как-то взять «стиль» определенного автора и придумать такую штуку, которая будет писать тексты в этом стиле, но по заданной тематике. Со стилем идея пришла сразу — надо писать рэп. Модно, молодежно. А чтобы совсем было интересно, было решено взять сложный и многогранный флоу Oxxxymiron. До его уровня красоты и многоступенчатости языка живым-то людям далеко, а как с этим справится глупая бездушная машина? Интересно. Это вызов.
За одно проверим старую шутку, что Оксимирон «просто рифмует википедию».

В качестве источников текстов, на которые будет накладываться «стиль», взял три:

— Лев Толстой, «Война и Мир». Но отбросил, так как получалось не смешно.
— Стивен Хокинг, «Краткая история времени». Моя любимая книжка про астрофизику.
— Уголовный Кодекс РФ. Самое ироничное, что пришло в голову.

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

Дисклеймер

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

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

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

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

4. Я нихрена не понимал в Deep Learning'е до начала работы над этой идеей.

Надеюсь эти пункты снимут большинство вопросов. Вернемся к делу.

О смысле

Один из авторов Автопоэта Яндекса, Алексей Тихонов, в своей статье правильно сказал: Хорошая для человечества новость — в том, что качественная генерация невырожденных «смыслов» (например, сюжетов, сценариев или нарративов) пока остаётся уделом человека.

Тексты — это сложно. По этой причине сейчас так мало работ по генерации текста, и так много про картинки и видео. Та же Prisma. На первый взгляд кажется, что тексты намного проще, на деле всё наоборот. Когда мы видим результат работы нейросети, мы оцениваем его через наши «человеческие» понятия о красоте, смысле и стиле. Так получается, что для визуальной информации это диапазон весьма широк — можно изменить половину изображения и никто не заметит подвоха. С текстом не так.

Изменение одного слова на тексте уже ломает его восприятие. Резануло же глаз это «на тексте», не так ли? Поэтому обработка и генерация текстов до сих пор задача более сложная, чем картинок или видео. Разве что аудио сравнимо, потому Siri до сих пор говорит как гуглобаба.

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

Говорить о реальном переносе абстрактного «смысла» пока еще рано. Работ в этой области я не видел.

А вот забыть о смысле и работать с контентом и стилистическими особенностями вполне реально. Вот что произошло, когда я написал простенькие эвристики и решил прогнать через них куплет трека, совместив с текстом Уголовного Кодекса РФ.
Смысла нет, но получается забавно. Время подключать нейросети!

О стиле

На самом деле никакой «авторской стилистики» не существует. Все эти ритмы и амфибрахии нужны только теоретическим лингвистам, чтобы мучать ими пятиклассников на уроках литературы. Да и они между собой договориться не могут как правильно в каком случае. Сами же авторы давно не пишут в одном размере или стиле, потому говорить о стиле — значит заведомо ошибаться.

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

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

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




Результаты

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

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

Основа: Уголовный Кодекс РФ

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


Ваще жиза, да? Лайк если было.

что у тебя я не мог миллиона сила побег жилых под данных мученья услуг бухой тебе предложения слуг


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

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


Здесь из нейросети запахло экстремизмом. Ты глупый, кумплюктир, за это теперь сажают.

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


Так и не понял что произошло со штаниной, но дальше машина решила сохранить тайну.

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


Луперкаля знаю, но кто такой Анатолий? Откуда ты вообще это берешь?

Основа: книга Хокинга по астрофизике

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


Всё так и было.

той где на вес загнётся в мире парадокс той где на вес (<- тут уже я скопипастил для смеха) а ты у бора уикс дорога голод сфинкс венецианский обелиск гибель частицы блеск


Строчку «той где на вес» она сама родила. Хотя не удивительно, в «Там где нас нет» эта фраза повторяется кучу раз, вот и научилась. Но по-своему.

бездна fuck рим град из которой приемлемо им наступило моим и штанин больше проблем бремя моим на вносимое мы понимаем на вносимое мы занимаем со мною греки до горизонта слоем зови какому друзьями


Кажется, она хочет до меня доебаться. Не учите детей по текстам рэперов, потом вот такими вырастают.

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


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

я обходил цилиндр это тор второго смотрю я набор нейтронов камня смысл — пар мы шли с символикой града на невилл и тор


Тору пиздец по ходу.

то твой фристайл твои столкновения ты частный и темный рассказ типа вида свечения президентом горения брось свои извлечения бэттл мой столкновения твоё ебло заблуждения


Нужно послать нейросеть на версус, неплохой панч про ебло.

Тексты и правда сложнее картинок. Удивлен, что вообще из этого что-то забавное получилось. Всего хорошего, подписывайтесь там, ставьте классы.
Еще? Тогда вот
Комментарии
0
Василий ⸬ 29 июня 2017, 11:31 ⸬ RU ⸬ Windows лог
#
А чё годный такой речитативчик :)
2
MVKich ⸬ 29 июня 2017, 13:27 ⸬ RU ⸬ Linux лог
#
Надо Онегина впихнуть
0
Попробуйте Олег ⸬ 29 июня 2017, 17:13 ⸬ RU ⸬ Apple лог
#
С Хокинга годно получилось. Хочу оксимирона aaS, буду научпоп ему кормить.
3
000 ⸬ 30 июня 2017, 07:25 ⸬ Chlorakas, CY ⸬ Linux лог
#
Вот кстати ребята тем-же самым занимались, но с элементами шоу https://www.youtube.com/watch?v=iZC-E4wQe_s
0
Hanggard ⸬ 06 сентября 2017, 10:46 ⸬ Riga, LV ⸬ Windows лог
#
Надо было Гнойного ставить, а не Мирона) Тогда б поперло, азазаз
0
Brettaromo ⸬ 14 сентября 2017, 11:28 ⸬ Saint Petersburg, RU ⸬ Windows лог
#
0
Charleschure ⸬ 14 сентября 2017, 11:45 ⸬ Saint Petersburg, RU ⸬ Windows лог
#
0
Stewartjem ⸬ 14 сентября 2017, 12:58 ⸬ Saint Petersburg, RU ⸬ Windows лог
#
<a href=http://buystrattera.reisen/>buy strattera</a> <a href=http://triamterene.live/>triamterene 37.5mg hctz 25mg tabs</a>
0
Charleschure ⸬ 14 сентября 2017, 13:39 ⸬ Saint Petersburg, RU ⸬ Apple лог
#
0
BillyAlado ⸬ 14 сентября 2017, 13:49 ⸬ Saint Petersburg, RU ⸬ Windows лог
#
0
Charleschure ⸬ 14 сентября 2017, 14:17 ⸬ Saint Petersburg, RU ⸬ Apple лог
#
0
Brettaromo ⸬ 14 сентября 2017, 15:24 ⸬ Saint Petersburg, RU ⸬ Windows лог
#
0
alxmamaev ⸬ 23 сентября 2017, 01:34 ⸬ RU ⸬ Linux лог
#
Йоу, хоуми, я этим в январе как то занимался, и не поленился и трек записал :D

https://drive.google.com/file/d/0B5ah1Ch1n0YxR1RkbmRKeklIUkk/view?usp=drivesdk
(не заполняйте это поле)

me@vas3k.ru :: telegram :: twitter :: instagram :: facebook :: github