Авторский стиль, его распознание и перенос |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-10-11 20:00 Оборона нейронной обороны (вместо введения) В 2016 году сотрудники «Яндекса» Алексей Тихонов и Иван Ямщиков выпустили «Нейронную оборону» — музыкальный альбом, стилизованный под творчество Егора Летова. Слова для песен «Нейронной обороны» написала искусственная нейросеть, обученная на оригинальных текстах «ГрОба». Правда, музыка и исполнение остались «человеческими» — альбом записали сами Ямщиков и Тихонов, попытавшись придать ему нужное «гаражное звучание» и даже специально расстроив для этого гитару. «Машина же считывает только формальные признаки егоровского стихосложения, она, как и часть поклонников Г.О., не способна понять логику и смысл его поэзии. Она просто генерирует набор слов и словосочетаний, используя те, что у него встречаются чаще всего, и бессмысленно составляет их. Разумеется, могут возникнуть забавные моменты, но под этим нет ничего, это пустышка, ноль, бесконечное ничто. И никакой поэзии машина создать не может и не сможет никогда». Однако даже такой негативный отзыв содержит важное наблюдение: «формальные признаки» машина все-таки считывает — и в стихах «Нейронной обороны» можно увидеть наиболее характерные конструкции поэзии Летова. Вот об этой формальной стороне «переноса стиля» мы и поговорим в статье (оставив споры о художественной ценности нейропоэзии для другого раза). Что такое авторский стиль? Нам, людям, интуитивно понятно, что авторы в своих произведениях часто проявляют себя, используя те или иные приёмы. Это может быть узнаваемая структура текста, излюбленная метафора, особая лексика или что-то ещё — приёмы разнятся от одного автора к другому, и довольно сложно формализовать все варианты того, что можно назвать «авторским стилем». Один из вариантов такой формализации основывается на статистическом распределении величин, присутствующих во всех текстах — вроде средней длины слова, количестве знаков препинания и пр. Этим подходом пользуются в том числе и для определения авторства. Но что, если попробовать не определить автора неизвестного текста, а наоборот — придать такому «бесхозному» тексту черты, присущие конкретному автору? Выделение значимых признаков Мы уже выяснили, что стиль — очень комплексное понятие, и каждый исследователь может выделять свои критерии и значимые признаки. Грубый подсчёт: количество уникальных слов Несколько исследований разной степени подробности были посвящены рэперам и их текстам. Один из самых легко извлекаемых признаков — количество уникальных слов [1]: получив все тексты треков, можно привести слова в них к их лемме, или нормальной форме, и посчитать количество уникальных. Если, например, отобразить на графике величину вокабуляра с учётом эры, в которую творил автор, то можно увидеть, что со временем словарный запас текстов «беднеет». При этом стоит отметить, что в среднем в текстах рэперов уникальных слов будет больше, чем в текстах рок- или поп-исполнителей того же объёма. Частично вдохновлённый анализом сразу многих рэперов, автор более детального исследования стиля Дрейка [2] сравнил между собой девять альбомов — и пришёл к выводу, что ни один из них не выделяется чем-то особенным с точки зрения вокабуляра. В среднем в одном треке можно ожидать около 100–200 уникальных слов. Такое распределение свидетельствует в пользу того, что у Дрейка не было гострайтеров, т.е. людей, которые писали за него. Другая гипотеза — об украденном «флоу» других рэперов — тоже может быть опровергнута с помощью этого графика. Если бы какое-нибудь из этих подозрений оказалось верным, размер вокабуляра в «скопированных» треках был бы иным — и это стало бы заметно при визуализации. Менее очевидная, но тоже интересная деталь стиля — упоминаемые личности. Здесь на помощь приходят инструменты для распознавания именованных сущностей (named entity recognition или просто NER). Такие инструменты в большом количестве разработаны для многих языков — в том числе, конечно, и для русского с английским. Они отличаются лишь точностью выделяемых сущностей и временем работы. Инструмент Stanford NER из набора Stanford NLP помог выяснить, что больше всего Дрейк упоминает самого себя. Учим машину копировать На пике популярности нейросетей и машинного обучения было бы странно не увидеть попытки «скопировать» с помощью таких инструментов чей-нибудь стиль — и раз уж мы начали с рэпа, то им и продолжим. Допустим, что мы хотим создать нового Оксимирона — или как минимум приблизиться, сделать что-то похожее. Слова имеют значение Можно использовать методы «постарше», например, цепи Маркова — и отталкиваться от идеи, что от текущего слова зависит то, каким будет следующее. Следовательно, если у нас есть корпус текстов, то мы сможем при помощи нехитрых вероятностей генерировать нечто похожее. Из плюсов: с высокой долей вероятности итоговые тексты будут достаточно осмысленны, так как от линейного порядка слов зависит и некоторая грамматика в языке; на большом корпусе результаты могут быть достаточно правдоподобны. Довольно большой минус заключается в том, что для генерации используется тот же корпус, на котором происходило обучение, а значит, не получится создать текст в стилистике Оксимирона о том, о чём сам Оксимирон не писал, да и с семантикой текстов можно промахнуться. Больше нейросетей богу нейросетей Можно поступить «проще» — и, не выделяя каких-либо черт и формальных свойств, пропустить исходные тексты через нейросети, созданные для генерации текстов, например, char-RNN. Сеть такой архитектуры использовали для генерации текстов в стиле Обамы, и получилось неплохо — вплоть до того, что сеть выучила единое окончание всех речей. Char-RNN — это рекуррентная нейросеть: в ней слои связаны в определённую последовательность, что позволяет работать с цепочками событий или текстами. Сеть принимает текст как последовательность символов и учится генерировать нечто похожее. Из-за посимвольного разбиения текста получается, что итоговый результат может быть крайне далёк от реальных слов языка. Более того, при таком подходе снова не получится «скопировать» стиль — только создать подобие, отталкиваясь от того, что уже было написано. Объединяем усилия Для рэпа бесспорно важен флоу, ритмический рисунок текста — без него об успехе говорить не приходится. Что, если взять и формальные черты стиля (хоть какие-то) и мощности нейросетей? Сначала тексты были пропущены через алгоритм Soundex. Он позволил «закодировать» слова, оставив от них только звонкие звуки и первую букву — гласные были заменены цифрами, а глухие звуки и вовсе были выброшены. Теперь можно производить замену исключительно между словами с одинаковыми кодами — это будет означать, что они совпадают по своей ритмике. Но что, если в корпусе текстов больше нет слова с таким же soundex-кодом, как и у слова, которое мы хотим заменить? В таком случае мы можем позволить себе небольшое отступление — например, поискать слова с кодом, отличающимся от исходного на один символ. Для этого можно использовать популярное расстояние Левенштейна. После обучения на таких данных СharRNN может выдавать более ритмически похожий текст, но он стал бессмыслицей. Тут полная диконатердать, дале в меня половиние, Ты про воловенный закуриент на плекает тебя подругается нет. (значения словам «издеть», «деби парадели» и «полишить» можно попробовать придумать самим) Добавим ещё несколько признаков к коду, чтобы у нас было больше значимых признаков:
Теперь нейросеть может выдавать достаточно ритмически похожий текст. Осталось только сделать его рифмованным при помощи эвристик — некоторых преобразований, которые не будут универсально рабочими, но достаточными. Итоговый результат может выглядеть так: я обходил цилиндр Тоже, в общем-то, не без изыска, да? Эти стихи породила нейросеть Василия Зубарева (он же vas3k), обученная совмещать ритмический рисунок текстов Оксимирона с лексикой из книги знаменитого физика Стивена Хокинга «Краткая история времени». Вот еще пара прекрасных примеров такого творческого симбиоза: звездной флуктуацией масс управляя движением в сети где течет энергия целесообразности Вторым донором лексического материала в эксперименте vas3k’а выступал Уголовный кодекс РФ. При переносе на него флоу Оксимирона получилось местами очень жизненно: где вахтой коптящих дорогу из государственного в невозможности Есть ли тут смысл в человеческом понимании? Вряд ли, скорее, перемешанные осколки смыслов. Вообще высокоуровневые смыслы и идеи пока остаются уделом человеческого мышления и человеческого творчества. Однако наблюдать за тем, что могут нейросети в области имитации стиля, интересно. Хотя бы для того, чтобы ответить наконец на вопрос, что такое стиль. Дарья Максимова Источники [1] The Largest Vocabulary In Hip Hop Источник: m.vk.com Комментарии: |
|