Poetry toys in ChucK with Word2Vec
When starting this assignment, I found myself immediately thinking about what it means for a computer to be able to 'perceive.' This was partly motivated by the idea that the best kinds of poetry touch on deeply human experiences: the passing of time, human relationships, beauty, love, friendship, peace, loneliness, and everything else under the sun.
For my first poetry toy, dust.ck, I was inspired by the first idea above: the passing of time. I've read a lot of interesting articles about the absence of objective time for humans: the idea that we are limited in the perception of time by our 5 senses. While a computer can 'experience' 'perfect time,' using atomic synchronized clocks, humans are forever bounded by subjectivity. Furthermore, humans are bound by the knowledge that we will all eventually die one day, a knowledge that seeps into our every day decision making. Even if computers had a similar "limit" to their time, would it be possible for them to "know" this in any meaningful way?
All that to say, I started with a famous line of "poetry," spoken by God in the bible to Adam upon his eternal banishment from the Garden of Eden: "Remember that you are dust, and to dust you shall return," a sweet reminder of the fact that humanity must now bear the knowledge of mortality as punishment for seeking the knowledge of good and evil. Our text terminal repeats this to us every time, using Word2Vec to transform every word into the sentence into one of its top 10 "nearest" semantic words, slowly devolving away from any kind of meaning while repeating a typing sound reminiscent of the way a computer might sound to be "speaking" this line to us. Throughout this process, more and more characters are missing from the terminal and it slows down, overall emulating what it might be like for a program to "age" in the same way we do, albeit sped up over a couple seconds.
It felt a little cruel to force it to lose all semblance of meaning and its ability to "speak," but then again it's just 100 lines of code, so I shouldn't feel bad, but I guess that's the nature of thinking too deeply about all of this.
For my second poetry toy, beauty.ck, I was thinking about what it would mean for a computer to perceive beauty and meaning, also important aspects of poetry. I started with a graphic on Pinterest about different flowers and what they represent, presumably to help people create the perfect bouquet imbued with every kind of nuance possible. I imagined my program in such a situation, pretending to be in some endless field and pretending like it knew anything about beauty, flowers, and nuance. It starts by telling us to stay for a moment, then tells us it's picked us a flower from the list, starts with the original "meaning" from the Pinterest graphic, then starts rambling off synonyms for the meaning as if it's convincing us it knows what it's talking about. As the program gathers a bouquet, bird chirping goes off in the background, but becomes increasingly annoying as we can tell it's all simulated from a couple short clips and is not, in fact, natural. At the end of each stanza, the program repeats "isn't it beautiful here?", and while it seems like an innocent rhetorical question at first, it eventually sounds like a plea for help or like a form of self-convincing.
And again, I felt a little bad. But I can always just Ctrl-C and move on to something else.