Python

Eliza chatbot - 사람들의 마음을 위로해주는 대화봇

summerorange 2022. 6. 29. 21:30
반응형

이 논문은 초기 NLP 논문이라고 할 수 있다. Joseph Weizenbaum 이 MIT에서 1966년대 작성한 논문이다.

Weizenbaum(1966)은 컴퓨터와 인간이 대화하도록 챗봇을 만들었는데,

이 프로그램을 보면 얼마나 정교하게 심리 상담 기법을 활용했는지 알 수 있다. 이 사람이 얼마나 진심이었는지 느껴져서 정말 놀람 :-0 영혼을 갈아넣었음.... 어나더 레벨 수준.

논문 부록으로 대화용 스크립트도 마련이 되어 있다.

이런 논문을 읽으면서 이미 1966년대에 챗봇이 완성이 되어 있다는 것도 놀라웠고, 초기 챗봇이 심리상담용인 것도 놀라웠다.

심리상담용 해봐야 그 당시에 뭐 얼마나 기법을 잘 썼겠어 라고 생각했는데... 대화에서 하지 말아야 할 내용은 다 뺐고,

예를 들어 충고 "~문제는 이렇게 해야 해."

조언 "~했어야지"

평가 "~~은 나빠 혹은 좋아".

판단 "~이건 이거야"

등등의 상담자가 절대 하지 말아야 할 말은 없앴고,

상담 기법 중의

반영 "~ 대해서 어떻게 생각하니?"

되묻기 "~구나. 좀 더 말해줘" 등의 기법들이 해당 챗봇에 들어가 있다.

파이썬 파일도 찾아보니 있었다. 아마 한국어 파일도 있을 텐데. 없으려나. 

https://github.com/wadetb/eliza

 

GitHub - wadetb/eliza: Python implementation of the Eliza chatbot

Python implementation of the Eliza chatbot. Contribute to wadetb/eliza development by creating an account on GitHub.

github.com

해당 파일 fork 해서 봐도 되고 하단의 code - Download 해서 뜯어봐도 된다.

 

오늘 테스트 해본 결과

 

심심하면 이 챗봇을 가지고 놀아도 된다.

좀 놀라웠던 게.

> 넌 내가 무슨 말을 하는 지 알잖아(you understand what I am saying)

우린 지금 너에 대한 얘기를 하고 있어. 내가 아니라. (We were discussing you -- not me.)

라고 말하는 것.

와 이 스크립트 누구에게 검수 받은 거지?? 대박인데... 라고 생각했다. 1960년대면 매슬로우나 로저스 같은 심리학자 일 거라고 추정.

 

해당 파일 푸는 법은... eliza chatbot 이라고 깃헙 repository에 찾으면 나오는 것을 찾으면 된다. 아니면 상단 링크에 들어가서 

다음과 같이 code - download ZIP

을 해서 폴더를 다운 받고

해당 폴더 압축 푼 뒤에 돌려주면 된다. 

우분투라서 나는 해당 압축 푼 곳으로 가서

다음과 같이 돌려 주면 된다.

# cd 를 쳐서 해당 경로로 이동
cd Download

# 파이썬 프로그램 실행
python eliza.py

 

python 뿐 만 아니라 swift 언어로 된 파일도 찾아보니 나온다. 이건 mac에서 돌려봤음...!

아마 java 파일도 찾으면 나올 것 같음ㅋㅋㅋ

 

초기 인공지능 심리치료사 Eliza bot 한 번 써보시길 추천합니다:)

반응형