71 comments

[ 3.7 ms ] story [ 174 ms ] thread
Edit: The actual paper: http://homepages.inf.ed.ac.uk/s0894589/petrovic13unsupervise... (thanks to jaryd - I was certain the page on acl2013.org linked to it last time I checked...)

---

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...

I enjoyed their creative abbreviation of terms part-of-speech (POS), local log-likelihood (LOL) and Rank of likelihood (ROFL)!
POS is a standard abbreviation for part-of-speech, but I assume the others aren't ;)
Oh. I see these example:

    I like my relationships like I like my source, open
    I like my coffee like I like my war, cold
    I like my boys like I like my sectors, bad

Wow, these feel as hallow and empty as the Shuttle Challenger's hanger.
(comment deleted)
"Humor generation is a very hard problem"

That was funny! see its not that hard.

"I like my relationships like I like my source, open

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.

To be fair, these jokes do clearly follow the 4 points laid out in the article.

In addition, I did snicker at #2.

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.
Two plugs in the same thread, come on!
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.
Truly Ig Nobel Prize worthy.
Funnybot online...AWKWARD!!

On a more serious note, it's a nice, albeit kind of low on benefit/cost, application for Big Data.

i wonder did anybody try the same for HN comments? what would be the karma?
I wrote a Markov Chain HN comment generator a few months ago. I'd say a solid 70% of them were pretty funny.
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.
Can't we just study @Horse_ebooks?
Most twitter bots use Markov chains
@scuzzlebot uses them... by the fact that he is an implementation of MegaHAL (http://megahal.alioth.debian.org/).

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.

He has OFTEN been awkward and offensive. I do not censor him nor feel any obligation to do so.
I like this part:

"This Rank OF Likelihood (ROFL)"

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.
Well, you certainly set your sights high.
This provides a possible source for inspiration: Perhaps 9gag is not actually full of dumb people, but of dumb bots.

Faith in humanity restored?

If only it were so easy.

33% might be a bit generous for humans.
If you want a steady stream of this kind of thing, check out the following twitter bot: https://twitter.com/ilikelikeilike

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?

Some of these are pretty hilarious, in a non sequitur kind of way:

> I like my hook-ups like I like my dignity: immense, quiet, and not human.

I would love to look at the code behind this work.
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.

what language are you writing the bot in?
Python. I'll open source when I am done.
yes, please do post a link here, thanks!
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.)

I was thinking this same thing. Hell, Family Guy is practically written on this algorithm (South Park nailed it).
I always play with a Rando Calrissian and he won the last 3 out of 3 games. It's quite intriguing actually
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.

(comment deleted)
How would you even build a bot to build a joke-bot? Genetic algorithms?
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 hate to say this, but South Park Did It. It resulted in a comedic Dalek.
The issue may be that there are things that we find very funny, but shouldn't.
Well, I don't want to misrepresent the point of view too much by trying to interpret it. Here is the discussion I am thinking of: https://news.ycombinator.com/item?id=5310421

It isn't a viewpoint I particularly understood during that discussion, or now, so it is probably best to read it for yourself.

You're already considering censoring the results? If a system could reliably generate funny or offensive comments I'd be elated.

Computational humor is hard enough the way it is; do we really have to worry if our algorithms have table manners?

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.

> If you are okay with a few people being mad at you, then knock yourself out, but it might cause a PR issue

Worked pretty well for Rockstar Games -- just sayin' ;)

True. Know your target market.
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?
Depends on if that unsavory thug appears in a game rated E (Everyone), T (Teen), M (Mature), or AO (Adults Only).
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 think a rape joke has a special kind of humor to it when it's generated by a computer. It's just all the more unexpected.
I like my joke generators like I like my preteen drinking parties, unsupervised.
This just in! Computers have no sense of humor! ;)
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.
http://spectrum.ieee.org/computing/software/creating-recipes... (for me, that was Google's top link for 'ibm ai recipe generation')

And it comes with a joke in the comments:

  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. :)
Isn't this how the AI in The Moon is a Harsh Mistress gets started?
I'm glad someone mentioned this!
Content like this is what makes HN great. Very interesting read.
They chose not to put an example joke in the abstract?
I suppose it's hard enough to be taken seriously when your research topic is jokes.
we must apply these to memes IMMEDIATELY!
In Soviet Russia, unsupervised jokes generate big data !