고전 A.I. 챗봇인 정신과 의사 엘리자를 웹 상에서 javaScript로 구현한 곳이 있어 사용해 봤다.
if~else~then식 단순 패턴 매칭을 이용할 뿐이지만 꽤 그럴싸한 대화를 구사하는 듯 느껴진다. 처음 등장했을 때 이것을 사용해 심리상담을 받아 본 이용자들은 엘리자가 인간이 아니라는 것을 거의 느끼지 못했을 뿐 아니라 엘리자에게 신뢰감을 느꼈다고 한다. 직접 짧은 영어로 대화를 해봤는데 역시 그럴싸하다. 만약 엘리자가 정신과 의사라고 생각하고 짧은 시간 대화한다면 신뢰감이 들만 도 하다. 물론 구체적인 이야기를 하는건 불가능.

Eliza Chat bot page: http://nlp-addiction.com/eliza/
이 홈페이지엔 이 오리지널 엘리자 챗 봇 이외에도 수학 관련 챗봇 등도 있다.

위키피디아 Eliza 항목(영): https://en.wikipedia.org/wiki/ELIZA

15/12/28 월

Eliza Chat bot과의 대화 내용:

> Hello. My name is Eliza. How may I help you?
* Just chat please
> Ahh. Please continue...
* I heard about you
> We were discussing you, not me.
* can't we talk about you?
> Oh...?
* I'm interested in you.
> Do you believe it is normal to be interested in me?
* yes. pretty normal. I think.
> Do you really think so?
* yes. cause of you're an A.I. program.
> What makes you think I am A. you. program?
* you were made to chat with people.
> You're not really talking about me, are you?
* yes.
> I see.
* anyway, sorry to my poor english.
> Apologies are not necessary.

꽤 그럴싸한 대응을 보인다.
의사의 권위, 질문, 되묻기 정도의 간단한 대화 스킬만으로 인간스러움을 획득하고 있다.

* rand()함수를 이용한 간단한 펄 주사위.

dice.pl====================================================
#Dice
$diceNum = int(rand(6))+1;
print $diceNum;

#일반적인 정수 x와 y 사이의 랜덤한 수 구하기는 아래와 같은 형식:
#$random = int(rand(y - x + 1)) + x;
========================================================

아래는 Cygwin에서 위 dice.pl을 실행한 것.
$ perl dice.pl
6
$ perl dice.pl
3
$ perl dice.pl
1