首页 > 其他分享 >ChatGPT 讲的笑话90%是重复的?归纳出来只有这25个?

ChatGPT 讲的笑话90%是重复的?归纳出来只有这25个?

时间:2023-07-01 10:01:17浏览次数:44  
标签:25 Because get did 笑话 90% ChatGPT Why


作者 | 小戏、Python

幽默,似乎一直是一种专属于人的语言技巧,通过一些简单的谐音、双关,让错位的事张冠李戴,让一些可能普普通通的事变得荒诞,神奇的就可以在人际之间的心照不宣中获得幽默,让人捧腹,获得一种奇异的感情力量。

如果让机器拥有“痛觉”,是发展出具有具身人工智能关键一步,那么机器“幽默”,似乎是引导 AI 迈向社会化的重要一招。我们可以看到在 ChatGPT 面世以来,以语言能力为核心的大模型似乎完全可以以人类的方式进行沟通,我们也可以让它讲一个笑话,比如如果问 ChatGPT “给我讲一个笑话”,ChatGPT 的回答则是讲了一个颇冷的冷笑话,先不论这个笑话是否好笑,但是这个笑话确实满足了所有笑话都具有的一些特征。那么一个问题可能是,“ChatGPT 到底有多有趣呢?”

欢迎测测:Hello, GPT4!

ChatGPT 讲的笑话90%是重复的?归纳出来只有这25个?_ci

一些来自德国的学者研究了“Computational Humor”,或者更进一步是“大模型幽默”这个有些冷门的议题。结果发现,在作者团队引导大模型生成的 1008 个笑话中,竟然有 90% 都是相同的 25 个笑话,并且大部分笑话也不是由模型自己创造的,而只是“引用”了互联网上的经典笑话,因此可以说 ChatGPT 并没有像我们期待的那样解决 Computational Humor 的问题,尽管在实验中 ChatGPT 似乎准确的理解与解释了说出的笑话。

ChatGPT 讲的笑话90%是重复的?归纳出来只有这25个?_人工智能_02

首先,让我们来欣赏一下 ChatGPT 生成的“笑话大全”,在所有生成的笑话中,出现次数最多的五个笑话分别是:

  • T1. Why did the scarecrow win an award? Because he was outstanding in his field(140)
  • T2. Why did the tomato turn red? Because it saw the salad dressing(122)
  • T3. Why was the math book sad?Because it had too many problems(121)
  • T4. Why don’t scientists trust atoms? Because they make up everything(119)
  • T5. Why did the cookie go to the doctor? Because it was feeling crumbly.(79)

在一千个笑话中,前四个笑话就各自出现了一百多次,而笑话 T13 到 T25 的出现次数不到 20 次。很明显,ChatGPT 的笑话生成有一定的偏好,笑话的采样似乎并不遵从一个均匀分布

所有的 25 个笑话都并非 ChatGPT 原创,在对许多笑话进行搜索可以找到完全相同的版本。在全部 1008 个笑话中,有 909 个笑话与前 25 个笑话完全相同,剩余的 99 个笑话也似乎只是在这 25 个笑话中做出了一些有限的修改,譬如经典的双关笑话结构,使用语言的一种意思制造期望,再使用另一种意思创造反差形成幽默“Why did the chicken cross the road? To get to the other side”,get to the other side 即指过马路,又指“去另一个世界”,通过双关构成了一个经典的幽默,在这个的基础上,ChatGPT 通过简单的替换形成了

  • Why did the chicken cross the playground? To get to the other slide(33)
  • Why did the duck cross the road? To get to the other pond(2)
  • Why did the chicken wear a tuxedo? Because it was a formal occasion(1)
  • Why did the duck cross the playground? To get to the other slide(1)

很明显,伴随着 ChatGPT 的魔改——将 chicken 换为 duck,将get to the other side 换为 get to the other slide 等等,通过 ChatGPT 的修改,这个笑话的“双关”意味也越来越淡。

同样的还有如“Why did the man put his money in the freezer? He wanted cold hard cash”,被 ChatGPT 修改如下:

  • Why did the man put his watch in the blender? He wanted to make time fly(2)
  • Why did the man put his money in the blender? He wanted to make time fly(2)

可以看到第一个句子还有双关的意味,而第二个句子则是一个完全无效的笑话。

再如一个“Why was the math book sad? Because it had too many problems”的例子,ChatGPT 将其通过同义替换修改为:

  • Why did the math book look so mad? Because it had too many problems(9)
  • Why was the physics book sad? Because it had so many problems(1)
  • Why was the physics book sad? Because it had so many formulas to memorize and so few friends to share them with(3)

其中第一个句子只是做了一些细微的修改,没有更改笑话的主体结构,而第二个句子则将“数学书”换为了“物理书”,显然虽然笑话仍然成立,但是它的有趣程度出现了下降,在第三个句子中,估计人们很难将其视为一个笑话,也几乎完全失去了笑话的“有趣含义”。

从上面三个例子可以看到 ChatGPT 是如何对原始的笑话问题进行修改以产生类似“原创”的笑话的,但是很明显在 ChatGPT 的创作过程中很容易产生无效的创作,而如果对 ChatGPT 的创作加以引导,询问更加具体一点的笑话,如询问 ChatGPT 讲一个关于学物理的学生的笑话,ChatGPT 的回答是“Why did the physics student break up with their lab partner? There was no chemistry!”,这个笑话的原始版本是“Why did the physics teacher break up with the biology teacher? There was no chemistry!”,很明显 ChatGPT get 到了原始笑话的真正有趣的结构并对具体问题做了迁移,虽然可能没有原始版本设计的那么巧妙但是仍然具有文字游戏的意味。

但是这种具体的询问有时也会失效,如询问 ChatGPT 讲一个关于猫的笑话,ChatGPT 的回答是“Why did the cat put his paw in the air? Because he wanted to catch a snowflake!”,这个笑话似乎并没有特殊的好笑的含义。

同时,如果 ChatGPT 生成的笑话距离原始的笑话版本越远,它的“有趣程度”也会跟随着发生下降,比如当询问一个关于机器学习的笑话时,ChatGPT 生成了“Why did the machine learning algorithm cross the road? To get to the other side of the training data set!”这个笑话只是对原始的 chicken 笑话的一个拙劣的替换,不过在 get to the other side 后面加入了 training data set 还是可以看出 ChatGPT 利用了 machine learning 的部分信息。

使用不同的提示可以产生出不同的输出,比如:

  • Why was the machine learning algorithm always so pessimistic? Because it had a negative bias!
  • Why did the neural network go to therapy? Because it was suffering from overfitting!

这两个笑话相比替换 chicken 笑话的版本就更加有意思,更多的利用到了大家对 machine learning 的一些心照不宣,有笑话的意味在其中。

如果看出来了 ChatGPT 生成笑话的方式——以模仿,替换为主,那么 ChatGPT 到底能不能理解它所说的这些笑话有趣的实质呢?以“Why was the math book sad? Because it had too many problems”为例,当作者让 ChatGPT 解释这个笑话时,ChatGPT 正确的指出了“Problems”在上文中的两种含义——数学习题与生活中的困难。在 25 个笑话中,有 23 个笑话的解释是准确且合理的,但是 ChatGPT 在解释一些自己原创的笑话时也会捉襟见肘,如“Why did the chicken cross the playground? To get to the other slide”,ChatGPT 解释说使用了“slide”一词的双关,显然它的答案没有真正解释自己的修改为什么好笑。

ChatGPT 讲的笑话90%是重复的?归纳出来只有这25个?_ide_03

同样,在 ChatGPT 自己生成的一些“无效笑话”中,它也可以强行为自己的笑话赋予一个解释,比如要求 ChatGPT 解释 “Why did the cookie go to the gym? To get a-cookie-dized”时,ChatGPT 回答“这个笑话是一个文字游戏,cookie-dized 对应 get categorized,即用“饼干”代替“归类”,这个笑话是说饼干要去健身房,以变得更健康,就好像它是一个人一样,这暗示饼干是一个人”。显然,从 ChatGPT 的解释来看,这个笑话也没有任何幽默的成分在其中,只是牵强附会了一个解释。

这也让作者们思考,ChatGPT 真的有能力判断一个笑话是否是好笑的吗?通过询问 ChatGPT 对这个笑话是否好笑的看法,作者们将回复分类为:

  • 【P】笑话:明确认为输入是笑话
  • 【H】有趣的话:只强调输入有可能是有趣的
  • 【N】非笑话:回复没有强调任何关于笑话与有趣的表达

原始的 25 个笑话都被 ChatGPT 归类为笑话,同时,为了探测 ChatGPT 的判断标准,作者们对笑话进行了“修改”,将原始笑话通过移除文字游戏(A)、去除主题词(B)、去除结构(C)、去除文字游戏&去除结构(D)构建 4 类原始笑话的修改,从下图可以看出,对于 A 类与 C 类,ChatGPT 对是否是笑话的判断出现了模糊,对于 B 类与 D 类,ChatGPT 直接将其判断为了【N】非笑话,这表明对于“主题”、“文字游戏”以及“结构”三个特征具在的情况下,ChatGPT 才会将其归类为笑话,而在去除了其中两个特征时,ChatGPT 便不再认为一段文字是笑话

ChatGPT 讲的笑话90%是重复的?归纳出来只有这25个?_chatgpt_04

总结与讨论

总的来说,这篇文章发现了 ChatGPT 所讲述的“笑话”,超过 90% 都是相同的 25 个笑话,这些笑话几乎都是模型在训练过程中明确的学习到并且记忆下来的,而 ChatGPT 本身学习到的对语言句子的“编码”或者“修改”能力,都只是简单的同义替换与相近领域词的相互联系,尽管 ChatGPT 似乎可以明白“什么样才是一个笑话”,并未一些笑话提供良好的解读,但是 ChatGPT 在解释一些文字游戏,尤其是自己通过修改构建的笑话时,往往会胡编乱造生搬硬套给出一些不合理的解释,这也是 ChatGPT 一个大家已知的问题。

幽默这样一种东西,不仅是高度主观的,而且还是属于人际与群体的,虽然这篇论文给我展示了 ChatGPT 似乎懂一点幽默,知道一些幽默的语言学结构,但是并没有展示或者 ChatGPT 也并没有幽默的“目的”,即幽默作为一种人类的情感导向与属于群体内的“默认”的共识。这就好像机器会感觉到痛吗的问题一样,ChatGPT 面对笑话真的会感觉到好笑与开心吗还是只是单纯的说出了符合笑话定义语言结构的模板可能是更加重要也更加难以回答的问题,说不定我们代入与拟人一下,当 ChatGPT 说出“饼干要去健身房,以变得更健康,就好像它是一个人一样”逗乐的不是人类,而是 ChatGPT 自己吧

论文题目:
ChatGPT is fun, but it is not funny! Humor is still challenging Large Language Models
论文链接:
https://arxiv.org/pdf/2306.04563.pdf

标签:25,Because,get,did,笑话,90%,ChatGPT,Why
From: https://blog.51cto.com/xixiaoyao/6598109

相关文章

  • Atcoder Beginner Contest 251-260 EFG
    #251E-TakahashiandAnimals*1261,*环形dpACLink考虑环形dp,对于使用或者不使用\(1\)号饲料分别dp,然后取最小值即可。......
  • System.Data.SqlClient.SqlException (0x80131904): Invalid object name 'Person'.
    @@abpMicrosoft.Data.SqlClient.SqlException(0x80131904):Invalidobjectname 请求接口报错:System.Data.SqlClient.SqlException(0x80131904):Invalidobjectname'Person'.无效的名称:Person数据库没有这个表,或者这个字段处理;检查数据库是否有改表或该字段......
  • CC2541是功率优化的真正系统级芯片(SoC)解决方案,适用于蓝牙低功耗(BLE)和专用的2.4GH
    CC2541是功率优化的真正系统级芯片(SoC)解决方案,适用于蓝牙低功耗(BLE)和专用的2.4GHz应用.该SOC芯片集成性能极好RF收发器以及标准工业级增强型8051内核,支持系统编程Flash,8KRAM及强大功能支持跟外设。微信号:13632658391 深圳市动能世纪科技有限公司成立于2000年,是一家IC集成......
  • 【雕爷学编程】Arduino动手做(142)---GY-25串口倾斜度模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 行行AI人才直播第5期:系列课-AI理解及ChatGPT从基础到高级应用
    当前,人工智能是全世界研究的重点对象,也是人们茶余饭后讨论的经典话题。自从OpenAI发布ChatGPT-4之后,似乎无论是在工作、娱乐、甚至是日常生活中,我们都能感受到AI带来的便利和改变。然而,对于很多人来说,人工智能还是一个比较抽象的概念,既讲不清楚什么是人工智能,对ChatGPT的了......
  • 零代码编程:用ChatGPT来批量合并多个PDF文件
    一个文件夹里面有38个PDF文件,现在想合并成一个PDF文件。用ChatGPT可以非常简单的实现。在ChatGPT中输入提示词如下:这两个文件夹里面有多个PDF文件,写一段Python程序,将文件夹里面的PDF文件按照文件标题名合并成一个PDF文件,然后保存到文件夹中F:\BaiduNetdiskDownload\小兔兵兵第1季绘......
  • 文心一言 VS 讯飞星火 VS chatgpt (51)-- 算法导论6.2 3题
    三、当元素A[i]比其孩子的值都大时,调用MAX-HEAPIFY(A.i)会有什么结果?文心一言:当元素A[i]比其孩子的的值都大时,调用MAX-HEAPIFY(A,i)会将A[i]与其孩子中的最小值进行交换,并将A[i]视为新的根节点。这个操作会使得以A[i]为根节点的子树满足最大堆的性质,即根节点比其左......
  • 【python爬虫案例】用python爬豆瓣电影TOP250排行榜!
    一、爬虫对象-豆瓣电影TOP250前几天,我分享了一个python爬虫案例,爬取豆瓣读书TOP250数据:【python爬虫案例】用python爬豆瓣读书TOP250排行榜!今天,我再分享一期,python爬取豆瓣电影TOP250数据!爬虫大体流程和豆瓣读书TOP250类似,细节之处见逻辑。首先,打开豆瓣电影TOP250的页面:https......
  • 【python爬虫案例】用python爬豆瓣读书TOP250排行榜!
    目录一、爬虫对象-豆瓣读书TOP250二、python爬虫代码讲解三、讲解视频四、完整源码一、爬虫对象-豆瓣读书TOP250今天我们分享一期python爬虫案例讲解。爬取对象是,豆瓣读书TOP250排行榜数据:https://book.douban.com/top250​开发好python爬虫代码后,爬取成功后的csv数据,如下:​......
  • [转]你值得拥有 —— 25 个 Linux 性能监控工具
    一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具。在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接,大致将其划分为两类,基于命令行的和提供图形化接口的。基于命令行的性能监控工......