사용자가 말을 걸기 전에 챗봇이 먼저 사용자에게 말을 걸 수 있다. 또는 챗봇에게 대화의 컨트롤이 왔을 때 사용자에게 새로운 화제를 제시할 수 있다. 이때 사용하는 규칙이 말걸기[1] (gambit) 규칙이다.챗봇에게 대화의 컨트롤이 오는 경우는 다음과 같은 경우이다. 사용자가 입력을 하면 챗봇에게 말할 차례가 온 것인데 이때, 챗봇이 하는 최우선 업무는 사용자 입력문에 일치하는 규칙을 찾는 일이다. 찾으면 그 규칙을 시행하게 되고 따라서 이 경우 대화의 컨트롤은 사용자가 갖고 있다. 사용자의 입력문에 챗봇이 대응하여야 하기 때문이다. 대신 사용자는 자연스런 대화를 하고 있다는 느낌을 받게 된다. 그런데 사용자 입력문에 해당하는 규칙을 발견하지 못한 경우에는 챗봇이 어떤 말이든 할 수 있는 상태가 된다...
CS는 사용자 입력문이 들어오면 입력문과 패턴을 비교하는데 어떻게 비교할 것인지는 패턴내에 함께 기술되어 있는 명령어에 따른다. 예를 들어 사용자가 아래와 얘기한다고 가정해 보자. a. 집에 간다b. 이모네 집에 간다c. 집에 간다 말하고 나왔다d. 집으로 간다 이들 문장 중 앞의 a, b, c 세 개 문장은 아래의 룰로 모두 매칭시킬 수 있다. (논의의 초점을 패턴에 맞추기 위해 출력문은 생략하였다) 룰A는 패턴 내에 별도의 명령어가 없는 경우인데 이런 경우 패턴 내에 나열되어 있는 단어가 사용자 입력문에 순서대로 연속적으로 나타날 경우에만 매칭되었다고 판단한다. 따라서 a와 같이 입력문과 패턴이 같거나 b와 c처럼 패턴이 입력문 내에 포함될 경우 일치한다고 판단한다.그러나 마지막 예문 d와는 매칭되지..
① 입력문, 패턴, 매칭, 출력문 사용자와 챗봇의 대화는 입력문, 패턴, 매칭, 출력문의 4가지 요소로 구성된다. 패턴과 출력문은 챗봇의 개발자가 미리 준비해 놓는 것이고 (이 둘을 묶어 룰이라 부름) 입력문과 매칭은 대화 중에 사용자와 챗봇에 의해 각각 실시간으로 입력되고 검토되는 것이다. 사용자 입력문이 들어오면 챗봇은 가지고 있는 룰 중에서 입력문과 일치하는 패턴을 찾는다. 이때 패턴을 기준으로 입력문을 조사한다. 즉 패턴이 입력문과 같거나 패턴이 입력문에 포함되면 일치하는 것으로 판단하고 준비되어 있는 출력문을 사용자에게 출력한다. A는 패턴과 입력문이 동일하므로 ‘일치’ 판정을 내리고 B는 패턴이 입력문에 포함되므로 ‘일치’ 판정을 내린다. C는 패턴에 있는 단어 ‘음악’이 입력문에 없기 때문에..