I’ve created two (VERY) simple semantic visualizations based on a search for terms defined as positive or negative. I was originally planning on dynamically generating word lists using WordNet or some other dictionary api. However, good-old dictionary.com has a much wider and deeper word well (including returns from WordNet). I looked into programatically parsing the returned dictionary.com url (which I may eventually do), but for now have generated the word lists manually (I know, I know, this is admitting some defeat). The visualizations plot a linear and then radial gradient based on lines containing the pos or neg terms. I keep track of the number of pos/neg terms, should a line contain multiple terms (some do). Each line (or concentric ring) overlaps its neighbors and is translucent, allowing some optical color mixing. Arbitrarily– red is pos and blue is neg. The gray is neutral.
I’ve been able to get the WordNet API integrated into a simple Java app. One amusing side-note is that I got stuck for a day trying to get the WordNet .jar file to run in my Java app. After spending a few hours of unsuccessful Googling, I picked up my own book, in which I explained (to myself) how to solve the problem. So what I thought originally would be the more time consuming and challenging parts of the project–parsing and semantic relationships–have been (at least initially) fairly straightforward. The larger challenge that looms before me is what the heck I’m going to do with all this data.
The problem is not actually what to do, but rather what to do in the next 2 weeks, prior to MLA. I wish I could just explore this material without the burden of deadline. This was supposed to be how I was going to spend my sabbatical this fall–yeah, right!
My thoughts about the visualization process today are to begin with single cell creatures and work my way up. I’ve been thinking about a name for these fundamental organisms: microbots, micro-protobytes, microbytes, protobits, protobots. My thought for these initial creatures is single pixels that bounce in 1 dimension: distance = word usage. I know this is fairly boring, but I feel like I need to begin simply and fundamentally. I will post a few Processing sketches of these initial tests next.
For our first brownbag in our self-directed Visualization Seminar, Ira gave us a chapter of From Complexity to Creativity: Computational Models of Evolutionary, Autopoietic and Cognitive Dynamics, by Ben Goertzel: Ch. 9, FRACTALS AND SENTENCE PRODUCTION about using the L-System (Lindenmayer System) for creating sentences. I was really happy about both the chapter’s argument and the L-system itself because they both evade expressivist theories of how language works, you know, that 19th-c idea probably traceable to John Stuart Mill that thoughts and feelings are this inchoate stuff that you shove into language, words envisioned as containers (or trash bins, really, if you are thinking catharsis). These theories have been overturned by deconstruction, or less obscurely, by Lakoff and Johnson, Metaphors We Live By. In any case, this kind of programming system which produces the beautiful visuals that go with fractals (in Benoit Mandelbrot’s work), because it is recursive and also because it allows for bracketing and incorporating environmental effects into a recursive growth system, generates these beautiful tree-like structures. It seems perfect for generating sentence structures as well. I want to use it in creating my novels of various genres that will ultimately be CAVE novels — not in any mimetic sense; the graphics will be produced by the words but not as pictures of what the words say.
This was great fun — y’all come next time!!