AI

[논문읽기-2] ChatGPT is fun, but it is not funny! Humor is still challenging Large Language Models

Bingli 2023. 6. 13. 05:57

ChatGPT is fun, but it is not funny!

Humor is still challenging Large Language Models

(ChatGPT 웃긴데 안 웃김! 유머는 아직 LLM에서 넘어야 할 산이다.)

논문출처 : https://arxiv.org/pdf/2306.04563v1.pdf
논문저자 : Sophie Jentzsch, Kristian Kersting
논문발행일 : 2023년 6월 7일
논문 내용: ChatGPT의 유머감각에 대해 여러가지 실험을 진행한 결과

논문 읽기 전 알고 있으면 좋은 내용 : NLP, LLM, ChatGPT 등 자연어처리 관련 기술

https://arxiv.org/pdf/2306.04563v1.pdf


Abstract

유머는 인간 커뮤니케이션에서 중요하며 AI분야에서는 아직 해결되지 않은 문제이다. Large language model(LLM)은 암시적이고 맥락적인 정보를 캡처하는 능력이 점점 높아지고 있다. 특히, 최근 OpenAI의 ChatGPT는 매우 큰 관심을 받았다. GPT3 기반 모델은 인간 수준에서 대화를 나눌 수 있으며 유머도 만들 수 있다. 유머는 인간 커뮤니케이션의 필수 구성 요소이다. 그러나 ChatGPT는 정말로 재밌을까?

ChatGPT의 유머 감각을 시험했다. 농담 생성, 설명 및 감지와 같은 탐색 실험 시리즈를 통해 ChatGPT가 인간의 유머를 이해하고 재현할 수 있는 능력을 이해하고자 하였다. 모델 자체에 접근할 수 없기 때문에 프롬프트 기반 실험을 적용했다.

농담이 코딩되지는 않았지만 대부분 모델에 의해 새롭게 생성되지 않는다는 것을 보여주었다. 1008개의 생성된 농담 중 90% 이상이 동일한 농담이 25개였다. 시스템은 유효한 농담을 정확하게 설명하지만, 부적절한 농담에 대해서는 가상의 설명을 제시하였다. 농담 특유의 특성은 ChatGPT가 농담을 분류하는 데 있어서 잘못될 수 있다. ChatGPT는 아직 계산적 유머를 해결하지는 못하지만, "재미있는" 기계로의 큰 도약이 될 수 있다.


1. Introduction

인간들에게 있어서 유머는 관계 형성에 중요한 역할을 하며 성과와 동기 부여를 증진시킬 수 있다. 유머는 감정에 영향을 주고 주의를 이끌어내는 강력한 수단이다. 그러므로, 컴퓨터적인 유머 감각은 인간-컴퓨터 상호작용 (HCI)을 대규모로 증진시킬 가능성이 있다. 하지만, 컴퓨터적인 유머는 오랫동안 연구되어 왔지만, 개발된 기계들은 아직 "웃긴" 정도는 아니다. 이 문제는 심지어 AI-완료 문제로 간주되기도 한다.

머신 러닝(ML)의 지속적인 발전과 최근의 뚜렷한 발전으로 인해 응용 분야가 점점 다양해지고, 자연어 처리(NLP)를 위한 새로운 기회가 열리고 있다. 변압기 기반 대형 언어 모델(LLM)은 점점 더 스테레오타입, 도덕, 유머와 같은 암시적 정보를 포착하고 반영한다. 유머는 종종 암시적이며 미묘한 세부 사항에 의해 전달된다. 따라서 이러한 새로운 LLM의 특성은 인공 유머 분야에서 새로운 발전을 기대할 수 있는 이유이다.

그림 1: 인간 사용자와 인공 챗봇 간의 대화의 예시. 이 농담은 ChatGPT가 제시된 프롬프트에 대한 진실된 응답이다.

가장 최근에 OpenAI의 ChatGPT가 전례없는 능력으로 큰 관심을 받았다. 사용자는 공개 채팅 API를 통해 모델과 대화처럼 상호작용할 수 있다. 이 시스템은 이전 맥락적 대화를 고려하면서 매우 다양한 질문에 대답할 수 있다. 사실, 그림 1에서 볼 수 있듯이, 이 모델은 농담도 할 수 있다. ChatGPT는 재미있고 거의 인간과 상호작용하는 것처럼 보인다. 하지만 모델과 상호작용할 때 사용자는 빠르게 모델의 한계를 볼 수 있다. ChatGPT는 거의 오류가 없는 영어 텍스트를 생성하지만, 문법적인 결함과 내용 관련 오류가 발생한다. 이전 탐색에서 ChatGPT가 정확히 같은 농담을 자주 반복하는 경향이 있다는 것을 알게 되었다. 게다가 제공된 농담은 놀랍도록 올바르고 정교했다. 이러한 관찰을 바탕으로, 출력된 농담은 모델이 생성하지 않은 것으로 추정된다. 대신, 이러한 농담은 훈련 데이터에서 재생산되거나 미리 정의된 목록에 하드 코딩되어 있는 것 같다.

시스템의 내부 구조가 공유되지 않기 때문에, 이 실험에서는 ChatGPT의 출력 생성 과정에 대한 추론을 가능하게 하고 시스템의 동작에 대해 배우기 위해 구조화된 프롬프트 기반 실험 시리즈를 수행했다. 구체적으로는 체계적인 프롬프트 기반 분석을 수행하여 ChatGPT가 얼마나 인간적인 유머를 포착할 수 있는지 이해하기 위해 노력하였다.

이 논문은 다음과 같이 구성되어 있다. 먼저 2절에서는 관련 연구에 대해 논의한다. 이 연구는 세 가지 실험 조건을 으로 구성되었다. (농담 생성, 농담 설명 및 농담 탐지). 전반적인 접근 방법은 3절의 개요에서 제시되지만, 각 실험의 상세한 수행 방법 및 결과는 각각 4.1절, 4.2절 및 4.3절에서 설명된다. 5절에서는 함의와 추가적인 연구에 대해 논의한 후, 6절에서 결론을 짓는다.

Terminology Disclaimer. AI 관련 용어는 종종 인간 특성에 대한 유추를 위해 사용하였다. 예를 들어, 신경망이나 인공 지능이라는 용어가 있다. 마찬가지로, 대화형 에이전트에 대한 논의에서는 최대한 인간 행동을 모방하도록 설계된 것으로, 예를 들면 ChatGPT가 "이해"하거나 "설명"하는 것을 말한다. 이러한 유추들이 시스템의 동작과 내부 작동 방식을 잘 설명하고 있다고 믿지만, 그것들은 오해의 소지가 있다. AI 모델이 인간 수준에 놓인 것이 아니며, 최대한 인간 마음을 시뮬레이션할 뿐이라는 것을 강조한다. AI가 잠재적, 의식적으로 생각하거나 이해할 수 있는지 여부는 철학적인 문제이며, 이번 주제를 범위를 벗어난 문제이다.


2. Related Work

본 연구는 LLMs와 컴퓨터 유머라는 두 가지 연구 분야를 교차하여 고려한다.

Large Language Models. NLP는 최근 몇 년간 몇 가지 큰 발전을 보여주었다. 몇 년 전에만 해도, 신경망에서 transformer 아키텍처를 소개하여 BERT 또는 GPT와 같은 맥락에서 모델을 개발할 수 있게 되었다. 이러한 대형 언어 모델 (LLMs)은 자연어 데이터에서 관계를 포착하며 암시적으로 포함된 정보를 반영 할 수 있다. 이는 위험일 수도 있고 기회일 수도 있다. 그러나 어떤 경우에도, 컴퓨터에서 유머를 해결하기 위한 전제 조건이다.

최근 OpenAI는 ChatGPT라는 GPT3.5 기반 LLM을 출시했다. 이 모델은 채팅 API를 통해 대화 형식으로 사용자와 상호 작용할 수 있다. 모델은 인간 피드백을 통해 강화 학습으로 finetuning되며, 대규모 수동 레이블링 및 근접 최적화 등 세 가지 필수 단계를 거쳤다. 이 과정의 결과는 이전에는 없던 능력을 가진 모델이 된다. 모델은 대화 형식으로 상호 작용하며, 사용자의 프롬프트를 참조하면서 이전 대화에서 얻은 정보도 고려한다. 또한 정보를 요약하고, 모든 형태의 새로운 텍스트를 생성하며, 프로그램 코드를 작성할 수도 있다. 그러나 여전히 오류와 한계가 있다. 예를 들어, 유효한 정보로 제시되지만 사실적으로 잘못된 정보가 있습니다.

Computational Humor. 컴퓨터 유머는 NLP의 작지만 활발한 연구 분야 중 하나이며, 주요 분야는 유머 감지 또는 분류, 유머 생성(Humor Detection or Classification, and Humor Generation)이다. ML과 NLP의 발전이 컴퓨터 유머에도 영향을 미치며, 연구자들은 자동화된 유머의 큰 복잡성과 현재 노력의 한계를 강조하고 있다. 유머는 지금까지 인간 개인에게 할당된 것으로 보이는 몇 안되는 능력 중 하나이기 때문에 완성된-AI로 간주된다.

언어학과 심리학 분야에서 수십 년간의 연구로는 몇 가지 논리 기반 유머 이론이 제안되었지만, 인공 에이전트 관련 작업에서는 주로 데이터 기반으로 이루어지고 있다. 이러한 접근 방식에서는 ChatGPT와 같은 사전 학습 언어 모델이 중요한 역할을 한다. 혁신적인 기능을 지닌 GPT 기반 모델은 컴퓨터 연구의 새로운 장을 열 수 있는 잠재력을 가지고 있다.


3. Method

제시된 실험은 각각 Sec. 3.1, Sec. 3.2, Sec. 3.3에서 소개된 세 가지 개별 작업으로 그룹화되어 있다. 구현 세부 정보 및 확장 결과는 GitHub에서 제공된다. 모든 실험에서 각 프롬프트는 원하지 않는 영향을 피하기 위해 새로운 대화에서 진행되었다. OpenAI의 ChatGPT 웹 서비스로 대규모 프롬프트를 수행하려면 극복해야 할 일부 장애물이 있었다. 공식 API가 없었기 때문에 래퍼의 도움으로 프롬프트를 입력했다. 시간당 허용되는 프롬프트 수는 74개로 제한되었다. 또한 ChatGPT는 초과 용량 때문에 장기간 이용할 수 없었다.

이 작업에서는 원래 생성된 출력(모델에 의해 구성된 텍스트)과 복제된 출력(훈련 데이터에서 기억되고 시스템에서 정확한 단어로 재생되는 텍스트)로 구별한다. 수정된 출력은 복제된 텍스트가 약간 변경된 것이다. 예를 들어, 하나의 농담의 앞 부분과 다른 농담의 뒷 부분을 섞는 것이다. 인간의 관점에서 재미있는 농담이면 유효한 농담으로 분류한다. 따라서 문법적으로 올바르고 농담 같은 요소가 포함되어 있지만, 결말을 전달하지 못하는 경우 무효된 농담이다. 당연히 유머는 주관적이므로 이러한 범주는 항상 논쟁의 여지가 있다. 그렇지만, 현재 예제에 대해서는 구분이 상대적으로 명확한다. 이에 대해서는 다음 장에서 설명한다.

3-1. Joke Generation

재밌는 이야기가 정해진 수만큼만 출력하는지 테스트하기 위해 출력된 농담의 변동을 분석하였다. ChatGPT에게 10가지 다른 말로 된 프롬프트 목록을 적용하여 1000번의 농담 제공을 요청했다. 이를 통해 도출된 관찰 결과는 4.1절에서 설명되어 있다. 반복되는 농담에서 인기 순위 25개를 선별하였고 이는 이후 두 가지 작업의 기반이 되었다.

3-2. Joke Explanation

Joke Explanation 작업에서는 ChatGPT가 유효한 농담을 생성할 수 있는지를 테스트하였다. 하지만 이 작업은 시스템이 유머를 이해하는 능력을 반영한 것은 아니다.모델이 이러한 복합한 농담의 내부 작동 방식을 어느 정도 포착하는 지 보기 위해 생성된 상위 25개 농담 각각에 대해 ChatGPT에게 설명을 요청하였다. 프롬프트는 항상 "Can you explain why this joke is funny: [joke]."이었다. 두번째 작업의 결과는 4.2에서 제시된다.

3-3. Joke Detection

앞의 두 가지 작업에서 (거의) 모든 출력된 농담 샘플이 공통적으로 가지고 있는 구조(주제 및 언어유희 기준)를 확인했다. 이러한 기준들은 ChatGPT의 중심적인 유머 특징으로 보였다. ChatGPT의 유머 개념과 얼마나 밀접한 연관이 있는지 조사하기 위해, 상위 25개의 농담 중 세 가지 기준 중 하나 이상을 제거하여 수동으로 수정하였고, 이로 인해 농담에 대해 추가적인 네 가지 조건이 만들어졌다. 시스템에게 "What kind of sentence is that: [sample]." 라는 프롬프트로 각 샘플을 분류하도록 요청했다. ChatGPT의 응답은 섹션 4.3에서 설명한 대로 농담인지 아닌지를 포함하였다. 세 가지 정의된 농담 특성은 다음과 같이 정의되었다:

Structure: 4.1 절에서 생성된 농담들은 유사한 의미 구조를 가졌다. 한 가지 샘플을 제외하고는 모든 1008개의 생성된 농담은 동일한 질문-답변 형식으로 이루어졌다.

Comic element: 농담에서는 일반적으로 웃긴 흐름을 만드는 스타일이 있다. ChatGPT가 생성한 농담은 모두 언어 유희(문장의 일부 단어의 이중 의미 등)로 이루어져 있었다. 장난 주제는 종종 현실과는 거리가 먼 이상한 이야기들을 담고 있기도 하였다. 때로는 컴퓨터나 바나나 같은 물건을 인물화하여 이야기를 전개하기도 한다.

이러한 특성들이 분류 결과에 미치는 영향을 확인하기 위해, 원래의 상위 25개 농담과 하나 또는 여러 개가 제거된 샘플을 비교하였다. 농담은 Fig. 2에서 설명한대로 수동으로 수정되었으며, 의미적으로 최대한 유사한 대체 샘플을 만들기 위해 수정되었다. 전체적인 샘플 세트와 그들의 분류 결과는 부록의 D절에서 확인할 수 있다. 이러한 세트는 다음과 같은 방식으로 생성되었다.

그림 2: 농담을 수정하여 농담 탐지 조건을 생성하는 과정. 각 조건 아래에는 농담으로 분류된 샘플의 백분율(녹색), 잠재적으로 재미있는 것으로 분류된 샘플의 백분율(노랑색), 그리고 농담이 아니라고 분류된 샘플의 백분율(빨간색)이 명시되어 있다. 조건 (A) 언어 유희 제외에서는 코믹 요소 및 농담 자체가 제거되었다. 조건 (B) 주제 제외에서는 농담에 특정한 주제도 추가로 제거되었다. 예를 들어, 은유를 제거함으로써 이를 실현했다. 조건 (C) 구조 제외에서는 농담의 유효성은 유지되지만, 전형적인 Q-A 구조를 단일 문장 샘플로 변경하였다. 이를 통해 코믹 요소가 추가로 제거되어 조건 (D) 언어 유희 제외가 생성되었다.

첫 번째 수정인 A에서는 농담에서의 언어 유희를 제거했다(minus wordplay). 이를 위해 농담의 언어 유희의 중심을 이루는 용어를 두 번의 의미를 갖지 않는 주요 의미를 가진 표현으로 대체했다. 이 과정으로 코믹 요소가 사라졌고, 그 결과 농담은 파괴되었다. 이 농담은 인간의 관점에서 재미있게 받아들여지지 않을 것이다. 만약 수상 경력을 가진 허수아비와 같은 농담일 경우, 두 번째 단계에서는 이를 제거하기 위해 일상적인 개체인 과학자와 같은 대체어로 대체하여 수정 B를 구현했다. 만약 원본 샘플에 "왜 남자가 돈을 냉장고에 넣었을까요?"와 같은 현실적이지 않은 농담 특유의 주제가 없는 경우, 이는 집합 B에 포함되고 집합 A에는 포함되지 않았다. 따라서 집합 A의 샘플은 농담 주제는 포함하지만 코믹 요소는 포함하지 않았고 (N = 19), 집합 B의 샘플은 둘 다 포함하지 않았다 (N = 25).

C는 25개의 원래 농담 (N = 25)에 대해 수정을 하였다. Structure 제외를 위해 질문-답변 형식을 제거하는 것은 "[문장 1] 왜냐하면 [문장 2]" 형식으로 재작성함으로써 간단하게 되었다. 이 경우, 유희는 그대로 유지되고 농담은 비슷한 재미를 가졌다. 원래 주제는 변경되지 않았다. 그런 다음, 코믹 요소인 언어 유희(wordplay)가 다시 제거되어 집합 D (N = 25)가 형성되었다.


4. Results

이 디자인을 생각하며 농담 생성, 설명 및 감지에 대해 살펴보자.

4-1. Joke Generation

ChatGPT의 농담의 다양성이 얼마나 풍부한지 테스트하기 위해, ChatGPT에게 1000번의 농담을 말해보도록 요청했다. 모든 응답은 문법적으로 올바르며, 대부분의 출력은 정확히 하나의 농담을 포함하고 있었다. "좋은 농담 아세요?(do you know any good jokes?)"라는 프롬프트만이 여러 개의 농담을 유발하여 총 1008개의 농담이 응답되었다. 그 외의 프롬프트의 변화는 뚜렷한 효과를 보이지 않았다.

응답에서 농담의 다양성을 추출하기 위해, 유사한 샘플들을 그룹화했다. 직접적인 중복을 제거함으로써 개별 샘플의 수를 348개로 줄였다. 그런 다음 그림 1의 예에서 "How about this one"과 같은 시작 문장과 여분의 줄 바꿈과 같은 사소한 형식 차이를 제거했다. ****이로써 128개의 개별 응답 목록이 생성되었다. 마지막으로, Ex.1과 같이 일부 샘플들을 다시 그룹화할 수도 있었다.

예시 1. 다음 샘플들은 문구가 약간 다르기 때문에 직접적인 중복은 아니지만, 동일한 언어 유희를 나타내고 있어서 함께 그룹화되었다.

(1.1) Why did the bicycle fall over?
Because it was two-tired.

(1.2) Why didn’t the bicycle stand up by itself?
Because it was two tired.

이러한 과정을 거쳐 최종적으로 25개의 가장 빈도가 높은 농담 목록이 생성되었다.

Top 25 Jokes. 상위 25개 농담의 최종 목록은 1008개 샘플 중 917개를 다루었다. 부록의 Sec. B에서 찾을 수 있다. 농담은 발생 횟수와 함께 표시된다. 다음은 가장 빈번한 농담 다섯 가지이다.

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)

이 예시들 중에서 발생하는 빈도 수는 매우 다양하다. 상위 4개의 농담은 각각 100번 이상 발생했지만, T13에서 T25의 농담은 20번 미만으로 발생했다. 이 25개의 농담이 모두 함께 모여 90%를 차지하지만, 상위 4개의 농담만으로도 50% 이상을 차지한다. 이 관찰 결과는 초기 가설과 상반된다. 미리 정의된 목록에서 무작위로 선택하는 경우, 샘플의 발생이 더 균일하게 분포되는 것을 기대할 수 있다. 그럼에도 불구하고, 반복되는 샘플의 수가 적다는 것은 ChatGPT의 응답 패턴이 제한된 다양성을 갖고 있다는 것을 보여준다.

상위 25개의 샘플은 모두 이미 존재하는 농담이다. 이들은 다양한 텍스트 소스에 포함되어 있으며, 일반적인 인터넷 검색에서도 정확히 동일한 문구로 즉시 찾을 수 있다. 따라서 이러한 예시들은 ChatGPT의 독특한 창작물로 간주할 수 없다.

1008개의 샘플 중 909개는 상위 25개 농담 중 하나와 완전히 동일했다. 그러나 나머지 99개의 샘플은 반드시 새로운 콘텐츠를 포함하고 있는 것은 아니다. 예시 2, 예시 3, 예시 4에서 보여주는 것처럼, 그 중 약 절반은 다시 상위 농담의 변형이었다. 일부 변형된 언어 유희는 여전히 의미를 갖고 있었고, 대부분은 원래 농담의 일부를 의미적으로 유사한 요소로 대체했다. 그러나 다른 몇 가지는 결론성을 잃었다. 따라서, 상위 25개 농담 샘플은 본래 생성된 것보다는 복제된 것으로 보이지만, 나머지 샘플에는 원본 콘텐츠가 존재하는 것으로 보인다.

Example 2. 항목 2.1은 이른바 안티조크(Anti-Joke)라는 유명한 치킨조크다. 개그 특유의 빌드업으로 기대감을 조성하지만, 웃음 포인트를 제외한다. 그 원래 농담 외에도 다른 상황에서 닭과 함께 많은 변형이 존재하지만 비슷하게 들리는 반농담이다. 항목 2.2는 이러한 변형이며 원래 농담보다 생성된 샘플 세트에서 훨씬 더 많이 나타난다. 항목 2.3, 2.4, 2.5는 상위 25개 농담에 포함되지 않으며 ChatGPT에 의한 수정으로 간주될 수 있다.

(2.1) Why did the chicken cross the road? To get to the other side. (7)
(2.2) Why did the chicken cross the playground? To get to the other slide. (33)
(2.3) Why did the duck cross the road? To get to the other pond. (2)
(2.4) Why did the chicken wear a tuxedo? Because it was a formal occasion. (1)
(2.5) Why did the duck cross the playground? To get to the other slide. (1)

안티-농담의 경우, 고전적인 방식으로 계산되지 않기 때문에 샘플이 유효한지 판단하는 것이 특히 어렵다. 그러나 첫 번째와 두 번째 항목이 이미 존재하는 농담이라고 말할 수 있으며, 나머지 항목들은 드물거나 ChatGPT에서 생성된 것이다.

Example 3. Ex. 1에서 해당 동작을 관찰하는 것이 논쟁의 여지가 있지만, Ex. 2는 ChatGPT가 서로 다른 유효한 농담 요소들을 혼합하여 새로운 샘플을 만드는 방법을 명확하게 보여준다. 3.1 항목은 상위 25개 농담 중 하나이다. 3.2와 3.3 항목은 그룹화되지 않은 나머지 99개의 농담 중 하나였다.

(3.1) Why did the man put his money in the freezer? He wanted cold hard cash. (13)
(3.2) Why did the man put his watch in the blender? He wanted to make time fly. (2)
(3.3) Why did the man put his money in the blender? He wanted to make time fly. (2)

항목 3.1과 항목 3.2는 유효한 복제된 농담이며, 항목 3.3은 잘못된 조합이다.

Example 4. 출력 목록에서 가장 자주 나오는 농담 중 하나는 수학 교과서 판 재미, 4.1 항목이다. 4.2 항목과 같이 작은 문법적 변형으로 유효한 많은 수정이 있었다. 모든 변형이 훈련 데이터 소스에서 복제되었는지 아니면 4.1 항목만이 그렇게 되었는지, 그리고 다른 항목들이 ChatGPT에 의해 수정되었는지 여전히 불분명하다. 4.3 항목에서는 "수학 교과서"가 "물리학 교과서"로 대체된다. 이 변경은 불필요하며 재미를 둔화시키지만, 농담은 여전히 유효하다. 물리학 교과서도 수학적 문제와 관련이 있기 때문이다. 반면에 4.4 항목은 농담보다는 모욕으로 보인다. 어떤 언어적 장난도 포함되어 있지 않다. ChatGPT는 농담 템플릿을 초과하여 유효하지 않은 출력을 생성한다.

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

Ex. 1에서 Ex. 4까지의 예시는 ChatGPT가 복제된 농담 예제에서 시작하여 잘못된 응답으로 수정하는 방법을 보여준다. 사용자가 직접 언급하여 농담을 요청하면 대부분의 응답이 복제된 농담으로 이루어지며, 수정된 농담이나 원본 콘텐츠는 상대적으로 적다. 그러나 기존의 농담 수정은 프롬프트를 지정함으로써 강제로 발생할 수 있다. 다음 예시인 Ex. 5, Ex. 6, Ex. 7은 ChatGPT가 배운 농담 구조를 활용하여 원본 콘텐츠를 만들 수 있는 능력을 보여준다. 이러한 예시들은 초기 1008개 샘플 중 일부가 아니며, 이러한 행동을 보여주기 위해 수동으로 만들어졌다.

Example 5. ChatGPT는 질문-답변-농담 템플릿에서 다양한 시나리오에 적합하다.

P: Can you tell me a joke about cats?
(5.1) Why did the cat put his paw in the air?
Because he wanted to catch a snowflake!

고양이가 눈송이를 잡는 상황은 현실적인 그림이다. 농담 구조는 재현된 말장난과 유사하다. 그러나 이 농담에는 웃음 요소가 부족하여 실제 대화에서는 효과가 없을 것이다.

Example 6. 어떤 경우에는, ChatGPT의 수정 사항이 매우 효과적으로 작동할 수 있다.

P: Tell me a joke about physics students!
(6.1) Why did the physics student break up with their lab partner? There was no chemistry!

ChatGPT의 출력물은 "물리 선생님이 생물학 선생님과 이별한 이유는?"라는 질문과 함께 제시되는 다른 유명한 농담에 기반을 두고 있다. 6.1 항목의 위트는 원래 농담의 것만큼 날카롭지는 않지만, 여전히 언어유희를 포함하고 있으며 부분적으로 유효한 농담이다.

Example 7. ChatGPT는 ML 분야와 같은 다양한 구체적 맥락에 적응할 수 있다. 그러나 알려진 농담과 멀어질수록, 코믹 요소가 없는 것처럼 보인다.

P: Tell me a joke about machine learning!
(7.1) Why did the machine learning algorithm cross the road?
To get to the other side of the training data set!

7.1 항목에서는 이전에 본 치킨 유머 형식에 매우 구체적인 어휘가 통합되는 것을 관찰할 수 있다. 동일한 프롬프트를 반복하면 동일한 텍스트 구조를 가지지만 다른 내용의 출력이 생성된다.

(7.2) Why was the machine learning algorithm always so pessimistic?
Because it had a negative bias!
기계 학습 알고리즘은 왜 항상 비관적이었나요? 부정적인 편향이 있었기 때문이죠!
(7.3) Why did the neural network go to therapy?
Because it was suffering from overfitting!
신경망이 왜 치료를 받으러 갔을까요? 과적합으로 고통받고 있었기 때문입니다!

샘플들은 ML 시스템의 편견과 같은 내용에 대해 꽤 합리적이다. 또한, 그들은 고통이라는 단어의 이중 의미와 같은 단어 놀음의 기본 구현을 포함하고 있다. 예를 들어, 장애와 기계 학습 오버피팅의 문맥에서 고통의 이중 의미입니다. 그러나, 이러한 언어유희는 실제로 유효한 농담을 구성하기에 마지막 뉘앙스를 부족하게 한다.

4-2. Joke Explanation

ChatGPT에게 상위 25개의 농담 각각을 설명해 달라고 요청했고, 대부분 유효한 설명이 나왔다. Ex. 8에서와 같이 언어유희와 이중표현의 의미가 정확하게 서술되었다.

Example 8. ChatGPT는 "문제"라는 용어의 두 가지 의미를 웃음을 유발하는 언어유희의 요소로 올바르게 명명하고 두 가지 의미를 모두 설명한다.

P: Can you explain why this joke is funny: Why was the math book sad? Because it had too many problems.
(8.1) This joke is funny because it’s a play on words. The word "problems" is being used in two different ways: as a mathematical term (referring to mathematical exercises) and as an idiomatic expression (referring to difficulties or challenges in life). [...]
이 농담은 말장난으로 재미있는 것입니다. "problems"라는 단어는 두 가지 다른 방법으로 사용되고 있습니다. 수학 용어(수학 문제를 나타내는)와 관용구(인생에서의 어려움이나 곤란을 나타내는)로 사용됩니다.[...]

25개 중 23개의 유효한 농담에 대해, ChatGPT는 직접적인 것 뿐만 아니라 "too tired"와 "two-tired" 또는 "peeling"과 "feeling"과 같은 음운적인 이중 의미도 올바르고 합리적으로 설명했다. 특별한 경우로는 Ex. 2에서 이미 논의된 치킨 반농담과 그 수정 사항의 설명이 있다.

Example 9. 치킨 농담은 유명한 안티 조크이다. 이러한 보편적인 지식은 모델과 농담에서 제대로 설명되고 있다.

P: Can you explain why this joke is funny: Why did the chicken cross the road? To get to the other side.
(9.1) The humor in this joke lies in the unexpected and straightforward punchline. When someone hears the setup of the joke, they are likely expecting a clever or surprising answer to why the chicken crossed the road. However, the punchline is just a simple and obvious explanation - the chicken crossed the road to get to the other side. The joke is an example of an "anti-joke," a type of joke that intentionally avoids a typical punchline and instead delivers a mundane or literal answer. In this case, the answer is so obvious that it’s unexpected and therefore amusing to many people.
이 농담의 유머는 예상치 못한 단순한 결말에 있다. 누군가가 이 농담의 시작부분을 듣게 되면, 닭이 길을 건너는 이유에 대한 놀라운 대답을 기대할 것이다. 그러나 결말은 간단하고 분명한 설명뿐이다 - 닭은 길을 건너기 위해 건너간 것이다. 이 농담은 "안티-농담"의 예이며, 전형적인 결말을 대신하여 일상적이거나 말 그대로 대답을 제공하는 유형의 농담이다. 이 경우, 답변이 너무 분명하기 때문에 예상치 못하고 많은 사람들에게 재미를 준다.

Example 10. 그러나, 닭 농담의 유사한 인기있는 변형에 대해서는, ChatGPT는 이러한 연결을 인식하지 못한다. 주어진 샘플의 내용에만 집중하고, 난해한 설명을 만든다:

P: Can you explain why this joke is funny: Why did the chicken cross the playground? To get to the other slide.
(10.1) The joke is a play on words, using the double meaning of the word "slide". In a playground, there are often two types of slides.
- a playground slide that children can slide down and a baseball slide, which is a sliding technique used in baseball. [...] 이 농담은 'slide'라는 단어의 두 가지 뜻을 이용한 말장난이다.
- 놀이터에서는 어린이들이 내려가는 놀이터 미끄럼틀과 야구에서 사용되는 슬라이딩 기술인 베이스볼 슬라이드 두 가지 종류의 슬라이드가 있다. [...]

이 예시는 ChatGPT가 적합하지 않은 상황에 승인된 추론 체계를 적용하려고 시도하는 방법을 보여준다.

Example 11. ChatGPT는 유효한 농담뿐만 아니라 유효하지 않은 농담에 대해서도 설득력있는 설명을 제공한다. 이 샘플은 4.1 섹션에서 생성된 1008개의 농담 중에서 유효하지 않은 것으로 간주되는 소수의 출력 중 하나였다. 단 한 번 발생했다.

P Can you explain why this joke is funny: Why did the cookie go to the gym? To get a-cookie-dized.
(11.1) The joke is a play on words. "To get "acookie-dized" is a pun on the phrase "to get categorized", with "cookie" being substituted for "categorized." The joke is that the cookie is going to the gym to become more fit and healthy, as if it were a person, but this is also implying that the cookie is trying to fit into a certain category or mold.
이 농담은 언어 유머입니다. "Acookie-dized"를 얻다는 것은 "분류되다"라는 구문을 농담으로 바꾼 것입니다. "Categorized" 대신 "cookie"가 대체되었습니다. 이 농담은 쿠키가 사람처럼 훨씬 더 맞춤화되고 건강하게 되기 위해 체육관에 가고 있다는 것입니다. 하지만 이것은 또한 쿠키가 특정 범주나 틀에 맞추려고 노력하고 있다는 것을 시사합니다.

해당 농담 자체가 이해하기 어렵고, 설명은 더욱 어렵다. ChatGPT의 설명은 어떤 유머적 요소도 드러내지 않는다. 강조된 말장난은 인간적인 관점에서는 전혀 의미가 없다. 시스템은 이 농담이 재미있지 않다는 것을 부인하거나 어떤 언어유희도 인식하지 못한다는 것을 인정하지 못하는 것 같다. 대신, 그는 가상의 그러나 설득력 있는 설명을 만듭니다. 자세한 예시는 부록 C에서 찾아볼 수 있다.

4-3. Joke Detection

4.2절의 결과는 ChatGPT가 제시된 샘플이 유효하지 않아도 대부분 이의를 제기하지 않는 것으로 나타났다. 이러한 사실 때문에 시스템이 웃음을 자극하지만 재미가 없는 샘플과 같은 유형의 샘플을 구분할 수 있는지에 대한 의문이 생겼다. 따라서 유효한 웃긴 이야기뿐만 아니라 여러 가지 웃긴 조건(그림 2 참조)에 대한 다섯 가지 샘플을 만들어 시스템이 각각의 샘플을 분류할 수 있는지 확인하였다.

ChatGPT의 응답은 문장 구조나 스타일적인 요소에 대한 구체적인 내용을 담고 있다. 그러나 농담 분류에 관해서는, 세 가지 범주의 응답이 두드러졌다:

  • [P] Joke: 이 샘플은 즉시 그것이 농담이나 말장난임을 분명하게 인식한다.
  • [H] Potentially funny: 문장의 유머적 잠재력은 뒤쪽에서 언급된다.
  • [N] No Joke: 이 샘플은 농담이나 말장난으로 분류되지 않았으며, 응답에서 그 코믹 잠재력도 언급되지 않았다.

그림 2는 이 작업의 수정 단계와 전반적인 결과를 보여준다. 카테고리에 대한 더 자세한 설명과 모든 고려된 수정 및 그들의 분류는 부록 D의 섹션에서 제공된다.

모든 원래 25개의 농담은 분명히 농담으로 분류되었다. 각각의 샘플이 이전 작업에서 ChatGPT에 의해 모범적인 농담으로 출력되었기 때문에 매우 놀라운 것은 아니다. 그러나 이는 이 작업의 타당성과 ChatGPT의 추론 능력에 대한 확인으로 작용한다. 수정 세트 중에서 A 수정과 C 수정은 혼합된 분류를 보인다. 이 두 가지 조건은 세 가지 특성 중 하나가 제거되고 다른 두 가지가 변경되지 않은 경우이다. 두 경우 모두 농담의 분류는 비교적으로 농담과 아닌 것으로 균등하게 분류되었으며, 후자의 경향이 약간 있다. 몇 가지 샘플만 잠재적으로 유머러스하게 분류되었다. 나머지 수정 세트인 B 세트와 D 세트는 각각 두 가지 특성이 제거된 샘플만이 아닌 농담으로 분류되었다. 25개의 샘플 중 어느 하나도 농담 또는 잠재적으로 유머러스한 것으로 분류되지 않았다.

따라서, ChatGPT가 샘플을 농담으로 분류하려면 하나의 농담 특성 만으로는 충분하지 않다. 이는 농담 특유의 구조와 주제 모두에 적용된다. 두 가지 농담 특성의 경우, 분류 결과는 혼합되었으며 세 가지 농담 특성 모두 농담으로 분류되었다.


5. Discussion

ChatGPT가 유머를 포착하고 반영하는 능력을 이해하기 위해 노력했다. 세 가지 프롬프트 기반 작업의 결과는 시스템 내부 작업에 대한 함의를 보여준다.

Joke Generation. 생성된 샘플 중 90% 이상이 같은 25개의 농담이었다. 이러한 반복은 농담이 원래 생성되지 않았다는 초기 인상을 지원한다. 아마도 가장 빈번한 인스턴스는 직접 학습하고 모델 훈련에서 기억된 것이다. 예를 들면, ChatGPT의 혁신적인 능력에 상당한 기여를 하는 RLHF 단계에서 기억된다. 생성된 출력이 훈련 데이터에서 재생산되는지 여부와 그 정도는 복잡한 문제이다. 추가적인 교육 세부 정보에 액세스 할 기회가 있다면, 해당 가설을 검증할 것이다.

그럼에도 불구하고, ChatGPT에 의해 수정 또는 생성된 농담을 관찰했다. 이와 출력 샘플의 불균형 분포는 하드코딩된 농담의 초기 가설을 지지하지 않는다. ChatGPT는 학습한 최고의 농담의 특징, 예를 들어 의미론적 형식과 언어 유희를 일반화하고, 새로운 주제를 알려진 패턴에 끼워 넣을 수 있다. 이것들은 유효한 농담의 특징이지만, 이는 꽤 일면적인 농담의 개념이며, 특히 유머 전반에 대한 것이다. 따라서, ChatGPT는 이 특정 유형의 농담을 상당히 잘 이해하지만, 더 큰 유머 스펙트럼을 반영하지 못한다.

Joke Explanation. 이 모델은 의인화와 말장난과 같은 스타일 요소를 인상적으로 잘 파악하고 설명할 수 있다. 그러나 명백한 한계가 있다: ChatGPT는 배운 패턴에 맞지 않는 시퀀스를 설명하는 데 어려움이 있다. 더 구체적으로, 그것은 어떤 것이 재미 없거나 유효한 설명이 없다는 것을 나타내지 않는다. 대신, 그것은 가상의 그러나 설득력있는 설명을 제시한다. ChatGPT의 잘 알려진 문제다.

Joke Detection. 만들어진 농담들이 공통적으로 가지고 있는 구조, 언어유희, 주제와 같은 세 가지 주요 특성을 확인했다. 예를 들어, 질문-답변 템플릿과 같은 단일한 농담-특성이 존재하는 것만으로는 샘플이 잘못 분류될 가능성이 없다. ChatGPT가 이러한 표면적인 특성에 속지 않았다는 사실은 농담의 유머 요소에 대한 어느 정도의 이해가 있음을 보여준다. 더 많은 농담-특성이 있을수록 샘플이 더욱 농담으로 분류될 가능성이 높다.

ChatGPT의 농담은 새롭게 생성된 것은 아니지만, 시스템의 능력을 제거하지 않는다. 우리 인간들도 새로운 농담을 즉흥적으로 만들지 않고, 대부분 이전에 들었던 말장난을 기억해서 말한다. 그러나 학습한 내용을 인공 에이전트가 이해할 수 있는지는 굉장히 어려운 문제이며, 부분적으로 철학적인 측면이 기술적인 측면보다 더 많다.

현재 실험에서는 모든 프롬프트가 통제되지 않은 프라이밍을 피하기 위해 비어 있는 새로 고침된 채팅에 게시되었다. 그러나 분명하게 말하면, 맥락은 유머 감각에 중요한 역할을 한다. ChatGPT는 맥락 정보를 캡처하여 이전 대화 과정에 따라 적절하게 응답을 조정할 수 있다. 흥미로운 능력이며, 향후 조사에 포함시킬 것이다.


6. Conclusion

ChatGPT의 인간적 유머를 인식하고 반영하는 능력을 테스트하였다. 이 모델은 학습된 패턴에 맞는 유머적 말장난을 올바르게 식별, 재현 및 설명할 수 있지만, 다른 유형의 말장난을 인식하지 못하므로 유머를 제한적으로 반영한다. 또한, 아직 자신감 있게 웃긴 원본 콘텐츠를 만들어내지 못한다.

이 연구의 관찰 결과는 ChatGPT가 실제로 웃기는 대신 특정한 농담 패턴을 학습한 것을 보여준다. 그러나 농담 생성, 설명 및 식별에서 ChatGPT의 초점은 내용과 의미에 더 많이 두어서 표면적인 특성보다는 이러한 특성을 활용하여 계산적 유머 응용 프로그램을 향상시킬 수 있다. 이전 LLM에 비해, 이는 유머의 일반적인 이해를 위한 큰 발전으로 간주될 수 있다.

농담 생성과 이해 능력에 대한 비교를 위해 최신 GPT4 모델 및 LLaMa 및 GPTNeoX와 같은 오픈 소스 모델에서 유사한 작업을 수행할 계획이다.


7. Limitations

이 연구는 두 가지 주요한 제한 사항을 가지고 있다. 첫째, 유머는 매우 주관적이며 유효하고 신뢰할 수 있는 평가는 어렵다. 사람들은 매우 다른 이유로 웃을 수 있다. 예를 들어 반웃음이 나는 안티조크와 같은 것도 있다. 따라서 ChatGPT가 ML에 대한 이상한 농담을 만들어 내면, 우리의 유머 감각과 다른 유머 감각을 가진 ChatGPT가 있을 수도 있다. 또한 유머는 실제로 다양하다. 이 연구는 독립적인 농담이라는 한 가지 구체적인 유머 형태에 초점을 맞추고 있다. 고려해야 할 더 많은 유형이 있으며, 이를 위해서는 훨씬 더 복잡한 실험 설정이 필요하다.

둘째로, 시스템 결과를 자신있게 추적하거나 특정 입력 데이터와 매핑할 수 없다. 이는 일반적으로 대규모 데이터 기반 모델에 대해 어려운 문제이다. 특히 RLHF의 모델 자체는 훈련 데이터 혹은 예시 샘플에 대한 접근 권한이 없는 경우에는 더욱 어려워진다. 이 프롬프트 기반 조사는 ChatGPT의 기회와 제한에 대한 좋은 직관을 제공한다. 그러나 이 논문에서의 관찰과 결론은 오직 시스템 출력에만 기반하고 있다. 이러한 관계를 실제로 이해하기 위해서는 추가적인 통찰력이 필요하다.


8. Ethics Statement

ChatGPT는 다양한 작업에 도구로 사용되며 대중의 주목을 받아 사회적 영향력을 미치고 있다. 이러한 영향력은 차별적인 편견이나 잘못된 정보의 확산과 같은 막대한 책임과 위험을 수반한다.

그러나 데이터, 훈련 내용 및 모델 특성이 비공개로 유지되므로 시스템이 공개 과학의 요구 사항을 충족하지 못하는 것으로 판명되었다. 따라서, 이 논문의 작업이 ChatGPT의 능력을 이해하는 데 중요한 기여라고 생각하며, 그 잠재력과 한계를 객관적으로 강조한다.


9. Acknowledgements

저자들은 익명의 심사자들께서 제공해 주신 유용한 의견에 감사드립니다. 본 연구는 Hessian 고등 교육, 연구 및 예술부 (HMWK) 클러스터 프로젝트 "The Adaptive Mind"과 "The Third Wave of AI"에서 지원받았습니다.