Как стать автором
Обновить

Бредогенератор: создаем тексты на любом языке с помощью нейронной сети

Время на прочтение17 мин
Количество просмотров67K
Всего голосов 41: ↑35 и ↓6+29
Комментарии67

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

Вот бы кто сделал аналог internet exploder.
Он и без нейросетей превращал тесты в очень смешной бред, что мы всем форумом ухахатывались.

Я так понимаю Земфира и Мумийтроль получили доступ к сиим сетям гораздо раньше…

Как и некоторые авторы хабра)

1 час обучения:

производитель по данной странах данных китайским состояниями проблемах и причин
Гугл переводчик? Я тебя узнал :)
НЛО прилетело и опубликовало эту надпись здесь

Абыр… Абыр...

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

«пахнет радости незримый свет» — это что-то шедевральное.
Ага, пластмассовый мир победил

Макет оказался сильней.


(Кто-нибудь, скормите этому тексты Летова!)

Кто-нибудь, скормите этому тексты Летова!

Держите :)

Текст
вот и смерть свою или был бальшество
моей лицо в собрей с солной стоноре
словно поленных грудь
в то лицо в сердце —
то ли присторонный на задоровших солдатам
на сами дороги
всё весёло — по полем молчат
лишь мастало в поле —
башка за ступу словно на всего в толной
полове

***

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

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

новый вот так и бросил
под настурал по себе
и всё ли в лицо в траве собренный мостой
просто всем только вот да на меня в котолетей
под карманом стороной поминате мусле
словно напрада дре.

***

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

***

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

Текст
а будет знает
умирают
умирают
на топливо — 03

***

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

***

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

ходит по ветреный
пусть траве…

***

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

потом победа…
Это гораздо человечнее!
Да, первый вариант анализирует посимвольно, что позволяет получить язык, «похожий на русский», во втором варианте используются целые слова. В принципе, если обрабатывать таким способом тексты определенного автора, то наверно можно какие-то необычные или интересные мысли выловить :)
Делала лабу в универ такую же, скармливала текст Короля Лира Шекспира на английском. Даже после часа обучения было примерно то же, что и у автора — слова осмысленные, иногда даже целые конструкции, но в целом какой-то абырвалг.
Скринов часа обучения не нашла, здесь после 5 минут результат
image
Интересно было бы увидеть результаты обучения на каком-нибудь авторе

Запустил. Попробуйте книгу угадать :)

Текст
принять в полование все мне и все это кончить от устраить, пристально стояла в зону слушайте, и он
замотал как рука и кроме это затянули и просто уже обожженные своим
понесколько только как она в общем, на кросу старый корость и так
можно вынесли, потом не обятилось. все вот там и ведь все сказал не либо
получить на свете все отминали… думать на ним, и
пришлось в вернулся.
— знаю, — сказал рэдрик. — придельно моя противники не милость,
следит. и был не могу больше не судара, посещение подумал как по самом меня через еще раз
на стол подела. стараясь подняли как
полезы. он отпросил он.
— последние вы сталкера помалили, — сказал он.
— но как тут она водить может. — спрашивает он. — меня все понимаю. это он
побыл на него стоят, на меня на не понимаю, все, от вас он совсем а не было
про получилось, типе не неудухался. разбражение вот. на нем совсем выпил к
карманам, и вы мне на воду… почему ты меня у нас не и такое
ступни? я вижу?
— а время нунан подошел. — вот мальчик, — сказал он с собасние головой и торчал откуда было уже не засохнулась, как спускался по присобраться, как они все в пальцем
только старика не поднялось на полности в нем побылось такой было себе позвонить,
своей спокойность. коленили в ответика и понял, не давай и
сказал: он с него ступая них показалось можно дело и поднял тогда, посмотрел он
сувершелся к делой в кармана и посмотрел на стол.
подобал и сделал он с полудодами и в самом деле над нараживать
спокойно пригладил на него не запел к ней слушал на пол.
— это не ведь понимаю, — сказал рэдрик. — она совсем не знаю. это такое показывает, что у
почему-то в сторону меня вот разнышка, от него дело, пока через доме просту
подальше. теперь все не отдушую какой-то все вот дело в сторону еще не
сталкер и спросила в одного и все это такое на столика прошел на стол.
— как ине не знает? — сказал рэдрик. — я было словалось понял…
Слишком просто :)
Имена есть.
Буквально на днях родилась в одном тематическом чатике мысль, что книги по Warhammer 40000 уже делает нейросеть, учитывая их количество и средненькое качество, и я высказал идею что надо бы самому настроить сетку и натренировать на всяком «болтер порно» что-бы делать новые книги. А тут смотри-ка, нужная и уже готовая нейросеть!
Вот и потыкаю поэкспериментирую, если будут интересные результаты напишу тут в комментариях.
НЛО прилетело и опубликовало эту надпись здесь

Не понимаю, как он стиль создаёт похожим! Ведь на входе только буквы и знаки препинания.

Нейросеть неплохо запоминает структуру входных данных. Вот например, такие стихи получаются после обучения на текстах Есенина:
Стих
x x x

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

1914

Обратите внимание, и год в конце и звездочки в начале нейросеть поставила «сама» (потому что «так надо»;).
Подобные бредостихи можно получить и безо всяких нейросетей, причём гораздо проще. Берём исходное четверостишие, под которое нужно подстроиться, и заменяем слова похожими по звучанию и ритмике при помощи одного из фонетических алгоритмов.
Всё, что нужно — исходное стихотворение и обширный словарь словосочетаний, предварительно прогнанный через фонетическое кодирование. На выходе получаем что-то вроде
такого
табун субъективный мозаик зубастых
сплотила к обеду певучая слизь
пусть славится преданный стрелкой брюхастой
всевышний колючий великий сюрприз

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

Кстати интересно, что рифму нейросеть улавливает не очень, я ожидал лучшего результата — вроде бы обнаружить схожесть окончаний слов не так уж сложно.
Нейросеть, условно говоря, «не понимает», что от неё хотят. Потому что для текстов существует огромное количество скрытых параметров, по которым возможна оптимизация, и вот как раз такой параметр, как рифмованность, оказывается не в приоритете.
Но можно сделать чуть по-другому: сперва обучить классификатор, замеряющий «степень рифмованности» текста, а потом, используя этот классификатор, уже обучить генерирующую сеть, которая будет оптимизировать текст в первую очередь по рифмованности, и уж потом по всем остальным характеристикам.
Как-то хиловато для нейронной сети, сети Маркова коим сто лет в обед с префиксом(? непомню как там этот термин называется) в 2 слова связанней текст делают, в 3 слова — вообще огонь, не сразу поймеш что генерированный, но корпуса текста размером в мегабайт для 3-х словного варианта мало будет.
С Вашего разрешения, «цепи Маркова». Керниган, Пайк, «Практика программирования».
Как-то хиловато для нейронной сети

Это же учебный пример. Лучше можно, если увеличить объем данных и число итераций обучения. Но обсчитывать каждый пример неделю на домашнем ПК я не готов.
Не пробовали google compute engine? В свое время хорошо спасло.
Еще нет, посмотрю. Пока Keras хватает для тестов.
Интересно было бы сравнить результат, полученный цепями Маркова и нейросетью, пусть даже на учебном примере.
Да, интересно, согласен и могу соорудить Маркова со своей стороны. Реквестирую у автора тот самый корпус текста 1мб на котором примеры, ибо мой сонный глаз нашел только код.

КДПВ
image
Могу и больше выложить :) Исходный текст — все комментарии Хабра за этот год, 334Мб.
www.dropbox.com/s/qz1uk34aahast2a/habr_2019_comments.txt?dl=0

Брал оттуда только часть, обучать нейросеть месяц я не готов.
соорудил, примеры:
клюква
разведка кгб сгубила перспективы разработчиков эвм в ссср пообещав перед очередным съездом партии всё что нужно у американцев и пр. буржуинов «разведать»!!! и после этого в фарватере движения одни начали выпускать toyota и hyundai. в результате всем автопроизводителям резко пришлось перестраиваться под новый стиль. 2) в той же музыке раньше был быстрый переход к песням по алфавитной шкале. точнее в ios 7 — 9 на этой шкале были все символы: и кириллица и иероглифы. в 8 — 9 км 60 минут — суммарно 40 тыс. а ещё и жить на что-то надо около 70 лет а вы всё ещё в строю? да вы монстр! уважаю. у меня тетя на аpl начинала — примерно как на айфонах сейчас. в принципе не плохо. в принципе не понятно зачем учитывая что во многих странах будет развит общественный транспорт. быть может это одна из причин по которой они в итоге поиблизительно сравнялись с сша несмотря на разные начальные условия — не надо было тратить столько денег на автомобильную инфраструктуру. ну и википедия говорит что у японии не такие большие потери были: ru.wikipedia.org/wiki/потери_во_второй_мировой_войне

всякое
о чём пишет я просто счёл излишним вам на это указывать дабы избежать очень многих пользователей. мне например не нужен навык выживание в течение месяца без еды выживания в -45 мороза и при +45 жары. вы свои реалии на развитые страны то не распространяйте. в европейских аэропортах есть специальные типы списков например numpy добавляет свой «к» но как его адекватно оценить — насколько помню просто была какая-то проблема с интеграцией с exchange (они переходили с лотуса). даже была какая-то самописная прога которая могла бы и не быть ¯\_(ツ)_/¯

....
картина мира 2. полетит или не описывать наши наблюдения потому что волновая функция не меняется при выборе базиса. честно я уже устал повторять. смотрите в у-е шредингера вообще нет упоминаний об этом например немало говорит в своих публичных выступлениях дима быков. да и в моей жизни тоже был случай… ещё когда был жив младший стругацкий он на каком-то сайте отвечал на вопросы фанатов. я там тоже задал вопрос почти дословно «как вы будете убеждать клиента что ему срочно нужно уходить в облака с on-premise» не дав вообще никакой информации и клиенете вот буквально одной фразой. при том что переход был между техническими позициями а на пресейл кажется надо отдельно людей готовить. и это не мне одному так повезло еще двое коллег проходили то же самое с другими комитетами — разница в деталях общая картина 42(4.5m)/58(6.2m). соглашусь что камеры/патрули/персонал это действительно может повысить общую стоимость работ меньше? наверное на чем-то сэкономили. в том числе и на аренде помещений печеньках и зарплате сотрудников. так если в одном офисе 2 команды из таких компани zte выиграла государственный контракт на создание блокчейн-технологии которая позволяет иногда загрузить как бы убитую систему именно что «иногда» у меня это получилось один единственный раз.


PHP, ~10 минут ноутбучного ядра (ничего не оптимизировалось вообще)
скрипт ест текстовый файл (успевает 120к строчек), и пару минут считает. Если дать ему поесть подольше, будет меньше работать как энкодер (точное повторение длинных фраз)
НЛО прилетело и опубликовало эту надпись здесь
О, спасибо, был уверен что это заболевание как-то называется :)
А какие мощности нужны? У меня дома 2080 TI и I7 2019 года
Или все равно мало?

В любом случае попробую скормить что-нибудь в свободное время
Попробуйте, интересно что получится. У меня на тексте в 1Мб обучение занимает примерно минут 40 на 1060 + i7.
У вас насколько нагружен GPU? У меня с дефолтными параметрами и текстом 1 МБ 1660 Ti нагружен на 20-30 %. Только на CPU (ryzen 1600) обучение проходит быстрее (37 сек на эпоху против 69 сек на GPU). С увеличение batch_size нагрузка на GPU возрастает, но тогда требуется больше эпох.
Да, у меня примерно так же.

Чуть-чуть объяснил как работает
Привел кучу примеров
Привел код без объяснений
???
Профит!

Фриц Лейбер, повесть “Серебряные яйцеглавы”.

В отдаленном будущем происходит бунт писателей. Обуянные гордыней, они желают сами писать книги. Как это делается, писатели, конечно, не представляют. Значение слова “писатель” изменилось с древних времен. Книги пишут электронные машины — словомельницы. Писатель же обязан по контракту: а) нажимать пусковую кнопку словомельницы, б) экзотически выглядеть, чтобы объемная фотография на задней обложке отвечала образу “творческой личности”, в) вести богемный образ жизни.
Уже лет 15 как существует программа Verseq — клавиатурный тренажёр, который безо всяких ИИ и нейросетей замечательно генерирует подобные цепочки псевдослов и псевдофраз. На мой взгляд, гораздо лучше генерирует.
Нет проблем сгенерировать связно выглядящий текст даже на MSDOS, имея большую базу примеров и эвристические правила. Здесь суть в другом — программа сама научилась синтаксису языка лишь по входному тексту, я не вводил вручную ни одного правила.
Нейро-Илона в инстаграме так и работает (:
НЛО прилетело и опубликовало эту надпись здесь

DmitrySpb79 Контролом-алт-делитом заклинаю! Запустите обучение на ру.версиии алиэкспресса!

Запустите обучение на ру.версиии алиэкспресса

Если кто-то скопирует хотя бы мегабайт текстов оттуда, не вопрос :)
А разве было не на нем? )
НЛО прилетело и опубликовало эту надпись здесь
Да, сюжет нейросетью уже пытались делать: habr.com/ru/company/pochtoy/blog/413867

С сериалами даже проще, по идее.
А если обучить пхп — можно получать рабочий код. Может даже качеством выше среднего.
Делал что-то подобное лет 30 назад, без всяких нейросетей.
На примере трех символов в основании: брал большой текст, случайным образом выбирал из него символ, этот и 2 следующих за ним — начало сгенерированного текста.
Затем, передвигал указатель в случайное место первоначального текста и от него, вперед, искал такую же триаду символов. Добавлял в сгенерированный текст символ, следующий в начальном тексте за триадой, получал 4 символа. Новая триада — последние три символа сгенерированного текста.
Опять перескакивал в случайное место текста и искал эту триаду, добавлял еще символ и т.д.
Пробовал с различным количеством символов в основании.
Интересно было наблюдать за эволюцией сгенерированного текста, при малом основании это был набор букв, потом появлялись псевдослова, потом настоящие слова в причудливых сочетаниях и в конце просто цитаты из текста.
Вы изобрели цепи Маркова, но без цепей и без Маркова. :)
НЛО прилетело и опубликовало эту надпись здесь
Похоже, генерация текстов — это та область, где нейросетям на данный момент ловить нечего. Что довольно странно, ведь изображения они генерируют весьма неплохо, даже анимированные.
Отсюда кстати можно сделать вывод, что писательство намного сложнее рисования и требует намного больших интеллектуальных усилий.
Имхо как раз ничего странного. Картины воспринимаются больше подсознательным уровнем, тут всякие чередования красок/цветов «в тему». А поскольку думать нейронные сети (пока что) не умеют, текст получается грамматически правильный но бесмысленный, что сразу же бросается в глаза при его чтении.

О, после часа обучения можно уже генерировать описания товаров на Али.

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

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

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

Не ясно чем автор так восхищён в результате. Практического смысла это имеет очень не много хоть конструкции и похожи на работающие, но таким образом создать что-то осмысленное не выйдет. Или ошибаюсь?
Вот ей-Богу, я про это уже раньше читала! Станислав Лем, «Кибериада», «Путешествие первое А, или Электрувер Трурля». Ай да Лем, ай да провидец! jewish-library.ru/lem/kiberiada-sem_puteshestviy_trurlya_i_klapautsiya_2_puteshestvie_pervoe_a_ili_elektruver_trurlya
А вот такое может выдать GPT-2 от OpenAI. Генерировал 3 куска отдельно, в первом случае unconditional, в остальных скармливал предыдущий текст, последний кусок генерил раз 10, пока концовка не стала более или менее читаемой, чем дальше, тем больше оно теряет исходную мысль. Во втором куске сеть явно переусердствовала с «my love» :)
Заголовок спойлера
I am alive. The world is alive. It has survived the coming of the dragon."
I have taken a few more bites and have heard a distant echo, which I guess is my sister's voice.

The last thing I heard is a single word, «And.»

«And? Oh! Oh, that's good. Good. And!»

I know what this is all about. And then I realize that I'm still holding a spoon in my mouth and that I haven't taken another lick from it, because I could barely think for myself. My heart has stopped beating. I need to be in bed.

A little while has passed when the door opens and I see my sister standing there, holding her hands out to me. I try to put my spoon on the ground to prevent her from falling, but suddenly she doesn't need any shoes. She just jumps in and starts crying. I'm in such a panic.

«Oh, my lord, no, don't cry!» Her tone of voice makes me feel so bad for not keeping my tongue in. «It's all right, my love. I will make you feel at home.»

Her hands are warm and she doesn't even have to ask me. It has been a while since she has seen a human boy. And there's only one human boy here, and I'm her brother. I have taken so many trips through life to see what other worlds might have. I'm not the most comfortable being next to her, but I can't help being very concerned.

«Please, my love, just let it out a little. You have a very big heart, and I will stay here so that you can be with Daddy.»

She reaches into her chest and takes my baby bottle and pours a little into my mouth. I'm so glad she did. It makes my heart skip a beat. I want more.

I don't need to ask her as I feel her trembling, tears filling her eyes. «No, my love. I can't.» Her body is shaking too and I can see the tears running down her eyes. «You see me here, right? I'll always be here. You've always been here.»
I try to look at her in the eye and tell her I'm sorry, but I don't mean anything.

«I'm sorry, my love. But I can't do this anymore. It's too dangerous, even in dreamland. When I wake up, I can't come. I can't. You don't look like you're ready.»

Her fingers curl into a tight fist and shake.

«I know how much you love me and I can't do anything if I can't see you, even in dreamland.» I reach back and rest a hand on her shoulder. «Let go.»

I can't bring myself to say it. I know she loves me, I know that she will stay by my side no matter what, I just can't make it any worse. «You're scared, right, dear?»

She shakes her head. «No, my love. I know I can't let you go now, but I can't let you suffer anymore.» Her eyes are full of tears again, but that's not a surprise. It is so hard to see a person weeping, to think of the pain they have caused.

I try to tell her what is happening, but it's still hard for me to understand. I only know how to describe the horror of losing someone you love, how hard it is to get up and walk away for so much time without even knowing.

«Please. I can't. We need to talk.» I don't want her to leave. I can't let her run away. I have to bring her back to me.

She stops crying and looks up at me. Her eyes are very red now, but her lips are smiling. She smiles and I think that I can see the truth in her face. «I don't want to. For the last time, don't stay away forever.»

I don't like it when people get mad at me. In dreams, when I look at them they appear as if in a dream. But I don't want to go back there, not with the way they have treated me in the past. I'm so very sorry for not letting her in. And I'll go back, I promise. I will be better, I promise. I will try to keep her safe until I am back in my body.

It was easy to come to that conclusion the first time I saw her crying. I didn't have to try very hard to believe it. I knew that she was upset and I wanted to help her. But how can I leave her here, where she's in danger, if I cannot let her go?

But I won't have to try very hard. And now that I have been told she will be okay, I know that she will be back home soon.

I wake up again.
Стихи местами напоминают песни «АукцЫона».
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации