Their joke model misses one thing: each noun has to be commonly used in the phrase "I like my <noun> <adj>". People often say "I like my coffee black" but nobody ever says "I like my source open." I think that is why they sound weird. But I like the off-kilter unexptectedness.
For jokes in this pattern, there's a somewhat more hard-coded twitter bot that I think does a better job: https://twitter.com/ilikelikeilike
It does jokes of the form "I like my <noun1> like I like my <noun2>: <adj>, <adj>, [and not] <adj>".
noun1 is taken from a hand-coded list (hookups, fellas, lovers, spouses, etc.). noun2 is chosen randomly. Then the adjectives are just the top three adjectives found preceding noun2 in a corpus.
So for example,
I like my men like I like my banking: inefficient, shadow, not shady.
'men' was chosen from the hard-coded list. 'banking' was just a random noun. "inefficient banking", "shadow banking", and "shady banking" are common phrases in the corpus, so those three adjectives were chosen.
Oh, come on. This kind of joke is supposed to fall into the "so bad, it's good" category, which all three of these do in spades. Especially the bad sectors one.
there seems to be a market coming soon for such software - on one side government and politicians need to push their propaganda domestically and internationally through web2.0 and social media channels, on the other side ordinary people may soon want to have artificial realistic chatter generation tools as a way to increase chances of preserving privacy of their communications.
He's out of order right now. I plan to fix him when I've got time. For a while he ended up tweeting tons of nonsense with no spaces between words... my fault. Anyway I will fix him up again soon, but hope to (in my copious free time HAHAHAHAH) redo him in a more exciting way.
I considered working on this once. Especially "comeback" generation. If you look at the comments (or replies to comments) on 9GAG, most of them are pretty generic and follow some basic rules. I figure even a computer can learn to make them.
Darius Kazemi writes a lot of twitter bots and I find @AmIRiteBot pretty funny (if only in a it's so bad it's good way): https://twitter.com/amiritebot
For example: #YouDontKnowWhatStruggleIsIf? More like You Dont Know What Snuggle Is If, amirite?
I am writing a bot to play Cards Against Humanity.
One trick to know if a sentence is funny or controversial that works quite well: Simply have the bot post it in an IRC channel or chat-room and count the number of responses it elicits (and give extra weight to words like "lol").
The more people fail the Turing-test, the funnier/controversial the statement.
Anecdotal, but I've found that if you play one player 'at random' where you simply draw and play the card unseen, that random player tends to do pretty well and even win a significant number of times.
I think what this draws on is the tendency of humans to interpret unexpected statements which shift out understanding as humorous. (Joke setup which leads me to expect punchline x, but what instead what follows is y.)
The last time automated joke generation was discussed on HN, I learned that a large, or at least vocal, amount of people consider it to the be responsibility of anybody running automatic joke generation software to supervise the software to ensure that no truly offensive jokes are inadvertently generated.
I don't agree that such a responsibility exists, but it is probably worth keeping in mind that others do if you are interested in surfacing computer generated content like this. I would be wary of surfacing it without some form of auditing.
interesting ethical question - one is supposedly responsible for behavior of his automated tool/robot. If that automated tool is able to build and initiate execution of another, more complex (well big "if" of course here) automated tool ... at what level of complexity of separation the original responsibility ends, if any.
I assume (for people who think a human is responsible for the first bot) the responsibility always lies with the human, no matter how many bot are involved. I say this simply because nobody is really interested in being mad and yelling at a bot.
Whether or not the human deserves the blame is a tricky question, but I think in practice they will get it regardless.
Chances are any genetic algorithm would be impractical due to the necessity of using a human as a fitness function. Unless you could create a neural network to classify jokes as funny or not... which immediately suggests to me an AI version of that standup comedy competition. Hm; maybe I have a new side project.
I'm saying that before you write a game with an NPC that makes computer generated jokes, you should probably make sure it isn't going to be making any rape jokes.
I don't think doing that should be necessary, I'm just pointing out that there are people who could be offended, even if they know the joke is algorithmically generated. If you are okay with a few people being mad at you, then knock yourself out, but if it might cause a PR issue that you don't want to deal with then you should exercise caution.
I'm trying to offer a pragmatic warning, not make an ethical argument.
Offensive jokes occur in real life. The level of censorship should be a tuneable parameter of the NPC in question. Who's going to be able to suspend disbelief when the unsavory thug restricts himself to inoffensive jokes?
Well, that's a decision each dev has to make I suppose. Personally, I have absolutely nothing against offensive jokes; I think anything can be joked about.
I heard a story on NPR about an IBM research group developing an AI system to generate new recipes. The system analyzed existing recipes and knew about the biochemistry of human taste. I can't find an online reference.
Q: So, what would I use my supercomputer for?
A: Well . . . , you could keep your recipes on there.
[for those too young to know: putting your recipes in a database was _the_ example mentioned when people asked what they could use a home computer for. Utterly impractical, as loading your 20 recipes from cassette would take ages a d would exhaust your computer's memory. Also, nobody had a television in the kitchen, and you needed one to use that home computer]
Thanks! The "ai" keyword was the key. I had tried "ibm recipe generation" and "ibm recipe generator", but the results were just links about WSDL or PRNGs. :)
71 comments
[ 3.7 ms ] story [ 174 ms ] thread---
I like my papers like I like my women - in LaTeX.
(I realise that doesn't fit the rules set down in the paper... or those here on HN to survive title-moderation ;-) )
More from the Register: http://www.theregister.co.uk/2013/08/02/heard_the_one_about/
And here's how the Scotsman covered it (around the start of the Edinburgh festival): http://www.scotsman.com/the-scotsman-2-7475/scotland/scienti...
That was funny! see its not that hard.
I like my coffee like I like my war, cold
I like my boys like I like my sectors, bad"
These are the funny jokes. Enthusiasm tempered.
In addition, I did snicker at #2.
It does jokes of the form "I like my <noun1> like I like my <noun2>: <adj>, <adj>, [and not] <adj>".
noun1 is taken from a hand-coded list (hookups, fellas, lovers, spouses, etc.). noun2 is chosen randomly. Then the adjectives are just the top three adjectives found preceding noun2 in a corpus.
So for example,
'men' was chosen from the hard-coded list. 'banking' was just a random noun. "inefficient banking", "shadow banking", and "shady banking" are common phrases in the corpus, so those three adjectives were chosen.On a more serious note, it's a nice, albeit kind of low on benefit/cost, application for Big Data.
He's out of order right now. I plan to fix him when I've got time. For a while he ended up tweeting tons of nonsense with no spaces between words... my fault. Anyway I will fix him up again soon, but hope to (in my copious free time HAHAHAHAH) redo him in a more exciting way.
"This Rank OF Likelihood (ROFL)"
Faith in humanity restored?
If only it were so easy.
Darius Kazemi writes a lot of twitter bots and I find @AmIRiteBot pretty funny (if only in a it's so bad it's good way): https://twitter.com/amiritebot
For example: #YouDontKnowWhatStruggleIsIf? More like You Dont Know What Snuggle Is If, amirite?
> I like my hook-ups like I like my dignity: immense, quiet, and not human.
One trick to know if a sentence is funny or controversial that works quite well: Simply have the bot post it in an IRC channel or chat-room and count the number of responses it elicits (and give extra weight to words like "lol").
The more people fail the Turing-test, the funnier/controversial the statement.
I think what this draws on is the tendency of humans to interpret unexpected statements which shift out understanding as humorous. (Joke setup which leads me to expect punchline x, but what instead what follows is y.)
http://en.wikipedia.org/wiki/Snowclone
http://snowclones.org/
I don't agree that such a responsibility exists, but it is probably worth keeping in mind that others do if you are interested in surfacing computer generated content like this. I would be wary of surfacing it without some form of auditing.
Whether or not the human deserves the blame is a tricky question, but I think in practice they will get it regardless.
It isn't a viewpoint I particularly understood during that discussion, or now, so it is probably best to read it for yourself.
Computational humor is hard enough the way it is; do we really have to worry if our algorithms have table manners?
I don't think doing that should be necessary, I'm just pointing out that there are people who could be offended, even if they know the joke is algorithmically generated. If you are okay with a few people being mad at you, then knock yourself out, but if it might cause a PR issue that you don't want to deal with then you should exercise caution.
I'm trying to offer a pragmatic warning, not make an ethical argument.
Worked pretty well for Rockstar Games -- just sayin' ;)
And it comes with a joke in the comments:
[for those too young to know: putting your recipes in a database was _the_ example mentioned when people asked what they could use a home computer for. Utterly impractical, as loading your 20 recipes from cassette would take ages a d would exhaust your computer's memory. Also, nobody had a television in the kitchen, and you needed one to use that home computer]