A Flowcharting System for Process...

1
Towards a Flowcharting System for Automated Process Invention Simon Colton and John Charnley Computational Creativity Group, Department of Computing, Goldsmiths, University of London www.doc.gold.ac.uk/ccg Figure 1: User-defined flowchart for poetry generation. Flowcharts Ironically, while automated programming has had a long and varied history in Artificial Intelligence research, automat- ing the creative art of programming has rarely been studied within 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 the framing of activities. One reason for the lack of research in this area is the difficulty inherent in getting software to gen- erate code. Therefore, it seems sensible to start investigating how software can innovate at the process level with an ap- proach less than full programming, and we have chosen the classic approach to process design afforded by flowcharts. Our aim is to provide a system simple enough to be used by non-experts to craft generative flowcharts, indeed, sim- ple enough for the software itself to create flowcharts which represent 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 the flowcharts to the mismatching of inputs with outputs, the storage of data between runs, and the ability to handle pro- grammatic constructs such as conditionals and loops. In our current approach, we represent a process as a script, onto which a flowchart can be grafted. We believe this offers the best balance of flexibility, expressiveness and usability, and will pave the way to the automatic generation of scripts in the next development stage. We have so far implemented the natural language processing flowchart nodes required to model aspects of a previous poetry generation approach and a previous concept formation approach. The Flow System In figure 1 we present a screenshot of the system, which is tentatively called Flow. The flowchart shown uses 18 sub- processes which, in overview, do the following: a negative valence adjective is chosen, and used to retrieve tweets from Twitter; these are then filtered to remove various types, and pairs are matched by syllable count and rhyme; finally the lines are split where possible and combined via a template into poems of four stanzas; multiple poems are produced and the one with overall most negative valency is saved. A stanza from a poem generated using ‘malevolent’ is given in figure 2. Note in figure 1 that the node bordered in red (WordList Categoriser) contains the sub-process currently running, and the node bordered in grey (Twitter) has been clicked by the user, which brings up the parameters for that sub-process in the first black-bordered box and the output from it in the sec- ond black-bordered box. We see the 332nd of 1024 tweets containing the word ‘cold’ is on view. Note also that the user is able to put a thumb-pin into any node, which indi- cates that the previous output from that node should be used in 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 the system can mimic the capabilities of existing generative sys- tems in various domains, but more importantly, it can invent new 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 by developers, and to new flowcharts developed by users with a variety of cultural backgrounds. We hope to show that, in addition to creating at artefact level, software can innovate at 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

Transcript of A Flowcharting System for Process...

Page 1: A Flowcharting System for Process Inventionccg.doc.gold.ac.uk/wp-content/uploads/2016/11/colton... · 2017-05-08 · Towards a Flowcharting System for Automated Process Invention

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