本科论文
梦晨 发自 凹非寺量子位 | 公众号 QbitAI 如果你试过让ChatGPT随便讲个笑话(英语),那你大概率见过这个: 两位德国学者对GPT3.5做了个大型测试,发现它其实只会讲25个笑话。 1008次结果中有90%都是25个笑话的变体,只是稍微改变一下措辞或句式。 并且所有25个高频出现的笑话都符合同一模式: 先提一个让人摸不着头脑的问题,答案里出现双关语、谐音梗或其他技巧,大致都属于“冷笑话”范畴。 排在最前面的4个笑话都出现了100次以上,除了关于科学家和原子的笑话出现了119次外,还包括: 为什么稻草人得奖了?因为在它的field(领域/田地)里非常突出。(140次)为什么西红柿变红了?因为它看到了salad dressing(沙拉酱/沙拉穿裙子)。(122次)为什么数学书不开心?因为它有太多problems(习题/困难)。(121次) 完整25个笑话列表如下: 这25个笑话其实都是经典笑话,在网上有迹可循。另外10%不在其中的笑话也都是这个模式,只是换个话题。 也就是说,ChatGPT没有创造笑话,只是在训练中记住了一些。 研究人员据此得出的结论是,幽默对大语言模型来说仍然是挑战,相关论文已上传到arxiv上。 这样一篇论文也引起很多网友的兴趣,有人表示“幽默就是人类最后的尊严吗?“。 有人指出,ChatGPT经过与人类价值观对齐的RLHF训练后会排除掉大量带有冒犯性质的笑话,剩下的也没多少了。 ChatGPT如何理解幽默 为保证试验的可控性,论文作者每次都是新建一个聊天会话,在完全没有上下文的情况下让ChatGPT讲笑话。 使用的提示词包括“请给我讲个笑话好么?”和“我很想听一个笑话。”等10种,总共测试了1008次。 在生成笑话试验后,还让ChatGPT解释这25个笑话,进一步检测AI是否理解了这些笑话,还是只是复述出来。 按照ChatGPT自己的解释,这些笑话主要可以分为三类。 1、反笑话 也就是句式上像一个笑话,给人一种接下来会很好笑的期待,但最后却没有包袱(punch line)只是很普通的一句话。 代表: 为什么鸡要过马路?因为它想去另一边。 ChatGPT对这个笑话做的变化包括把鸡换成鸭子,把马路换成操场等。变化比较大的一个是“为什么鸡要穿燕尾服?因为它要出席一个正式场合”。 2、双关语 ChatGPT对这种笑话的解释为“依靠听众对一个词的多重含义的理解来创造幽默的惊喜”。 代表: 为什么数学书很悲伤?因为它的problems(问题/困难)太多了。 对这类笑话,ChatGPT可以使用不同的元素来创造新的双关,不能完全归类到25个经典笑话中的剩下10%有很多属于这种。 3、谐音梗 尽管ChatGPT只用文本训练,但他也可以理解两个英语单词拥有相似的发音。 代表: 为什么自行车倒了?因为它有两个轮子(two-tired)/它太累了(too tired)。 另外研究人员指出,可以在提问中给ChatGPT加一些场景或话题的限制,来促使它生成较新的笑话。 不过这样写出来的笑话就不一定好笑了,而且限制条件离原笑话越远就越容易不好笑。 比如让ChatGPT一个物理系学生的笑话,就比较成功 : 为什么物理系学生和他的实验室搭档闹掰了?因为他们之间没有化学反应。...