Chris Pollett > Students > Smith

    Print View



    [CS297 Proposal]

    [Creating Vectors]

    [Film Resources]

    [CS297 Write-Up - pdf]

    [Deliverable 1: Parser]

    [Deliverable 2: Liner]

    [Deliverable 3: Training Set]

    [Deliverable 4: Lister]

    [CS298 Report - pdf]

    [CS298 Code - zip]

    [CS298 Defense Slides - pptx]

CS297 Proposal

Script Shot List Generator

David Smith (

Advisor: Dr. Chris Pollett


The ultimate goal is to develop a program, currently planned to be written in Java, that can be fed a movie or tv script as a text file and have it generate a shot list for the script. This would mean denoting when each shot would start and end in the script, which character, characters or objects would be the focus of the shot, and the type of shot, from wide shot to extreme close-up.

The first step would be developing a parser which reads in a script and breaks it down by scenes, locations, characters and objects. This is the theoretically easier part as there are standards in script-writing for denoting these concepts. The parser just picks up on these cues and places the pieces into a database, most likely a relational database like SQL.

The trickier part is figuring out the shot-list, which is the crux of the assignment and it will be achieved using artificial intelligence and supervised learning. Scripts will be fed into the program that already have shotlists as training sets. Further information can be given such the director, writer, actors, editors, genre, year, etc. Using television shows will be particularly useful for early learning as shows are formulaic, and patterns can more easily be found. (Consider three camera sitcoms).


Week 1 - 2: August 24, 2015 to Sept 4, 2015 Make Proposal
Week 3 - 4: Sept 7, 2015 - Sept 18Begin researching algorithms; Begin collecting Training Sets
Week 5: Sept 21, 2015Begin collecting scripts; narrow in on books to read
Week 6: Sept 28, 2015Begin Coding Script Parser
Week 7: Oct 5, 2015Finish and Deliver initial Script Parser; Deliver shot cut list
Week 8: Oct 12, 2015Start design of Liner Tool
Week 9-10: Oct 19, 2015 - Oct 30, 2015Demonstrate Initial Liner Tool
Week 11: Nov 2, 2015Continue Coding Liner Tool
Week 12-13: Nov 9, 2015 - Nov 20, 2015Begin implementation of Vector for Naive Bayes Implementation
Week 14: Nov 23, 2015Deliver Liner Tool. Continue Vector implementation
Week 15: Nov 30, 2015Deliver Initial Training Set
Week 16: Dec 7, 2015Deliver First Implementation of Vector and Lister Tools


The full project will be done when CS298 is completed. The following will be done by the end of CS297:

1. Deliverable_1 - Script parser for translating script into Java object.

2. Deliverable_2 - Liner Tool for creating training sets with scripts

3. Deliverable_3 - Initial Training Set

4. Deliverable_4 - Lister Tool 1 - Vector Creation Tool from Training Sets

5. Deliverable_5 - Lister Tool 2 - Naive Bayes Implementation for generating Shot Lists


[RN2010] Artificial Intelligence A Modern Approach. Stuart Russell, Peter Norvig. Pearson. 2010.

[H2008] Neural Networks and Learning Machines. Simon O. Haykin. Prentice Hall. 2008.