|
Posted: Aug 31, 2013 |
[ # 31 ]
|
|
Guru
Total posts: 1009
Joined: Jun 13, 2013
|
That is quite impressive.
|
|
|
|
|
Posted: Aug 31, 2013 |
[ # 32 ]
|
|
Senior member
Total posts: 336
Joined: Jan 28, 2011
|
Together with the main concept of incongruity, a component of playful, incomplete resolution of this incongruity is an essential part of humor.
The question is how to achieve this programatically for any topic (‘the test’).
While Steve’s approach does get good results, it is more because of the careful human selecting and indexing of relationships than actual original humor; there is little chance to getting a joke for subject “x” with a personally created/maintained “ontology of common words along with meanings, colours, rhymes, what it is made of, how big it is and so on”.
|
|
|
|
|
Posted: Sep 1, 2013 |
[ # 33 ]
|
|
Senior member
Total posts: 111
Joined: Jul 20, 2013
|
Steve’s approach does achieve a playful resolution, and any joke (any bot) will in the end be traceable to what knowledge a human put in there about the world. It’s just one of many joke mechanisms, sure, but it’s definitely one. No single joke algorithm will be able to come up with a joke on any topic, that’s to be expected.
|
|
|
|
|
Posted: Sep 1, 2013 |
[ # 34 ]
|
|
Senior member
Total posts: 336
Joined: Jan 28, 2011
|
Wouter Smet - Sep 1, 2013: No single joke algorithm will be able to come up with a joke on any topic, that’s to be expected.
Or, you just have low expectations!
|
|
|
|
|
Posted: Sep 1, 2013 |
[ # 35 ]
|
|
Guru
Total posts: 1009
Joined: Jun 13, 2013
|
On second inspection, your program generally seems to take “x”, find a phonetically similar word “aks”, and then finds an associated or dictionary description of the latter. Quite clever as well. So, is your program hooked up to a vast internet resource?
While such a resource obviously covers a far broader range than a manually entered knowledge database, it is not necessarily better at humour. “getting” jokes does depend on the quantity of knowledge on the receiver’s end, but making jokes is a matter of quality, easier to arrive at through moderation.
The difficulty in making a good joke on any topic, as C.R. Hunt also noted, is also being aware of what your audience knows. Your program may have all the knowledge in the world, but if it uses knowledge or vocabulary beyond my own, it will yet fail to make me laugh . Perhaps you could search for a way to distinguish the common from the rare to improve your program.
|
|
|
|
|
Posted: Sep 1, 2013 |
[ # 36 ]
|
|
Senior member
Total posts: 336
Joined: Jan 28, 2011
|
Don Patrick - Sep 1, 2013: So, is your program hooked up to a vast internet resource?
Indeed it is- vast internet resources, actually.
Don Patrick - Sep 1, 2013: Your program may have all the knowledge in the world, but if it uses knowledge or vocabulary beyond my own, it will yet fail to make me laugh . Perhaps you could search for a way to distinguish the common from the rare to improve your program.
Good points of course, but I do not usually go for the usual, typical, or expected. The “humor” being generated is in often just the discovery of something new in involking a sort of mental resonance from related, but apparently dissonent word/concept/relationship nodes. How to capture this resonance (in a node vector?) is the challenge.
|
|
|
|
|
Posted: Sep 3, 2013 |
[ # 37 ]
|
|
Guru
Total posts: 1081
Joined: Dec 17, 2010
|
http://www.newscientist.com/article/dn24050-robot-comedian-stands-up-well-against-human-rivals.html?cmpid=RSS|NSNS|2012-GLOBAL|robots#.UiXJ3cu9KSM
Robot standup comic.
|
|
|
|
|
Posted: Sep 3, 2013 |
[ # 38 ]
|
|
Senior member
Total posts: 336
Joined: Jan 28, 2011
|
Merlin - Sep 3, 2013: http://www.newscientist.com/article/dn24050-robot-comedian-stands-up-well-against-human-rivals.html?cmpid=RSS|NSNS|2012-GLOBAL|robots#.UiXJ3cu9KSM
Robot standup comic.
Funny stuff, but the “routine…was completely pre-programmed, right down to the timing and delivery of the jokes”. It is a robot delivering (TTS) human stand up.
|
|
|
|
|
Posted: Sep 7, 2013 |
[ # 39 ]
|
|
Guru
Total posts: 1009
Joined: Jun 13, 2013
|
Here’s another type of jokes, even easier to do with a simple knowledge database. Just find a noun with the same (ambiguous) trait and voila:
I like my X like I like my Y: Variable
|
|
|
|
|
Posted: Sep 23, 2013 |
[ # 40 ]
|
|
Senior member
Total posts: 336
Joined: Jan 28, 2011
|
Another computer humor site of interest is here: TheJokingComputer
They go through some nice examples of how to generate “humor”.
While a well tended corpus (ala Steve’s) gives consistently good results, a more serendipitous approach can often surprise and amuse/bemuse.
In the current Laybia implementation, Wordnik is used to generate “related” word arrays and the CMU metaphone dictionary for rhyming. This process is done recursively to generate the relational “humor”.
A csv file with some (>100) recent input/output from our “joke” bot with this format:
INPUT
Tell me something really funny.
OUTPUT
A computational hospital joke: What do you call a common myrtle mental home? A hospital myrtle?
USERID, ABOUT, BIAS, CONTEXT
314371, joke about hospital, 213, funny shy
|
|
|
|
|
Posted: Oct 9, 2013 |
[ # 41 ]
|
|
Senior member
Total posts: 111
Joined: Jul 20, 2013
|
Just ran into another ‘joke mechanism’ related article today: somebody’s school paper on how famous stand up comedian Mitch Hedberg did it:
http://www.scribd.com/doc/174667541/Pragmatics-Final-Essay-Reddit
|
|
|
|
|
Posted: Oct 9, 2013 |
[ # 42 ]
|
|
Thunder Walk
Senior member
Total posts: 399
Joined: Feb 7, 2009
|
Wouter Smet - Oct 9, 2013: Just ran into another ‘joke mechanism’ related article today: somebody’s school paper on how famous stand up comedian Mitch Hedberg did it:
http://www.scribd.com/doc/174667541/Pragmatics-Final-Essay-Reddit
Thanks for that on many levels. I’d seen Mitch Hedberg and enjoyed his “voice” but didn’t know his name, or that he had died. The article mentioned, “taking a normal mundane concept or phrase, and putting a spin on it.” Wikipedia says that Steven Wright was one of his influences, and one of his lines is, “My brother joined the Centrifugal Air Force.” I thought it was interesting (and funny) the way the terms centrifugal force and Air Force were combined, and it was easy to think of lots of others, especially using a search engine.
Steven also said, “When you’re a dog, every day is Saturday.” Or something like that.
|
|
|
|
|
Posted: Oct 30, 2013 |
[ # 43 ]
|
|
Member
Total posts: 3
Joined: Jun 16, 2012
|
Wouter Smet - Aug 29, 2013: Merlin - Aug 29, 2013: IPod-AI—I sync, therefore I am.
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]
Step 4. Getting a list of things that can carry out a verb. How do you think that would be done?
|
|
|
|
|
Posted: Oct 30, 2013 |
[ # 44 ]
|
|
Senior member
Total posts: 623
Joined: Aug 24, 2010
|
Phwne - Oct 30, 2013: Step 4. Getting a list of things that can carry out a verb. How do you think that would be done?
One would need access to an ontology or databank. For example, OpenCyc.
|
|
|
|
|
Posted: Oct 31, 2013 |
[ # 45 ]
|
|
Member
Total posts: 3
Joined: Jun 16, 2012
|
Okay, I had a go at writing something in PHP that could try and come up with this joke on it’s own:
Merlin - Aug 29, 2013: IPod-AI—I sync, therefore I am.
Using Wouter’s algorithm:
Wouter Smet - Aug 29, 2013:
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]
For 2. I used POS tagging to find which word is the main verb.
For 3. I wrote a small script in perl which the PHP script gets the output from (based off the python code and rhyming dictionary here: http://sourceforge.net/projects/rhyme/)
For 4. It searches wikipedia for the phrase “can <verb>”, e.g. “can sync” (probably a very bad method!)
The example output is:
1. Start with a famous quote
Quote: I think, therefore I am
2. look for the main (or any?) verb (or noun or…)
Main verb: think
3. look for another verb (or noun or…) phonetically similar (I think best would be rhyming) to it.
List of rhyming verbs: blink, chink, clink, drink, ink, kink, link, pink, shrink, sink, stink, sync, think, wink
I didn’t run through all of these verbs. Here are the results for the verb “sync:”
4. look up which entities are able to perform that verb (or noun or…), and nouns that are closely related to the noun
List of fitting nouns for verb “sync”:
Array
(
[0] => BitTorrent Sync
[1] => Adobe Story
[2] => Reminders (application)
[3] => Google Cloud Connect
[4] => Google Contacts
[5] => Funambol
[6] => MMF (Music Managers Forum)
[7] => Apple TV
[8] => IPad Air
[9] => IPad Mini (2nd generation)
[10] => Comparison of file hosting services
[11] => BitTorrent (company)
[12] => Google Drive
[13] => Microsoft Office 2013
[14] => MediaMonkey
[15] => IPhone 5S
[16] => Western Digital Media Center
[17] => Windows Media Center
[18] => VZ Navigator
[19] => Google Docs
[20] => Microsoft Project
[21] => Exchange ActiveSync
[22] => IPad Mini (1st generation)
[23] => IPad Mini
[24] => E-mu SP-1200
[25] => URGE (digital music service)
[26] => Near real-time
[27] => Bandsintown
[28] => IPad (4th generation)
[29] => Norton Internet Security
[30] => IPhone 5C
[31] => IPad (3rd generation)
[32] => FriendCaller
[33] => Slidecasting
[34] => Covide
[35] => HTC Dream
[36] => IBooks
[37] => Señorita (song)
[38] => Wakin on a Pretty Daze
[39] => IOS 6
[40] => Rockstar Games Social Club
[41] => IPad 2
[42] => The Prince of Tennis
[43] => SkyDrive
[44] => Mystery Science Theater 3000
[45] => IPhone 5
)
5. fake the ‘author’ of the quote to that entity (a famous instance of it perhaps?), and replace the verb in the quote
Here is a joke about BitTorrent Sync: I sync therefore I am
Here is a joke about Adobe Story: I sync therefore I am
Here is a joke about Reminders (application): I sync therefore I am
Here is a joke about Google Cloud Connect: I sync therefore I am
Here is a joke about Google Contacts: I sync therefore I am
Here is a joke about Funambol: I sync therefore I am
Here is a joke about MMF (Music Managers Forum): I sync therefore I am
Here is a joke about Apple TV: I sync therefore I am
Here is a joke about IPad Air: I sync therefore I am
Here is a joke about IPad Mini (2nd generation): I sync therefore I am
Here is a joke about Comparison of file hosting services: I sync therefore I am
Here is a joke about BitTorrent (company): I sync therefore I am
Here is a joke about Google Drive: I sync therefore I am
Here is a joke about Microsoft Office 2013: I sync therefore I am
Here is a joke about MediaMonkey: I sync therefore I am
Here is a joke about IPhone 5S: I sync therefore I am
Here is a joke about Western Digital Media Center: I sync therefore I am
Here is a joke about Windows Media Center: I sync therefore I am
Here is a joke about VZ Navigator: I sync therefore I am
Here is a joke about Google Docs: I sync therefore I am
Here is a joke about Microsoft Project: I sync therefore I am
Here is a joke about Exchange ActiveSync: I sync therefore I am
Here is a joke about IPad Mini (1st generation): I sync therefore I am
Here is a joke about IPad Mini: I sync therefore I am
Here is a joke about E-mu SP-1200: I sync therefore I am
Here is a joke about URGE (digital music service): I sync therefore I am
Here is a joke about Near real-time: I sync therefore I am
Here is a joke about Bandsintown: I sync therefore I am
Here is a joke about IPad (4th generation): I sync therefore I am
Here is a joke about Norton Internet Security: I sync therefore I am
Here is a joke about IPhone 5C: I sync therefore I am
Here is a joke about IPad (3rd generation): I sync therefore I am
Here is a joke about FriendCaller: I sync therefore I am
Here is a joke about Slidecasting: I sync therefore I am
Here is a joke about Covide: I sync therefore I am
Here is a joke about HTC Dream: I sync therefore I am
Here is a joke about IBooks: I sync therefore I am
Here is a joke about Señorita (song): I sync therefore I am
Here is a joke about Wakin on a Pretty Daze: I sync therefore I am
Here is a joke about IOS 6: I sync therefore I am
Here is a joke about Rockstar Games Social Club: I sync therefore I am
Here is a joke about IPad 2: I sync therefore I am
Here is a joke about The Prince of Tennis: I sync therefore I am
Here is a joke about SkyDrive: I sync therefore I am
Here is a joke about Mystery Science Theater 3000: I sync therefore I am
Here is a joke about IPhone 5: I sync therefore I am
Wikipedia didn’t end up finding iPod :( so I failed.
|
|
|
|