This project has been years in the making for me. I wondered what it'd be like to make my own digital picture frame. Instead of showing a slideshow of images provided on some kinda USB stick, I wanted to show random images from the internet. And I wanted it to show images according to some kind of a stream-of-consciousness. My golden example was for it to show a picture of a dog, and then show a picture of a hot dog right after it, and then maybe another sandwich, and so on.
So I needed a program that could, as if a stream of consciousness, create a list of terms where each is related to the one before. I used the Princeton lexical database Wordnet to help do this.
Wordnet is a database for real (or human) languages, in my case English. It has a list of meanings of each word just like a dictionary, but the kicker is it also situates each word into an all-encompassing heirarchy of things and concepts. Searching aardvark on wordnet will tell you that it's an anteater which is a placental mammal which is a mammal which is a vertebrate which is a chordate which is a animal which is a organism which is a living which is a whole which is a object which is a physical entity.
My picture frame program traverses the Wordnet's "tree of meaning" to accomplish the stream of consciousness feel. For instance, the code will kick off the SOC with a random term from a list, like dog. Wordnet will give us each meaning of dog, as well as the hierarchy of its meaning. Dog is an animal which is a mammal which is an organism. The next word will either pertain to dog's other meanings, or will go one level up the tree, to mammal, and search for other mammals. If it wants it can also search for other organisms. This process goes on forever!