Авторы:
(1) Прерак Ганди, факультет компьютерных наук и инженерии, Индийский технологический институт Бомбей, Мумбаи, [email protected], и эти авторы внесли равный вклад в эту работу;
(2) Вишал Праманик, факультет компьютерных наук и инженерии, Индийский технологический институт Бомбей, Мумбаи, vishalpramanik,[email protected], и эти авторы внесли равный вклад в эту работу;
(3) Пушпак Бхаттачарья, факультет компьютерных наук и инженерии, Индийский технологический институт, Бомбей, Мумбаи.
Для создания сюжета фильма мы взяли сюжеты из Википедии. Подсказки для этой задачи взяты с IMDb. В IMDb эта подсказка может быть двух типов. Первый представляет собой краткое описание (15–40 слов) фильма, а второй — длинную сюжетную линию, которая варьируется от 30 до 200 слов и содержит гораздо больше подробностей о различных персонажах и событиях фильма. Также мы собрали жанры каждого фильма с IMDb. Затем мы делим сюжеты, используя 4-актную структуру. Для создания сцены мы берем сценарии из IMSDb и аннотируем их ключевыми элементами сцены.
Мы создали набор данных из 1000 сюжетов, состоящих как из Болливуда, так и из Голливуда, извлеченных из Википедии с помощью модуля Wikipedia на Python. Собранные сюжеты в среднем имеют длину около 700 слов.
Мы аннотируем графики, вручную разделив их на 4 части, используя 4-актную структуру, описанную в приложении А.5. Мы помещаем один тег в конце каждого акта: 〈one〉 (Акт 1), 〈two-a〉 (Акт 2, Часть A), 〈two-b〉 (Акт 2, Часть B) и 〈three〉 (Акт 3). ) в качестве разделителей. Пример аннотации графика приведен в приложении (рис. 6).
Чтобы придать некоторую управляемость сюжетам, генерируемым моделью, мы ввели в набор данных жанры фильмов вместе с сюжетной линией. Мы объединяем жанры в начале сюжетной линии. На рисунке 2 показано распределение жанров в наборе данных.
Сценарии фильмов очень длинные. Двухчасовой фильм соответствует примерно 30 000 слов. Языковые модели, используемые для творческой генерации текста, такие как GPT-2 и GPT-3, имеют ограничения на количество токенов 1024 и 2048 соответственно, что делает невозможным обработку всего сценария за один раз. Поэтому мы разделили сценарии на сцены и вручную создали их краткие описания. Это позволяет обучать сцены независимо, не полагаясь на предыдущие сцены.
Сценарии фильмов состоят из множества элементов, описанных в приложении A.4. Различные элементы увеличивают трудности, с которыми сталкиваются модели при обучении различению каждого элемента. Чтобы преодолеть это препятствие, мы отмечаем в сценарии четыре основных элемента: слизняки, линии действия, диалоги и имена персонажей.
Мы сохраняем четыре основных элемента, присутствующих в каждом сценарии — слоганы, линии действия, имя персонажа и диалоги — и удаляем любую другую информацию, такую как номер страницы, переходы или даты сцен. Маркировка четырех основных элементов осуществляется с использованием начальных и конечных тегов, которые оборачиваются вокруг элементов, как показано ниже:
• Слизни: 〈bsl〉...〈esl〉
• Линии действия: 〈bal〉...〈eal〉
• Имя персонажа: 〈bcn〉...〈ecn〉
• Диалог: 〈bd〉...〈ed〉
Пример аннотированной сцены показан на рис. 3.
Этот документ доступен на arxiv под лицензией CC 4.0 DEED.