LINUX.ORG.RU
ФорумTalks

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


0

2

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

★★★★★

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

gopnick
()

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

В студию.

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

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

Smacker ★★★★★
() автор топика

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

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 ☆☆
()
Ответ на: комментарий от Smacker

Творчество и есть шиза в некотором роде

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от 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 ★★★★★
()

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

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

Deleted
()

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

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

Valeg ★★★
()

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

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

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