Wednesday, September 19, 2012

iLaugh - Computational Humor



Knock, knock...

Who's there?

Torch.

Torch, who?

Torch you'd never ask. 




"The Best Internet Operating System Ever" 
has a punny sense of humor. 


Here's how it works: 

  1. If you don't already have Voice Recognition running on your computer, follow the instructions on the following link to set it up: http://www.bbc.co.uk/accessibility/guides/voice_recognition/computer/mac/os_x/index.shtml#setup_new 
  2. Once you've set up Voice Recognition, a small icon will appear on your screen that looks like this:                                                                                                                                                                  
  3. Now, (hold down the 'esc' key) say: "Tell me a joke..."
  4. Your computer will respond with, "Knock, knock." 
  5. Reply with: "Who's there?"
  6. After which, your computer will deliver the punchline. 
    • (For a computer to recognize your speech, hold down the 'esc' key).  


Knock, Knock. 

Who's there?

Tinker Bell. 

Tinker Bell, Who? 

Tinker Bell is out of order. 



Granted, the jokes are a little flat, but they are funny in a simple, general audience sort of way. 

Why, you might be asking, would Apple go so far to to include a Joke Teller? That's a good question. If we wish to program computers to be more human-like, naturally, they need to have a sense of humor. 



Natural Language Processing (NLP) took a ginormous step forward with the introduction of Apples' computational humor program.

The emotive components of a computer's sense of humor are aimed at both detecting emotions in human users and expressing emotions (theoretically based off of their computational interfaces). While these interfaces are largely text-based, these anthropomorphic agents now have humorous capabilities that make our computers more "likable"; therefore, more human-like. 

For the moment, however, we probably won't be paying a cover charge to listen to our computers tell jokes.  Early first-generation systems of computational humor like Apple's Joke Teller and Loehr's JAPE are basically nothing more than punning riddle generators. For example: 

(i) "cereal" IS-A "breakfast food"
(ii) "murderer" IS-A "killer"
(iii) "cereal" SOUNDS-LIKE "serial" 
(iv) "serial killer" is a meaningful phrase

to produce the pun:

Q: What do you get when you cross breakfast food with a murderer? 
A: A cereal killer. 

Fans of the Big Bang Theory television show are familiar with Sheldon's classic: Bazinga! However, listening to him say it a hundred times or more in this video feels scripted because it's not contextual (we're not watching the actual episode). Computer humor is a little bit like this. The jokes are pregenerated, and delivered out of context. 
Still, through verbal play, in particular punning, computers can easily create humor-relevant elements (at the moment, their timing stinks!) that mimic real-life comic skits. Once we master computer-based humor, we'll perhaps have better insight into how the brain processes humor. However, for the moment, based off of my own computer's timing, the computational humor field is definitely in the 1.0 stage.
Without going into the complexities of ontology-based knowledge-representation languages for natural language meaning, I'll bring this post to a close with an animated video of what might someday happen when our computers spontaneously develops a sense of humor:

No comments: