Linguistic Techniques

People interact almost entirely through language. Stories are almost always expressed in linguistic form. There are a few notable exceptions, comics providing the best example. I checked a book of cartoons by Gary Larson, one of the greatest comic artists, and found that 37 out of 200, or 19%, of his comics used no language. Here’s one of my favorite examples:

GaryLarson

Cinema demonstrates just how important language can be. Movies were originally silent, but when sound technology became available, the switch from “silents” to “talkies” was almost instantaneous. Language is fundamental to storytelling. 

Obviously, then we should use language for interactive storytelling. There’s only one little hitch: it’s impossible. People have been working on the problem (called “natural language comprehension”) since the 1950s, and enormous progress has been made, but we have also learned that we will NEVER obtain full natural language comprehension. That’s because language reflects our reality, and reality is, well, kinda big. Can you imagine what it would be like to define the data structure of reality?

Class Planets: Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune;
Class Emotions: Love, Lust, Anger, Happiness, Trust, Admiration…
Class Food: Hamburger, Hot Dog, Spinach, Broccoli, Asparagus, Candy, Steak, Peas…
Class Minerals: Olivine, Serandite, Mackinawite, Ozokerite, Hubnerite, Kyanite, Gypsum…
Class Virtues: Humility, Charity, Chastity, Honesty, Tactfulness…

Obviously, defining reality in computer-usable terms is flat-out impossible, and if you can’t define reality, then you can’t define the language the describes it. So we instead rely on half-measures. Most computer applications relying on language use confine themselves to a subset of language. I’m sure that Siri knows about restaurants and gas stations, but when I asked her a question about the relationship between Darth Vader and Luke Skywalker, she could only point me to websites about Star Wars. 

But there’s a fatal flaw in using a subset of natural language: the user doesn’t know what linguistic expressions will work and what expressions won’t work. Ask Siri “Where is the nearest gas station?” and she’ll have no problem. Ask her “Why do dynamical parallax algorithms fail to work correctly with stars off the Main Sequence?” and she’ll pass the buck to a website. Even simple statements that, taken individually, are easy to understand can become tricky when put together:

“Your flight is delayed for three hours and then cancelled, so you return to your car and head back home, arriving around 2:00 in the morning. Your best friend’s car is parked in the driveway.” 

You and I can easily figure out what that means, but there’s no computer that can figure that out without specific data.