Merlin - Aug 29, 2013:
IPod-AI—I sync, therefore I am.
This suggests another possible approach to humor: taking advantage of phonetic representation of a word (which one might store simply next to the word in the knowledge base).
I do not find it inconceivable for a bot to come up with this joke. It would take LOTS of advancements and LOTS of meta-information to be stored with each ‘fact’ (and, as always, LOTS of facts).
But I can see it done, and at the heart of such a joke algorithms (and many others) would be lookups for ‘phonetically similar’ (of which ‘rhyming’ is a useful special case) terms.
ALGORITHM:
[ol][li]Start with a famous quote[/li]
[li]look for the main (or any?) verb (or noun or…)[/li]
[li]look for another verb (or noun or…) phonetically similar (I think best would be rhyming) to it.[/li]
[li]look up which entities are able to perform that verb (or noun or…), and nouns that are closely related to the noun [/li]
[li]fake the ‘author’ of the quote to that entity (a famous instance of it perhaps?), and replace the verb in the quote[/li]
[/ol]
Like I said, thinking ‘algorithmically’ about humor is how I got into this whole chatbot game in the first place, so I think I am adding this mechanism to Yoko’s to-do list. Each of these steps is doable to implement in her framework, though I should do some studying on how to best store phonetic information.
A consideration I’ve had with other forms of humor as well (see my linked article above), is here relevant to step 3: when playing around with associations like that, the more UNIQUE the association is, the more likely
people are able to get the joke, or in other words the more effective the joke is.
If your algoritmically generated joke depends on tomatoes being red, it’s more likely to work than if it depends on tomatoes being a vegetable.
LET’S TEST MY ALGORITHM TO GENERATE SOME OF THE FUNNY. From the top of my head:
[ol][li]‘Seize the day!’ - unknown[/li]
[li]main verb: seize, main noun: day[/li]
[li]phonetically similar verbs: squeeze, please. Nouns: hay, clay[/li]
[li]entities also linked to the similar vebs: respectively rubber ducks, (nothing comes to mind for ‘please’ except general people). Entities linked to the nouns: donkey, pottery resp. A big bonus would be an entity linked to phonetically similar words to BOTH the verb and the nouns. That would be a zinger, but it would also be performance-intensive, and very often, not get any hits. But, doable. [\li]
[li]This is all we need! For a bonus, if we have a famous instance of our joke entities, let’s use that for originality. Famous rubber ducks? Nope. Famous donkeys? Nope. Famous pottery stuff? Ok, again not, but others may know more of English popular culture.[/li]
[/ol]
Let’s have a look at the output of my algorithm here:
[ul]
[li]‘Squeeze the day!’ - Mr. Rubberduck[/li]
[li]‘Please the day!’ ... No entity found for ‘please’, so nothing here[/li]
[li]‘Seize the hay!’ - Mr. Donkey[/li]
[li]‘Seize the clay!’ - my local pottery store[/li]
[/ul]
Not too bad if you ask me! Bear in mind that this was all done using simple, algorithmic steps, and with both the quote and the associations being the first ones that popped in my head. With the right ‘seed data’ you can easily generate hundreds of these.
Regarding my remark above, two interesting considerations:
- I didn’t know an author here, but finding a phonetically similar AUTHOR out of our related would of course be bonus funnypoints. I wonder how much of a combinatorial explosion this is all gonna result in.
- the more universally known the quotes, and any specific instances of our ‘replacement’ entities to make as the author, the better these will work.
- the more unique the relation is, the better these will work. ‘universally known’ may be hard to judge objectively, but this second criterion is just a simple counting matter.
A FINAL REMARK: Something the above would also play a part in generating original poetry. I know at one point bot-generated poetry was kinda ‘hot’ in AI (probably around 1970, like always ). Did those bots work like this? Or am I being too optimistic again
God I love this stuff.
And yes, I am definitely resolving to store phonetic information in Yoko’s knowledge base at some point now. Her architecture perfectly allows implementing the above algorithm, and much more importantly: the joke that started this post is proof that even though us Turing-folk tend to focus on WRITTEN conversation, pronounciation still often plays a crucial role in natural conversation.