Project in Computational Creativity

Algorithms and machine learning
Advanced studies
Implementation and demonstration of creative software. Prerequisites: a course or seminar on computational creativity or creative language processing.
Year Semester Date Period Language In charge
2014 autumn 31.10-12.12. 2-2 English Hannu Toivonen


Time Room Lecturer Date
Fri 12-14 C222 Hannu Toivonen 31.10.2014-12.12.2014

Information for international students

The language of this project course is English.


New course report deadline: Fri 19 Dec. The demo day is unchanged, i.e. Fri 12 Dec.

This is a hands on project where students implement and demonstrate a creative system. The students have freedom in choosing their own projects, some suggestions are given below. However, the system should demonstrate or test aspects that are of interest to computational creativity (see e.g. these course pages: Introduction to Computational Creativity, The Computational Foundations of Linguistic Creativity), not merely generate something. The project can be done individually or in pairs.

The participants must submit a written outline of the project in the beginning of the course (1-2 pages, deadline on Fri 7 Nov before the course meeting). The outline should give the topic of the project and its goals, tell why and how it relates to computational creativity, and describe how the system will be implemented. The teachers accept or reject the project proposals or can request modifications.

At the end of the course, the projects will be demonstrated in an open event in the course meeting on Fri 12 Dec. In addition to the demonstration, a short report must be submitted, outlining the main decisions taken in the project, reasoning why these decisions were taken, and reflecting on the results and the creativity of the system. The report should be 3-4 pages long.

Please send your outlines and reports as pdf documents to


Participants should have taken at least one course or seminar in computational creativity or participated in an autumn school on the topic.

Project ideas

Students are encouraged to identify and propose a project topic of their own. Here we list some ideas that can be used as inspiration (some of these topics are too large for a 2 credit project, especially if done alone). The TAs of the course are happy to provide more information about these ideas and links to relevant literature.

  • In case you took part of the autumn course The Computational Foundations of Linguistic Creativity you may continue your project in this course!
  • Construction-Integration model.
    Implement the Construction-Integration model (see here), a cognitive model of text interpretation. The model can be used in evaluating ideas created by computers, in terms of effectiveness and coherence.
  • Visual agglomeration
    Develop a creative visual operator, called Agglomeration, which uses the image of an object to fill up the shape of another object, in an aesthetically pleasing way. For inspiration, see an example image of "symphony is hurricane"!
  • Search for images of conceptual blends.
    Develop a method of searching blended images, e.g., catfish = cat + fish, using text queries.
  • Social creativity
    Social creativity is a field which investigates the properties of multi-agent systems. One example of this are the language games (see, e.g., The Spontaneous Self-organization of an Adaptive LanguageA Self-Organizing Spatial VocabularyPerceptually Grounded Meaning Creation). Use the framework created for social creativity tasks and implement a language game (framework  can be found from here). Are the results comparable to the ones found in the articles?
  • Modelling character arcs in movies. 
    In stories/movies many characters change during the course of the plot (read more). For instance in Godfather, we can see how the main character Michael Corleone becomes from war hero into a cold-hearted gangster. The goal in these projects is to invent, implement and evaluate different aspects of character arcs. The data for the project can be found from IMSDB (The Internet Movie Script Database).
    • Modelling how the topics which the character talks about change in the course of the movie. Use topic detection tools, for instance LSA, and apply them to the dialog in a movie. See how the topics change for different characters. Now pick another movie and apply the same method. Are there any similarities between characters? How could these models be used for computational creativity?
    • Modelling how the sentiment of the speech of different characters change. Use sentiment analysis tools in order to detect if and how the speech sentiment changes for a character in the course of the movie. Investigate, if the sentiment of the speech between two characters changes in the course of the movie. Pick another movie and analyse results. Are there similarities between characters?
  • Modelling character roles in movies. 
    Storylines tend to have similar characters in them, e.g. a hero, villain, sidekick of the hero, traitor etc. The goal of the projects would be to detect the roles of the characters in the movies and try to find similar characters from other movies. Consider for instance Sherlock Holmes and Batman. We could create a mapping between Sherlock and Batman, Watson and Robin, Joker and Moriarty. The data for the project can be found from, e.g. IMSDB (The Internet Movie Script Database)
    • ‚ÄčAnalyse the movie scripts and model the dialogues as a graph. Use some simple heuristics to detect who the character is talking to and draw an arc between such to characters. Could you find an algorithm which is able to find the central character? Are there any other roles you could detect automatically? Are there characters who talk to same people, but not to each other? Pick another movie and evaluate, whether the system also works on other movie scripts.

Completing the course

Implementation and demonstration of a creative system, delivery of an outline and of a project report, as described above. There is no exam.

Literature and material