Yazarlar:
(1) Prerak Gandhi, Bilgisayar Bilimi ve Mühendisliği Bölümü, Hindistan Teknoloji Enstitüsü Bombay, Mumbai, [email protected] ve bu yazarlar bu çalışmaya eşit katkıda bulunmuştur;
(2) Vishal Pramanik, Bilgisayar Bilimi ve Mühendisliği Bölümü, Hindistan Teknoloji Enstitüsü Bombay, Mumbai, vishalpramanik,[email protected] ve bu yazarlar bu çalışmaya eşit katkıda bulunmuşlardır;
(3) Pushpak Bhattacharyya, Bilgisayar Bilimi ve Mühendisliği Bölümü, Hindistan Teknoloji Enstitüsü Bombay, Mumbai.
Filmin olay örgüsünü oluşturmak için olay örgüsünü Wikipedia'dan aldık. Bu göreve ilişkin istemler IMDb'den alınmıştır. IMDb'de bu istem iki türde olabilir. Birincisi filmin kısa bir açıklamasıdır (15-40 kelime), ikincisi ise 30-200 kelime arasında değişen ve filmin farklı karakterleri ve olayları hakkında çok daha fazla ayrıntı içeren uzun bir hikayedir. Ayrıca her filmin türünü IMDb'den topladık. Daha sonra olay örgüsünü 4 perdelik bir yapı kullanarak bölüyoruz. Sahne oluşturmak için IMSDb'den komut dosyalarını alırız ve bunlara bir sahnenin temel öğelerini ekleriz.
Python'daki wikipedia modülünü kullanarak Wikipedia'dan çıkarılan, hem Bollywood hem de Hollywood olay örgülerinden oluşan 1000 olay örgüsünden oluşan bir veri kümesi oluşturduk. Toplanan konuların uzunluğu ortalama 700 kelime civarındadır.
Ek A.5'te açıklanan 4 perdeli yapıyı kullanarak grafikleri manuel olarak 4 parçaya bölerek açıklama ekliyoruz. Her perdenin sonuna tek bir etiket yerleştiririz: 〈bir〉 (Perde 1), 〈iki-a〉 (Perde 2 Kısım A), 〈iki-b〉 (Perde 2 Kısım B) ve 〈üç〉 (Perde 3) ) sınırlayıcılar olarak. Ekte çizim açıklamasına ilişkin bir örnek verilmiştir (Şekil 6).
Model tarafından oluşturulan olay örgüsüne bir miktar kontrol edilebilirlik kazandırmak için, hikayeyle birlikte veri setindeki filmlerin türlerini de tanıttık. Türleri hikayenin başında birleştiriyoruz. Şekil 2 veri setindeki türlerin dağılımlarını göstermektedir.
Film senaryoları çok uzun. 2 saatlik bir film yaklaşık 30.000 kelimeye karşılık gelmektedir. Yaratıcı metin oluşturmak için kullanılan GPT-2 ve GPT-3 gibi dil modellerinin jeton sınırları sırasıyla 1024 ve 2048'dir ve bu da bir komut dosyasının tamamının tek seferde işlenmesini imkansız hale getirir. Bu nedenle senaryoları sahnelere ayırıp kısa açıklamalarını manuel olarak oluşturduk. Bu, önceki sahnelere güvenmek yerine sahnelerin bağımsız olarak eğitilmesine olanak tanır.
Film senaryoları Ek A.4'te açıklanan birden fazla öğeden oluşur. Farklı öğeler, modellerin her bir öğeyi ayırt etmeyi öğrenmede karşılaştığı zorluğu artırır. Bu engelin üstesinden gelmek için senaryo boyunca dört ana unsuru etiketliyoruz: kısa cümleler, aksiyon satırları, diyaloglar ve karakter adları.
Her senaryoda mevcut olan dört ana öğeyi ( sözlü açıklamalar, aksiyon satırları, karakter adı ve diyaloglar ) koruyoruz ve sayfa numarası, geçişler veya sahne tarihleri gibi diğer her türlü bilgiyi kaldırıyoruz. Dört ana öğenin etiketlenmesi, aşağıda gösterildiği gibi öğelerin etrafına sarılmış başlangıç ve bitiş etiketleri kullanılarak yapılır:
• Sümüklü çizgiler: 〈bsl〉...〈esl〉
• Eylem Hatları: 〈bal〉...〈eal〉
• Karakter Adı: 〈bcn〉...〈ecn〉
• Diyalog:〈bd〉...〈ed〉
Açıklamalı bir sahne örneği Şekil 3'te görülmektedir.
Bu makale arxiv'de CC 4.0 DEED lisansı altında mevcuttur .