LINUX.ORG.RU

[конец литературы] Автоматическая генерация сюжета


0

2

В очередной раз натолкнувшись на картинку с визуализацией сюжета в виде переплетения сюжетных линий, я подумал: можно создавать сюжет без участия человека.
Для этого сюжет операционализируется как взаимодействие линий персонажей, где на каждой итерации производится применение подходящих ситуаций и пермутация сюжетных линий. В начале процесса создается набор базовых персонажей с собственными характеристиками, конец сюжета задаётся условно, например «первостепенный женский персонаж вышел замуж в третий раз». Затем можно разбавлять сюжет второстепенными персонажами, которые спавнятся в случайном сеттинге с той или иной вероятностью и так же исчезают через некоторое время. Каждый сюжетный ход формализуется как функция с некоторым множеством допустимых входных параметров и значений, которыми являются персонажи, их характеристики (и, опционально, сеттинг). Выбор сюжетного хода из списка доступных осуществляется в соответствии с установленной вероятностью (скажем, «измена» реализуется в 33% случаев, а «похищение пришельцами» в 0.1% случаев.
Например: «опознание брата/сестры по родимому пятну»: требуются два персонажа одного возраста, существовавшие в прошлых итерациях в разных сеттингах, для которых момент рождения неопределён. Выход: общий сеттинг и установление атрибута «родственник» на обоих персонажах.
Или: «внезапное наследство для нищего»: требуется персонаж 20-30 лет, персонаж преклонного возраста, объяснение завещания (из списка возможных). На выходе имеем: смерть второго персонажа, передачу N денег первому.
Или: супружеская измена: требуются персонаж с установленным флагом «в браке» и персонаж противоположного пола, впервые попавшие в сеттинг, где отсутствует компиментарный первому персонаж (ака супруг/супруга). На выходе имеем установленный атрибут «измена». Для персонажа становится возможным функция «разоблачение», которая требует наличия всех трёх персонажей в одном сеттинге.
И так далее.
Затем происходят пермутации сюжетных линий. Т.е. выбирается функция кроссовера из списка заданных, выбираются подходящие персонажи, с некоторой вероятностью выбирается конкретная функция. Как пример, может быть «командировка», «эмиграция ребенка вместе с семьей», «отъезд в другой город, где проживает персонаж, ранее находившийся в одном сеттинге с данным» и т.п. В результате получаем новые наборы сеттингов. Соответственно, как предельный случай имеем смерть персонажа по тем или иным причинам.
Литературное богатство ограничивается только количеством заданных функций и привносимых ими атрибутов (вроде «возможные причины смерти» - можно сделать список из пяти, а можно из пятидесяти).
Мне кажется, что таким образом можно значительно облегчить, скажем, создание сериалов или детективов, обогатиться самому и смущать народ мракобесием. А линукс тут при том, что всё это можно написать на перле.

★★★

Поздравляю, ты изобрёл Донцову!

gopnick ()

>В очередной раз натолкнувшись на картинку с визуализацией сюжета в виде переплетения сюжетных линий

В студию.

Yareg ★★★ ()
Ответ на: комментарий от zgen

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

Smacker ★★★ ()

>Автоматическая генерация сюжета

У.Берроуз. То есть уже было(

Solace ★★ ()

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от gopnick

У Берроуза это уже поставлено было во главу идеи) Но да, Оруэлла я забыл.

Solace ★★ ()
Ответ на: комментарий от Eddy_Em

Мультфильм рисовать - очень сложно формалировать. А сюжет - легче. Ведь на выходе должно быть что-то вроде пересказа прошлых серий: «Валерий уезжает по делам в Киев. Его жена Анна вступает в романтические отношения с Виктором. Умирает отец Алексий, духовник матери Анны. От пережитого у сестры Анны случается выкидыш. Мать Анны похищают пришельцы. По родимому пятну пришельцы устанавливают, что она является сестрой их лидера.»

Smacker ★★★ ()
Ответ на: комментарий от Smacker

А базу кто этому ИИ составлять будет? Или сделать его самообучаемым и заставить всю lib.ru «прочитать» сначала? :)

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

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

Smacker ★★★ ()
Ответ на: комментарий от Smacker

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

Eddy_Em ☆☆☆☆☆ ()

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

DNA_Seq ★★☆☆☆ ()
Ответ на: комментарий от Eddy_Em

>Повзрослев понял, что это - дело сотни-тысячи человеколет и одному не под силу.

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

thunar ★★★★★ ()
Ответ на: комментарий от Eddy_Em

Текст автоматически и не надо генерировать, просто спустить «техзадание» литнегру. Можно сделать авторассылку по фрилансерам, сценка за пятачок.

Smacker ★★★ ()
Ответ на: комментарий от Smacker

>как составить кучу разнообразных ходов в непротиворечивую последовательность.

Зачем? Это только в детективах нужно. А детективы это не литература.

DNA_Seq ★★☆☆☆ ()
Ответ на: комментарий от DNA_Seq

Тех, к кому относится сказанное — меньшинство.

Smacker ★★★ ()
Ответ на: комментарий от DNA_Seq

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

Smacker ★★★ ()
Ответ на: комментарий от Smacker

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

DNA_Seq ★★☆☆☆ ()

Научи сначала текстовую БД составлять предложения, а потом посмотрим, кто из нас Тень, а кто Ворлонец :-)

darkshvein ☆☆ ()
Ответ на: комментарий от DNA_Seq

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

Хха. Посади туда жабо-кодеров, дел то. Текст будет весел и безбашенн.

darkshvein ☆☆ ()
Ответ на: комментарий от darkshvein

>Хха. Посади туда жабо-кодеров, дел то. Текст будет весел и безбашенн.

Маловероятно. У них нет чувства юмора. Выйдет очередной ithappens

DNA_Seq ★★☆☆☆ ()

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

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от Smacker

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

Откройте любое «произведение» быдлолитературы для чтения в электричке. Там этого всего и так навалом.

Axon ★★★★★ ()
Ответ на: комментарий от Smacker

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


На обложке курсивом выводится «магический реализм» или «постмодернизм» и книжка ставится на магазинную полку. Литературные критики сделают все остальное :)

Frakhtan-teh ★★ ()
Ответ на: комментарий от Axon

Последний раз с коллизиями вроде «сын сам себе же и отец» я встречался в толстой хрестоматии волшебных сказок древних евреев.

Smacker ★★★ ()
Ответ на: комментарий от Smacker

>Последний раз с коллизиями вроде «сын сам себе же и отец» я встречался в толстой хрестоматии волшебных сказок древних евреев.

Так это не баг, это фича! Такое ощущение что читаешь ты только детективы.

DNA_Seq ★★☆☆☆ ()
Ответ на: комментарий от DNA_Seq

> А детективы это не литература.

Сам ты... не литература.

Miguel ★★★★★ ()
Ответ на: комментарий от darkshvein

> Научи сначала текстовую БД составлять предложения, а потом посмотрим, кто из нас Тень, а кто Ворлонец :-)

Каганов, пока ещё не сошёл с ума, рекламировал какую-то фиговину, которая писала связный текст на основе формального изложения сюжета на некоем DSL.

Miguel ★★★★★ ()
Ответ на: комментарий от thunar

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

Китайцы за рис намного дешевле электронных печек.

baverman ★★★ ()

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

baverman ★★★ ()
Ответ на: комментарий от Smacker

И где тут сюжетные линии? Я вижу невнятные полосы разных цветов, случайным образом пересекающиеся.

Xellos ★★★★★ ()

>всё это можно написать на перле.

Скорее уж на прологе.

dimss ★★★★★ ()

http://www.cir.ru/docs/ips/publications/2009_rcdl_markov.pdf

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

Valeg ★★★ ()

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

Литература - это только кривое зеркало действительности, какая действительность - примерно такая и литература.

record ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.