Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Towards a Flowcharting System for Automated Process InventionSimon Colton and John Charnley
Computational Creativity Group, Department of Computing, Goldsmiths, University of Londonwww.doc.gold.ac.uk/ccg
Figure 1: User-defined flowchart for poetry generation.
FlowchartsIronically, while automated programming has had a long andvaried history in Artificial Intelligence research, automat-ing the creative art of programming has rarely been studiedwithin Computational Creativity research. In many senses,software writing software represents a very exciting poten-tial avenue for research, as it addresses directly issues re-lated to novelty, surprise, innovation at process level and theframing of activities. One reason for the lack of research inthis area is the difficulty inherent in getting software to gen-erate code. Therefore, it seems sensible to start investigatinghow software can innovate at the process level with an ap-proach less than full programming, and we have chosen theclassic approach to process design afforded by flowcharts.Our aim is to provide a system simple enough to be usedby non-experts to craft generative flowcharts, indeed, sim-ple enough for the software itself to create flowcharts whichrepresent novel, and hopefully interesting new processes.
We are currently in the fourth iteration of development,having found various difficulties with three previous ap-proaches, ranging from flexibility and expressiveness of theflowcharts to the mismatching of inputs with outputs, thestorage of data between runs, and the ability to handle pro-grammatic constructs such as conditionals and loops. In ourcurrent approach, we represent a process as a script, ontowhich a flowchart can be grafted. We believe this offers thebest balance of flexibility, expressiveness and usability, andwill pave the way to the automatic generation of scripts inthe next development stage. We have so far implementedthe natural language processing flowchart nodes required tomodel aspects of a previous poetry generation approach anda previous concept formation approach.
The Flow SystemIn figure 1 we present a screenshot of the system, which istentatively called Flow. The flowchart shown uses 18 sub-processes which, in overview, do the following: a negativevalence adjective is chosen, and used to retrieve tweets fromTwitter; these are then filtered to remove various types, andpairs are matched by syllable count and rhyme; finally thelines are split where possible and combined via a templateinto poems of four stanzas; multiple poems are produced andthe one with overall most negative valency is saved. A stanzafrom a poem generated using ‘malevolent’ is given in figure2. Note in figure 1 that the node bordered in red (WordListCategoriser) contains the sub-process currently running, andthe node bordered in grey (Twitter) has been clicked by theuser, which brings up the parameters for that sub-process inthe first black-bordered box and the output from it in the sec-ond black-bordered box. We see the 332nd of 1024 tweetscontaining the word ‘cold’ is on view. Note also that theuser is able to put a thumb-pin into any node, which indi-cates that the previous output from that node should be usedin the next run, rather than being calculated again.
It’s our ambition to build a community of open-source de-velopers and users around the Flow approach, so that thesystem can mimic the capabilities of existing generative sys-tems in various domains, but more importantly, it can inventnew processes in those domains. Moreover, we plan to in-stall the system on various servers worldwide, constantly re-acting in creative ways to new nodes which are uploaded bydevelopers, and to new flowcharts developed by users witha variety of cultural backgrounds. We hope to show that, inaddition to creating at artefact level, software can innovateat process level, test the value of new processes and intelli-gently frame how they work and what they produce.
Figure 2: A stanza from the poem On Being Malevolent.
1