A key aspect of the site is the ability to compose poems from a set of constraints that the user can specify.
The pattern specifies the number of rhymes in the poem and their arrangement: ABBA, ABBA, CCD, EDE for the French sonnet, ABAB, CDCD, EFEF, GG for the Shakespearean sonnet, ...
Oupoco lists 11 different models but there are many more. The most complete source of information on this subject is Jacques Roubaud's Quasi-Cristeaux (Web Edition Valérie Beaudouin & Anne F. Garréta).
The user can choose to restrict the corpus to a few authors. Beware, not all the authors selected will be included in the generated sonnet.
This constraint allows the selection of authors according to time intervals.
This constraint allows you to select the sonnets from which the verses are extracted on the basis of themes. The classification by theme was done by supervised learning.
The quality reflects the richness of the expected rhymes: rich rhymes, sufficient rhymes and poor rhymes (the quality of the rhyme is measured by the number of repeated sounds. If two words have one sound in common, the rhyme is said to be poor; if two words have two sounds in common, the rhyme is said to be sufficient; if two words have three or more sounds in common, the rhyme is said to be rich.
We propose 5 levels of rhyme quality:
- 1 (poor rhymes only),
- 2 (poor and sufficient rhymes),
- 3 (sufficient rhymes),
- 4 (sufficient and rich rhymes),
- 5 (rich rhymes).
Some constraints are obviously linked, notably dates and authors (this is why some boxes may appear in grey if they are not compatible with the choices already made).
Finally, it should be noted that the generated sonnets are not all perfect. Some constraints have not (yet) been taken into account. A single poem can be composed of mixed decasyllables and alexandrines, or a word can rhyme with itself, which is normally forbidden by the rules of versification. These points will be improved as soon as possible. They also depend indirectly on the richness of the database: the more sonnets the database contains, the more diversity it will offer and the more constraints it can support.