УДК 004

Сравнительный анализ контролируемых методов генерации нарратива

Смирнов Иван Михайлович – аспирант Национального исследовательского университета ИТМО.

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

Ключевые слова: генерация нарратива, генерация сюжета, автоматизация, контент, текст.

Введение

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

Определения

Для простоты изложения в данной статье использованы следующие определения:

  1. Контекст – набор характеристик, таких как сеттинг, персонажи, сцены – иными словами всё, что имеет какое-либо физическое или абстрактное представление в истории в качестве объекта.
  2. Сюжет – набор событий, каждое из которых каким-то определенным образом меняет состояние элементов контекста (персонажей, сцен, и т.д.).

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

  1. История – основа нарратива, формирующая связи между сюжетом и контекстом.
  2. Нарратив – комбинация истории и контекста для истории, с примененным к ней определенным стилем повествования.
  3. Стиль повествования – набор характеристик, определяющий то, как будет повествоваться история. Может включать в себя такие характеристики, как стиль речи, скорость повествования, хронологический порядок повествования, лицо и т.д.

Принципиальные подходы к автоматизации

Системы автоматизации создания нарратива принято классифицировать по нескольким критериям. [1]

По уровню автоматизации сюжета:

  1. Ручной – без автоматизации.
  2. Структурный – компьютер генерирует только общую структуру сюжета, под описание которой можно подогнать множество различных историй.
  3. Событийный – генерирует упорядоченную последовательность событий, на основе которых автор может написать вполне определенный нарратив.
  4. Лимитированный – создает полноценный нарратив, ограниченный заранее установленными автором критериями и использующий заданный им контекст.
  5. Автономный – полностью автоматизированная генерация нарратива, над которой автор имеет самое минимальное влияние или же не имеет вовсе.

По уровню автоматизации генерации контекста:

  1. Ручной – без автоматизации.
  2. Модифицирующий – расширенный вариант ручного уровня, в котором компьютер может изменить некоторые детали контекста.
  3. Симулируемый – на основе изначально заданного контекста итеративно генерируется новый за счёт моделирования потенциальных взаимодействий между сущностями. Финальное контекст, получившийся после выполнения заданных критериев остановки моделирования, является целевым результатом. В качестве подобных критериев могут выступать различные параметры, будь то время моделирования, количество смоделированных событий, состояние определенных сущностей и т.д.
  4. Лимитированный – автоматически генерирует контекст с учетом заданных критериев.
  5. Автономный – почти полностью исключает влияние автора на контекст.

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

Структурная автоматизация сюжета с использованием ручного контекста

Среди методов, входящих в данную группу, стоит упомянуть методы, базирующиеся на исследовании Владимира Проппа об основополагающих элементах фольклорных историй. [2] Согласно его наблюдениям, в фольклоре используются определенные постоянные и переменные факторы. К постоянным факторам относятся функции действующих лиц, которые не зависят от её специфичных участников. Каждая из подобных функций определенным образом влияет на развитие истории. Среди возможных функций существуют как одиночные, так и парные (борьба и победа, запрет и нарушение и т.д.). Если функция является парной, и использовалась в истории, то должна использоваться и парная ей функция.

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

Сильной стороной данного метода на фоне других является его прозрачность и простота имплементации.

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

Лимитированная автоматизация сюжета с использованием ручного контекста

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

Основным недостатком данной группы методов является существенная линейность полученных результатов, однако они нашли свою область применения: пересечение сюжетных линий персонажей во вселенных с большим количеством основных действующих персонажей (например, Marvel). Для того, чтобы это осуществить, автор вводит основные элементы сюжета, связанного с персонажами, в виде последовательности событий. После этого, когда ему понадобится ввести нового персонажа, он может произвести обратное моделирование от события введения нового персонажа, и найти наиболее подходящее место, откуда можно взять подобного персонажа из существующих сюжетных линий, или же убедиться, что подходящих вариантов нет и нужно создать нового персонажа с нуля.

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

К сожалению, в настоящее время методы автоматической генерации контекста весьма ограниченны, и потому могут уместиться в один пункт статьи.

Самый популярный метод генерации контекста [4] основывается на создании необходимых сущностей по мере необходимости на основе генератора случайных чисел и определенных заданных автором параметров (список возможных имен, возможные элементы локации и т.д.)

Другой подход к генерации контента осуществляется посредством использования генетического алгоритма для генерации различных вариации контекста, где качественной характеристикой выживания поколения выступает соответствие контекста требуемым условиям [5].

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

Второй метод позволяет создавать контекст заранее, что расширяет список его потенциальных вариантов использования, а также дает возможность генерации элементов, которые никак не будут задействованы в сюжете, однако, в зависимости от имплементации, могут логично вписываться в нарратив (таким образом “не каждое ружьё будет стрелять”). Однако данный метод значительно медленнее, и потому его очень сложно использовать в методах, сочетающих ручной и автоматический подход к генерации нарратива.

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

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

Сильной стороной методов симуляции [6] является правдоподобность и логическая последовательность сюжета, а также возможность использования любых типов контекста и способность четко придерживаться заданного контекста.

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

При использовании методов машинного обучения [7] главной сильной стороной является способность генерации нестандартных сюжетных ходов, а также стилистическая окрашенность текста без дополнительной обработки. Главным недостатком данных методов является наименьшая среди прочих рассмотренных методов степень контроля автора над результатом, а также возможность ошибок при следовании контексту, что может требовать существенного дополнительного редактирования текста автором после генерации и порой создавать существенные “дыры” в сюжете, на закрытие которых понадобится очень большое количество времени работы автора.

Вывод

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

Список литературы

  1. Ben Kybartas, Rafael Bidarra, “A Survey on Story Generation Techniques for Authoring Computational Narratives”, IEEE Transactions on Computational Intelligence and AI in Games / 9(3), pp. 239 – 253, 2017
  2. Владимир Пропп, Морфология сказки. Л., Academia, 1928
  3. Pemberton, “A modular approach to story generation”, in Proceedings of the Fourth Conference on European Chapter of the Association for Computational Linguistics, pp. 217–224, 1989
  4. Bethesda Game Studios, “Creation Kit,” Bethesda Softworks, 2013.
  5. Perez-Liebana, J. Liu, A. Khalifa, R. D. Gaina, J. Togelius and S. M. Lucas, "General Video Game AI: A Multitrack Framework for Evaluating Agents, Games, and Content Generation Algorithms", IEEE Transactions on Games, vol. 11, no. 3, pp. 195-214, 2019
  6. Li, S. Lee-Urban, and M. Riedl, “Crowdsourcing interactive fiction games”, Proceedings of the 8th International Conference on the Foundations of Digital Games, pp. 431–432, 2013
  7. Arwa I. Alhussain, Aqil M. Azmi, “Automatic Story Generation: A Survey of Approaches”, ACM Computing Surveys, 2021.

Интересная статья? Поделись ей с другими: