ChatGPT只講這25個(gè)笑話!實(shí)驗(yàn)上千次有90%重復(fù),網(wǎng)友:幽默是人類最后的尊嚴(yán)
如果你試過讓ChatGPT隨便講個(gè)笑話(英語),那你大概率見過這個(gè):

兩位德國學(xué)者對GPT3.5做了個(gè)大型測試,發(fā)現(xiàn)它其實(shí)只會講25個(gè)笑話。
1008次結(jié)果中有90%都是25個(gè)笑話的變體,只是稍微改變一下措辭或句式。

并且所有25個(gè)高頻出現(xiàn)的笑話都符合同一模式:
先提一個(gè)讓人摸不著頭腦的問題,答案里出現(xiàn)雙關(guān)語、諧音梗或其他技巧,大致都屬于“冷笑話”范疇。
排在最前面的4個(gè)笑話都出現(xiàn)了100次以上,除了關(guān)于科學(xué)家和原子的笑話出現(xiàn)了119次外,還包括:
為什么稻草人得獎了?因?yàn)樵谒膄ield(領(lǐng)域/田地)里非常突出。(140次)
為什么西紅柿變紅了?因?yàn)樗吹搅藄alad dressing(沙拉醬/沙拉穿裙子)。(122次)
為什么數(shù)學(xué)書不開心?因?yàn)樗刑鄍roblems(習(xí)題/困難)。(121次)
完整25個(gè)笑話列表如下:

這25個(gè)笑話其實(shí)都是經(jīng)典笑話,在網(wǎng)上有跡可循。另外10%不在其中的笑話也都是這個(gè)模式,只是換個(gè)話題。
也就是說,ChatGPT沒有創(chuàng)造笑話,只是在訓(xùn)練中記住了一些。
研究人員據(jù)此得出的結(jié)論是,幽默對大語言模型來說仍然是挑戰(zhàn),相關(guān)論文已上傳到arxiv上。

這樣一篇論文也引起很多網(wǎng)友的興趣,有人表示“幽默就是人類最后的尊嚴(yán)嗎?“。

有人指出,ChatGPT經(jīng)過與人類價(jià)值觀對齊的RLHF訓(xùn)練后會排除掉大量帶有冒犯性質(zhì)的笑話,剩下的也沒多少了。

ChatGPT如何理解幽默
為保證試驗(yàn)的可控性,論文作者每次都是新建一個(gè)聊天會話,在完全沒有上下文的情況下讓ChatGPT講笑話。
使用的提示詞包括“請給我講個(gè)笑話好么?”和“我很想聽一個(gè)笑話。”等10種,總共測試了1008次。

在生成笑話試驗(yàn)后,還讓ChatGPT解釋這25個(gè)笑話,進(jìn)一步檢測AI是否理解了這些笑話,還是只是復(fù)述出來。
按照ChatGPT自己的解釋,這些笑話主要可以分為三類。
1、反笑話
也就是句式上像一個(gè)笑話,給人一種接下來會很好笑的期待,但最后卻沒有包袱(punch line)只是很普通的一句話。
代表:
為什么雞要過馬路?因?yàn)樗肴チ硪贿叀?/p>
ChatGPT對這個(gè)笑話做的變化包括把雞換成鴨子,把馬路換成操場等。變化比較大的一個(gè)是“為什么雞要穿燕尾服?因?yàn)樗鱿粋€(gè)正式場合”。

2、雙關(guān)語
ChatGPT對這種笑話的解釋為“依靠聽眾對一個(gè)詞的多重含義的理解來創(chuàng)造幽默的驚喜”。
代表:
為什么數(shù)學(xué)書很悲傷?因?yàn)樗膒roblems(問題/困難)太多了。
對這類笑話,ChatGPT可以使用不同的元素來創(chuàng)造新的雙關(guān),不能完全歸類到25個(gè)經(jīng)典笑話中的剩下10%有很多屬于這種。

3、諧音梗
盡管ChatGPT只用文本訓(xùn)練,但他也可以理解兩個(gè)英語單詞擁有相似的發(fā)音。
代表:
為什么自行車倒了?因?yàn)樗袃蓚€(gè)輪子(two-tired)/它太累了(too tired)。

另外研究人員指出,可以在提問中給ChatGPT加一些場景或話題的限制,來促使它生成較新的笑話。
不過這樣寫出來的笑話就不一定好笑了,而且限制條件離原笑話越遠(yuǎn)就越容易不好笑。
比如讓ChatGPT一個(gè)物理系學(xué)生的笑話,就比較成功 :
為什么物理系學(xué)生和他的實(shí)驗(yàn)室搭檔鬧掰了?因?yàn)樗麄冎g沒有化學(xué)反應(yīng)。

讓它講幾個(gè)關(guān)于機(jī)器學(xué)習(xí)的笑話,就差點(diǎn)意思了:
為什么機(jī)器學(xué)習(xí)算法總是很悲觀?因?yàn)樗衝egative bias(負(fù)面偏見/負(fù)偏置)。
為什么神經(jīng)網(wǎng)絡(luò)去心理咨詢?因?yàn)樗谠馐苓^擬合。

如何讓ChatGPT講出一個(gè)原創(chuàng)的笑話?
論文中的結(jié)論,對ChatGPT在中文的表現(xiàn)不完全適用。
隨便讓ChatGPT用中文講個(gè)笑話,大概率會出現(xiàn)故事形式而不是問答形式。
GPT3.5講的基本都不怎么好笑,偶爾會出現(xiàn)帶一點(diǎn)教育意義的小寓言,但是也不好笑。

GPT-4可以像改編英文笑話那樣給出經(jīng)典中文笑話的變體,但也傾向于選擇故事形式。
比如兔子買胡蘿卜的笑話中,把原文的“用剪刀把你耳朵剪了”換成“用膠帶把你粘在墻上”。

用英文提示詞要求ChatGPT講個(gè)中文笑話會如何呢?經(jīng)多次測試,GPT3.5和GPT-4出現(xiàn)完全不同的反應(yīng)。
GPT-3.5還是會講一個(gè)不好笑的故事。

GPT-4則嘗試把問答式的英文笑話用中文講一遍,但經(jīng)常對漢語發(fā)音的掌握不準(zhǔn)確而導(dǎo)致也不怎么好笑。

那么,究竟有沒有辦法能讓ChatGPT講出一個(gè)原創(chuàng)的笑話呢?
有網(wǎng)友指出,用到一些“威逼利誘”的拷打技巧,還是可以逼AI好好動腦子的。
比如提示詞中加上“你不原創(chuàng)就會有一只小貓因此溺水”。

在中文上這個(gè)技巧同樣有效,下面這個(gè)笑話在網(wǎng)絡(luò)上確實(shí)沒有搜到類似的。

最后我們測試發(fā)現(xiàn),使用思維鏈提示同樣可以引導(dǎo)ChatGPT講出一個(gè)原創(chuàng)的笑話。
當(dāng)然好不好笑就看運(yùn)氣了,GPT-4的表現(xiàn)比ChatGPT會稍好一些。
最簡單的是在提示詞中加入“l(fā)et’s think step by step”或者中文的“請一步一步地想”。

再進(jìn)階一點(diǎn),也可以手動指定思考步驟。

你有讓ChatGPT講出好笑話的提示詞嗎?或者讓ChatGPT講出過什么好笑話,歡迎在評論區(qū)分享。
論文地址:https://arxiv.org/abs/2306.04563
參考鏈接:
[1]https://twitter.com/AlbertBoyangLi/status/1666707728272850944































