Co-PoeTryMe: a Co-Creative Interface for the Composition of Poetry

Co-PoeTryMe is a web application for poetry composition, guided by the user, though with the help of automatic features, such as the generation of full (editable) drafts, as well as the acquisition of additional well-formed lines, or semantically-related words, possibly constrained by the number of syllables, rhyme, or polarity. Towards the final poem, the latter can replace lines or words in the draft.


Context
PoeTryMe (Gonc ¸alo Oliveira, 2012) is a platform for automated poetry generation from a set of initial parameters, such as the poetry form, the language (English, Portuguese or Spanish), a set of seed words or a surprise factor.A semantic network and a grammar are combined to produce semanticallycoherent lines, using the seeds or words related to them, grouped according to the given poetry form, with the corresponding number of syllables, and often with rhymes.
This was originally an autonomous procedure, without user interaction but providing the initial parameters.Yet, after using PoeTryMe, creative writers and other interested people expressed their wish to make changes in the resulting poems or to interact with the system and take part in the creative process.Some even confessed to have generated several poems, keeping only some of the lines and, from their manual selection, created a new poem, more in line with their intents.Although the obtained results are generally ok, intention-related aspects can always be improved (Gonc ¸alo Oliveira et al., 2017), not to mention that assessing the quality of poetry is a subjective task and may diverge from user to user.
This was our main motivation for developing Co-PoeTryMe, a creativity-support application that enables the user to interact with some of the modules that constitute PoeTryMe.As it happens in the Poetry Machine (Kantosalo et al., 2014) and jGnoetry1 , specifically for poetry, or DeepBeat (Malmi et al., 2016) and LyriSys (Watanabe et al., 2017), for song lyrics, Co-PoeTryMe enables the collaboration between humans and a computational system towards the co-creation of poems.Co-PoeTryMe takes advantage of the architecture of PoeTryMe and its unique functionalities, and adopts a rational hands-on design, with few decorative elements, aiming to make the process of poetry composition visually more interesting.

Co-Creative Poetry Composition
Developing Co-PoeTryMe was eased by the modular architecture of PoeTryMe and its web API, that enables the production of full poems with a predefined structure; single lines, given a set of seed words; or words, semantically or structurally constrained.Co-PoeTryMe is a web-based application, developed in JavaScript, and thus portable, as it does not require the installation of additional software, only a browser and a working Internet connection.
Co-PoeTryMe is based on several visual modules, each covering a specific group of functionalities, and only visible when the actions they provide are available.Modules are placed around a central module that displays the current draft and en- ables its edition (Figure 1).To start co-creating, the user can: (i) write a poem right away; (ii) import an existing poem draft from a text file; (iii) use the Drafts module, in the left-hand side, for generating a draft, given a target language (English, Portuguese or Spanish), a predefined or custom poetry form, a surprise factor (0-4), and a list of seed words for setting the semantic domain.
Once the central module has content, full lines or words can be selected to be edited, swapped, or to be used as input for the generation of new words or lines.Selecting a line reveals the Lines module (Figure 2, left), which enables the generation of alternative lines, using one of the given seeds and with a target number of syllables.Selecting a word reveals the Words module (Figure 1, left), which can be used for the acquisition of words combining a subset of the following constraints: semantically-related (synonym, hypernym or hyponym, co-hyponyn, antonym, or other), rhyming, or same number of syllables as the target word; or with a certain polarity (positive or negative).Retrieved words appear in the Generated module, on the right-hand side.They can be added or swapped with any word in the draft, or moved to the Bank, below, in order to be used later.Words that were once part of the draft appear in the Trash module.A similar set of modules exists for the lines.
The top module has utility buttons for selecting the application language (English or Portuguese), showing or hiding tooltips, importing or exporting a draft, sharing in social networks, undo, redo, as well as tool for visualizing the changes made from the initial draft to its current state (Figure 2).
Poem composition results from user interaction with the available modules and their underlying in- teraction with PoeTryMe's API.

Conclusion
Co-PoeTryMe was developed to meet the wishes of PoeTryMe users, who can now play with the available functionalities, hopefully towards the creation of better poems.Co-PoeTryMe is freely available to be used by anyone, on the Web2 .

Figure 1 :
Figure 1: Poem edition and word generation.

Figure 2 :
Figure 2: Line generation and visualizing the changes.