대화의 화제거리로 흔히 쓰이는 영화, 만화, 소설, 음악, 스포츠 등은 지식과 경험이라는 두 개의 축을 가지고 대화를 이어 나갈 수 있는 소재이다. 예를 들면 매트릭스라는 영화를 안다는 지식 측면과 매트릭스를 보았다라는 경험 측면의 두 축을 바탕으로 서로 묻고 답하고 교감할 수 있다. 위의 대화 예제도 일상 대화에서처럼 경험을 묻고 있는데 이렇게 경험을 물었을 때는 사용자의 답변을 잘 기억해 두어야 향후 이어지는 대화에서 문맥에 맞는 질문이나 답을 할 수 있다.앞 절에서 설명한 매치변수가 한 룰 내에서 유효한 단기기억이라면 이번 절에서는 룰과 룰 사이에 공유할 수 있는 장기기억에 대해 알아보기로 하자. 이는 작성자 변수라고도 하는데 작성자가 만들고 작성자가 삭제할 수 있기 때문이며 $(달러 표시)로 시작..
스크립트를 작성하는 시점에는 사용자가 씨엘을 좋아한다고 할 지 박봄을 좋아한다고 할지 알 수 없다. 따라서 출력문을 위와 같이 만들려면, 사용자가 말한 것을 실시간으로 저장해서 사용해야 한다. 먼저 패턴을 작성해 보면, A. u: ( ~씨엘 *~2 좋아*) 위의 룰은 “씨엘을 좋아해요”, “저는 씨엘을 가장 많이 좋아해요”, “CL이 좋아” 등을 매칭시킬 수 있다. 이제 이 룰에서 사용자가 말하는 씨엘을 변수로 저장해 보자. 이를 위해 _(under bar)명령어를 사용한다. B. u: ( _~씨엘 *~2 좋아*) 이렇게 컨셉 앞에 _(under bar)를 붙이면 사용자가 컨셉 ~씨엘에 포함되어 있는 여러 단어 중에 한 단어를 입력할 경우 그 단어를 임시 변수에 저장하도록 한다. 임시 변수라는 것은 이 ..