【问题标题】:Can an algorithm detect sarcasm [closed]算法可以检测讽刺吗[关闭]
【发布时间】:2012-12-31 04:21:12
【问题描述】:

我被要求编写一个算法来检测讽刺,但我在逻辑中发现了一个缺陷(或看起来像一个缺陷)。

例如,如果一个人说

A:我喜欢贾斯汀·比伯。你喜欢他吗?

B:是的。当然。 我绝对爱他。

现在这可能被认为是讽刺与否,唯一知道的方法似乎是知道 B 是否认真。

(我不应该深入。我们得到了一堆短语,只是被告知如果这些短语出现在句子中,那就是讽刺,但我感兴趣?)

有没有办法解决这个问题?还是计算机在讽刺方面绝对卡住了?

(我想这取决于说话者的语气,但我输入的是文本)

【问题讨论】:

  • 我认为讽刺很大程度上取决于说话者的语气。除非您知道 B 不喜欢 Justin Beiber,否则他们将无法知道这是否是讽刺评论
  • 我知道这无济于事,但是很多很难确定文字中的讽刺!
  • 您可能会更幸运地询问english.stackexchange.com 以查看humans 是否可以检测到讽刺。
  • 哦,祝你一切顺利!
  • 一篇关于讽刺检测的学术文章,算法称为 SASI-Semi-supervised Algorithm for Sarcasm Identification,由希伯来大学开发。检测准确率为 77% ...aaai.org/ocs/index.php/ICWSM/ICWSM10/paper/viewFile/1495/1851

标签: algorithm nlp


【解决方案1】:

似乎有一些研究尝试了这一点,但他们还没有提出一个行之有效的算法。

来自González-Ibáñez, R. et al. "Identifying sarcasm in Twitter: a closer look"

讽刺和反讽是语言学中经过充分研究的现象, 心理学和认知科学[...]。但是在文本挖掘中 文献中,讽刺的自动检测被认为是困难的 问题 [...] 和 仅在少数研究中得到解决。 [...] 与我们最密切相关的工作是 Davidov 等人的工作。 (2010),其目的是识别讽刺和非讽刺 Twitter 和亚马逊产品评论中的话语。在本文中,我们 考虑区分讽刺推文和非讽刺推文的难度更大的问题

他们得出结论:

也许不出所料,无论是人类评判还是机器评判 学习技巧表现非常好。 [...] 我们的结果表明,仅词汇特征不足以识别讽刺,语用和上下文特征值得进一步研究

这是另一篇最近的相关论文:
Reyes, A. "From humor recognition to irony detection: The figurative language of social media"

【讨论】:

    【解决方案2】:

    ...句子由用户编写。这是两个人之间的模拟对话。

    用一个短语来检测讽刺几乎是不可能的,但在上下文中它可能更可行。让我们假设您可以解析句子并解释其字面意思(这不是一项简单的任务,但这个问题至少已经得到了一定程度的解决)。

    你现在有来自:

    的上下文
    1. 对话中的所有短语。
    2. 其他发言者的回应。

    交叉引用的短语

    要利用 #1,您可以相互交叉引用所有短语。有没有直接矛盾的?

    例子:

    演讲者 1:我爱贾斯汀比伯。你是吗?
    演讲者 2:完全!我爱他。
    演讲者 1:你最喜欢他的什么?
    演讲者 2:他的音乐很棒!
    演讲者 1:真的吗?你最喜欢哪首歌?
    演讲者 2:来吧,你知道我讨厌他的音乐。

    我们知道有两个矛盾的短语,“我爱他!”和“我讨厌他的音乐”。至少有可能发生了讽刺。

    其他演讲者的问题或回应

    方法 #2 可能更有效(或无用......也许讽刺是众所周知的,但在两方之间没有说出来)。

    例子:

    演讲者 1:贾斯汀比伯在城里。我真要去见他。
    演讲者 2:哈。

    另一个例子:

    演讲者 1:我爱贾斯汀比伯。你呢?
    演讲者 2:我的床头上有一张他的巨幅海报。
    演讲者 1:是的,没错。

    更详细地说,您可以应用启发式方法来确定对话在特定短语后偏离的程度。

    演讲者 1:我非常喜欢贾斯汀比伯!!!你是吗?
    演讲者 1 发表了强调声明
    演讲者 2:是的,当然。
    讽刺。我们不知道,但对话中的其他人知道。

    Speaker 1 现在走什么方向?他们改变话题了吗?根据谈话的激烈程度,它可能表明他们对感知到的反应的反应。

    话虽如此,但其中大部分都需要复杂的处理,而且我预计其准确率会非常低。但这是一个有趣的问题。

    【讨论】:

    • 我应该补充一点:第一个例子很适合发现用户是否在说谎,但讽刺是命中注定的。相互矛盾的陈述在谎言中很常见。诚然,从技术上讲,讽刺性的陈述通常并不真实,谎言也是如此。这是一条细线:P
    • 同意你可以很容易地发现谎言而不是讽刺......我也是这么想的。这将取决于主题,但也许其中一方羞愧承认他们确实喜欢贾斯汀比伯,而不是讽刺,实际上是在撒谎以掩盖更早的声明。
    【解决方案3】:

    讽刺真的是说它的语气,文字不保持语气,而且陈述的真实性也可以确定它的讽刺......

    如果输入是由用户输入的,您可以通过两种方式进行输入。

    其中一个是基于他们使用互联网术语所写的内容。

    例如:

    用户可能会输入:

    "Yeah. Sure. I absolutely love him. /sarcasm"

    您可以查找 /sarcasm [/sarcasm] 等关键字


    您也可以使用统计赔率:

    "Yeah, and I'm the president of USA".... 在统计上它实际上是正确的几率是如此之低,以至于可以被标记为讽刺。

    【讨论】:

    • 是的,这就像生活大爆炸中的讽刺标志:)
    【解决方案4】:

    那么从文化或语言的角度来看,讽刺究竟是什么?如果你想解决这个复杂的问题,你必须澄清这一点。这个问题非常复杂,因为要求在某些人类语言中使用人工智能。您可以查看A.L.I.C.E. 以获得一些灵感。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多