티스토리 뷰

 

챗봇의 정체성과 개성을 결정지었으면 이제 대본을 작성할 차례이다. 대본은 사람이 알아볼 수 있는 언어로 마치 연극 대본 작성하듯이 작성하면 된다. 이 단계에서는 CS 문법을 조금도 고려할 필요가 없다. 오히려 그 보다는 전체 대화를 어떻게 끌고 갈 것인지 누락된 주제는 없는지 너무 어려운 단어를 쓰는 것은 아닌지 또 앞서 정의한 챗봇의 개성과 어울리지 않는 부분은 없는지 등에 초점을 맞춰야 한다. 전체 밑그림을 그리는 과정에서 주의해야 할 점을 정리해 보면 다음과 같다.

먼저 토픽을 나열해 본다. 신상명세에 관한 토픽부터 친구, 취미, 경력, 재미있게 본 영화, 음악, 미술, 지리 등 당신이 대화하고 싶은 분야의 토픽을 나열해 본다. 이를 통해 챗봇이 가져야 될 일반상식의 밑그림이 그려진다.

토픽에 키워드들을 할당한다. 각 토픽이 다루려는 분야의 주요 단어들을 각 토픽에 배치해 본다. 이때 하나의 토픽이 폭 넓은 영역을 다루게 하기 보다는 좁은 영역을 깊이 있게 다루도록 만드는 것이 대화를 더 자연스럽게 한다는 점을 기억하자. 이를 위해 말걸기(화제 제시하기)가 충분히 있어야 한다. 참고로 Talking Angela의 경우 약 100개의 토픽을 가지고 있는데 그 중 쇼핑토픽에는 116개의 말걸기가 있으며 그 외 다른 26개의 토픽에는 각 30개씩의 말걸기가 있다고 한다.

한 토픽에 여러 테마를 담는 것도 바람직하지 않지만 한 테마가 여러 토픽에 중복되는 것도 바람직하지 않다. 자칫 토픽 간에 뒤엉켜 문맥에 맞지 않는 말걸기가 제시될 수 있기 때문이다. 토픽에 키워드를 할당하면서 이런 점을 조정한다.

토픽이 어느 정도 정리되면 각 토픽별로 말걸기(화제 제시하기)를 작성한다. 이 말걸기는, 내용상 두 부분으로 구성될 수 있는데 제시하려는 화제에 대한 간단한 안내 그리고 질문이다. 화제거리에 대한 간단한 안내로 시작함으로써 사용자에게 화제가 바뀌었음을 알려 주고 질문으로 대화 참여를 유도할 수 있게 된다.

여기서 질문이 중요한데 질문을 해야 대화를 주도할 수 있고 준비된 내용들로 대화를 이끌수 있기 때문이다. 반대로 사용자가 질문을 하기 시작하면 어떤 질문을 할 지 알 수가 없고 그에 대한 모든 답변을 준비한다는 것은 어려운 일이기 때문에 준비된 화제를 중심으로 대화가 이뤄지도록 질문(말걸기)을 충분히 만들어 놓는 것이 필요하다

말걸기의 질문은 예-아니오의 단답형 질문보다는 열린 질문이 좋다. 열린 질문을 하면 사용자의 답변이 어떻게 나올지 예측하기 어려운 단점이 있지만 그 다양한 답변에 대응할 수 있도록 준비해 놓으면 사용자도 만족스러운 대화를 지속할 수 있을 것이다. 보통 열린질문의 경우 예상응답은 10 ~ 20개 정도 갖게 된다.

말걸기를 작성할 때는 사용자의 ?”라는 질문에 대한 답변을 함께 준비해야 한다. 질문을 받으면 대답하는 대신 왜 그런 질문을 하는지 먼저 의도를 물어보는 경우가 많기 때문이다.

사용자의 질문이나 언급에 특별하게 반응하기 위한 reactor topic과 미처 준비하지 못한 사용자 질문에 대한 대응으로 quibbling topic도 준비한다. 이 두 개의 토픽은 작성자가 룰을 체계적으로 작성하고 관리할 수 있도록 용도를 특화한 토픽이다.

패턴을 작성할 때는 가능한 두 단어 이상으로 작성한다. 한 두 단어만으로는 사용자 입력문을 정확히 구별해 내기 쉽지 않기 때문이다.[1] 룰의 개수가 수천 개가 넘는 상황에서 한 두 단어로 작성된 패턴이 많다면 그 중 어떤 룰이 매칭될 지 장담할 수 없게 된다. 또한 패턴을 한 두 단어로 작성하면 속해 있는 토픽의 키워드를 포함시키지 못하는 일도 발생할 수 있게 된다. 따라서 패턴은 두 단어 이상으로 작성하되 무엇보다 해당 토픽의 키워드를 반드시 공유하도록 작성해야 한다.

사용자의 입력문을 엄밀하게 예측하고 캐치하려 노력하기 보다는 문맥을 이해하고 그에 맞는 출력문을 준비하는데 시간을 투자하는 것이 더 중요하다. 실제 사람들간의 대화도 워드 바이 워드 (word by word)로 응대하는 것보다 문맥에 맞춰, 대화상황에 맞춰 대화하는 것이 뜻도 더 잘 통하고 더 친밀감을 갖게 된다.

출력문의 길이는 다양할 수 있겠지만 너무 길지 않은 것이 좋을 것이다. 문자나 채팅을 통해 장문의 글을 주고 받지는 않기 때문이다.

 



[1] 예상응답은 예외이다. 예상응답은 바로 직전의 질문에 대한 답으로 작성하는 것이기 때문에 문맥에만 맞는다면 한 단어만으로 작성해도 매칭이 가능하다.


댓글
댓글쓰기 폼