view senses death (discourse modeling with lexical chaining)
Power seen die, of hell,
silence. This heaven away.
God despair obtained connect,
second paradise with special.
Different ocean another life,
children knew sadness died?
Through end showed sadness,
getting longer waiting dead,
wide. Moves damn suicide’s
view senses death. Violent
weak cross over nothing depths.
Where die far deep.
Feeling forgotten. Still funeral,
without escape said I’m gone.
May 7-8 2011, lexical chain selected from Suicidal Thoughts by Biggie Smalls, expanded with words from Joy Divison’s Unknown Pleasures using WpN.
Lexical chains are sequences of words that are related by the superficial meanings of the words – i.e. without taking into account context or any more complex model of meaning. Computational linguists look at lexical chains in a document for a variety of reasons, like summarization. It’s an easy thing to do ’cause you can just look up the word meaning in a dictionary and look up relations with a tool like WordNet, so you don’t need to commit to a full semantic parse.
Anyways, I was thinking of using lexical chaning to help add discourse to an interactively generated poem. I started out this lil’ exploration by manually selecting a lexical chain from Biggie’s Suicidal Thoughts related to death and the afterlife, and I got this:
then I manually built a template for use in WpN:
x x die, x hell
x x heaven x
God x x x
x paradise x x
x x x life
x x x died?
x end x x
x x x dead,
x x x suicide’s
x x death x
x cross over x x
x die x x
x x x funeral
x x x I’m gone
A while back I added a function in WpN that will randomly choose replacements for any or all of the template selections (the “x”es above). So I defined an authoring method 7c9a2874-1d70-4ddd-b3d5-52498bb0b962 (iterative random generation): given a template to be filled in,
- randomly replace the empty elements of the template
- go through the poem and choose which template elements are OK (i.e. unselect the checkboxes in WpN)
- go to step 1, counting how many times you’ve done this
For the poem above I did 6 iterations. Anyway, then I added punctuation using a few simple rules:
- If a word w is capitalized, add a punctuation mark before w. (unless w is the first word in the poem)
- Optionally add a punctuation mark at the end of every line.
- If a line n ends in a punctuation mark, and the first word of line n+1 is not capitalized, optionally capitalize it.
Which is Method efeec29d-c1ef-43fc-a2b2-8098ed260ac8 (adding punctuation and capitalization guided by existing capitalizations and line-breaks).
The fixed template made the poem’s sentence structure a little boxy, and I think I made a mistake in not weighing for frequency of words, which is why I have so few common words like “the” and “and”. But I think the lexical chaining approach in general shows promise, especially if paired with other generation techniques.