Like an AI Could Ever Spot Sarcasm
blogs.nvidia.com
blogs.nvidia.com
Sarcasm is hard because it's a violation of the cooperative principle. I think describing it as simply incongruity is understating the difficulty of the problem (that said, good enough for 80% accuracy on the task is nothing to sniff at).
In communication, you've got two systems attempting to convey their internal, unobservable states to eachother. This happens across a number of different channels, each noisier and more imperfect than the next. Natural Language is lossy enough compression as it is. Now add idiolect, prosody, body language, context. And on top of that, the internal states of the two systems may only be alignable along the coarsest axes to begin with (do we share the same qualia?). The only way we can have any hope of understanding eachother is when we know both sides are trying their best to make themselves understood, as per Grice's maxims.
Sarcasm is a form of dissembly, a deliberate subversion of the cooperative principle, that words mean things, for other means. Sometimes to communicate to others, who are not the target. Sometimes for the communicator's own personal satisfaction. Sometimes it's meant to be understood, but the drier the sarcasm, the fewer hints are given.
And at the same time, in some cases, a sarcastic utterance is the most concise way of conveying information, if it is correctly received. Because acting in violation of typically observed rules of conversation carries its own set of semantics. It's another mode of communicating, and all of these different modes capture different lower-dimensional slices of the hyper-thing of mind-state and intent that they're purporting to convey.
All that to say, that elsewhere in these comments, the problem has been described as AI Complete. I'd go a step further, and say that it's telepath-complete, to know the intent of another, and even then, knowing the accurate truth of the thing by oracle might end you up with less Information than if you'd just gotten the joke in the first place.
Besides communicating with a recipient, subverting the cooperative principle can also be used to selectively communicate with one recipient out of many, or to mislead some or all.
A lot of things people want to calculate these days seem like absurd hubris to me, but I suppose that's also how progress has always occurred, by trying to do things that seem out of reach.
In a 1983 Usenet FAQ by Jerry Schwarz: "Avoid sarcasm and facetious remarks."
More recently, aka Poe's Law.
> are not sociological generalizations about speech, nor they are moral prescriptions or proscriptions on what to say or communicate. Although Grice presented them in the form of guidelines for how to communicate successfully, I think they are better construed as presumptions about utterances, presumptions that we as listeners rely on and as speakers exploit.
Wikipedia says Grice also "found it interesting when [the maxims] were not respected, namely either "flouted" (with the listener being expected to be able to understand the message) or "violated" (with the listener being expected to not note this)" -- the former including the case of sarcasm.
(I jest, please don't kill me)
A Large Self-Annotated Corpus for Sarcasm https://arxiv.org/abs/1704.05579
1.3 million sarcastic statements!
I love how sarcasm has so many subtle ways to be use to break tensions in some meetings, and how it can quickly derail any light conversation into some almost-nuclear mood.
But computers generating sarcasm, well... that will put a whole new level to automatic chat bots.
Australians/brits consistently bemoan the inability of Americans to understand deadpan and sarcasm.
And I'm even reminded of one of my European friends (from Austria) bemoaning conversations with Germans along the lines of:
Austrian: "could you be any more condescending!?" German: "yes I could be more condescending."...blank stare.
A very broad generalization, of course, but has served me well enough as survival guide.
But yeah, there's definitely a lot of culture and context involved.
https://www.thedailybeast.com/secret-service-wants-a-sarcasm...
If computers can decode sarcasm then it is not effective. Then sarcasm will evolve.
That's kind of my go-to, and I'd say about 20% of people overall don't get it. I hear "I can't tell if you are joking or not" all the time. I personally think both is a reasonable answer, but if we aren't able to teach people how such a sense of humor works, I don't have much hope for training an AI.
So typically, you say something, and someone understands that it is not serious, and they laugh at the point at which they realize you two understand each other.
Your style of humor is more evolved, in that it adds an additional step, where first they think you are not serious, and then they understand you are, and if they get it, they laugh because they have completed the path to a shared understanding. It may not be appreciated so much, because since the journey is more difficult, the listener may infer that you are trying to put down people who are not sufficiently quick witted.
It’s like expecting AI to read handwriting, when people can’t even do that 100% of the time.
Every tree search algorithm needs a guiding heuristic, and that's what AlphaGo replaces with a neural network.
So both DeepBlue and AlphaGo are fairly described as being based on tree search.
Good computer chess play is based on a deterministic tree walking algorithm, something that’s been clearly in computers’ wheelhouse since forever.
Good computer go play is based on neural pattern recognition, which is also (probably) what human sarcasm detection is based on.
Conversation doesn't work like that, and takes a vast amount of information to understand whether someone is being sarcastic.
It’s like expecting AI to sum up 1000 integers without errors, when people can’t even do that 100% of the time.
And there are some things that are relatively easy for humans to do, like communicate with natural language. Sarcasm falls into the later category. This is because human understanding is heavily social and conceptual.
Defense mechanism could be one possible explanation.
Sarcasm as a form of humor is too easy to do. You don't have to be clever. You just have to look down on someone/something and then caricature it. Whoever does that too much just seems unlikable.
When you're actually clever or subtle about it, people tend to enjoy the twist that makes the joke.
Surprise! NLP is still hard... which is good news for anyone interested in understanding language, neural networks, o the human condition.
As you said, context is everything. It is literally impossible to detect sarcasm reliably with only the sentence in which sarcasm is contained.
For instance, to my sister:
"I hate you." - sarcasm. "I've already told you many times that I hate you." - obvious lie, maybe sarcasm?
Any criteria we can come up with for computers would then need to be applied to people. But how could we do that, when humans answer questions so differently? Do we ask one human? A sample of humans? All humans?
I don't think we'll find a criteria that delineates computers' "understanding" from our own. Perhaps the regularity from a sample of computers would be an indication.
All this is to say, what makes us think that humans understand subtle jokes?
Are you familiar with Daniel Dennett's 'Competence without comprehension' ideas? He points out for instance that even a very simple computer is far better at division and exponentiation than even the smartest human. It does this without any comprehension at all - a pocket calculator is far too simple to have any meaningful understanding of anything, but that has zero impact on its functional usefulness.
Another favourite example of his is evolution by natural selection.
Annoyingly I couldn't find a brief online article on the topic by the man himself.
Which is to say that previous efforts had only half of the true positives a random number generator would have had. Neat.
If you're having as much trouble reading it as I was, open the developer tools and on the body style, remove "DINPro" from the font-family, turn off the font-weight: 300 or change it to 400, and increase the font-size to 16px or whatever size you like.
If the AIs ever do take over, my one request is that they use plenty of sarcasm when they talk about designers who think unreadable text with substandard font-weight is a good thing.
Of course, being AIs, maybe they could care less.
I am like a politician waffling and flip-flopping as the polling winds blow to and fro.
Hmm... Chicken and waffles sounds pretty good right now!
Anything of those could be making it legible. I'd rather trust the opinion of somebody with a more standard system, and I doubt the GP is that somebody either.
Taking a screenshot and zooming in with a pixel grid, the 'i' on comedian is antialiased to 3 pixels in total wide, though the 2 on the side are very light. Firefox is 2 pixels wide, but both columns are dark. Chrome is also 2 pixels wide, but the columns are rather lightly colored.
(Windows' native font antialiasing is amazing, I'm sad all apps don't use it...)
It's funny, I've hardly ever used that thing. Like a dummy I forget it's there, and instead I go in and hack the CSS (mostly removing styles) and then post sarcastic comments about it.
But you're right, I just clicked the Luxo lamp and the whole page became perfectly readable.
And then I dragged the Luxo lamp over to the left where my most-used extensions are, so I'll remember it next time.
Thanks for the tip!