-
[Google Chatbot Dialogflow #5] Welcome Intent, Fallback Intetn 설정Chatbot 2020. 6. 12. 20:09
지난 포스팅에서 콜센터 상담원 역할을 하는 에이전트를 생성해 주었다. 에이전트 생성이라는 것은 이제 갓 사회에 진출한 초년생을 콜센터에 입사시킨 것과 같다.
이번 포스팅에서는 신입사원인 기상캐스터 에이전트에게 고객응대 교육을 시키는 일을 할 것이다. 교육방법은 아주 간단하다. 고객이 어떤 말을 하면 너는 어떻게 대답해라고 가르쳐 준 다음 정말 잘 대답하는지 테스트해보는 것이다.
에이전트를 만들면 기본 2개의 인텐트가 자동으로 생성된다. 하나는 Welcome Intent이고 나머지 하나는 Fallback Intent이다.
Welcome 인텐트는 인사하기 교육이다. 발화자가 "안녕하세요?"와 같은 인사를 했을 때 응답하는 방법을 알려준다. Fallback 인텐트는 신입 콜센터 상담원이 고객의 질문을 파악하지 못했을 때 응답에대한 교육으로 쉽게 말해 "모른다"는 말의 다양한 표현을 입력해 준다.
1. Welcome Intent 살펴보기
신입사원에게 인사하는 방법부터 알려주자. Intent 메뉴에서 Default Welcome Intent를 클릭해서 설정화면으로 이동한다.
먼저 이벤트는 발화자가 말한 문장의 내용이 아닌 행위에 대한 매칭을 설정하는 것이다. Default Welcome Intent에는 "Welcome" 이벤트가 설정되어 있다. 웰컴 이벤트는 발화자가 채팅방에 입장했을 때와 같이 인사를 해야 하는 상황에서 발생하는 이벤트이다.
훈련 문구(Training Phases)는 예상되는 발화자의 질문이다. 챗봇이 활성화되면 머신러닝에 의해서 유사한 문구도 자동으로 처리된다고 하는데, 처음 생성 시에는 훈련 문구 외의 질문을 잘 인식하지 못한다. 발화자가 자주 사용할 것 같은 표현을 추가해주는 것이 좋다.
응답(Responses)은 발화자의 질문에 대한 대답을 등록하는 곳이다.
2. Welcome Intent 테스트 및 설정하기
인텐트 설정화면 오른쪽에는 테스트 영역이 있다. Try it now 칸에 한글로 "안녕"을 입력 후 엔터를 누르면 하단에 사용자 말(USER SAYS)과 그에 따른 응답(DEFAULT RESPONSE)을 보여준다. "안녕"이라는 말에 챗봇이 "안녕!"하고 답한 것이다.
테스트 영역에서 훈련 문구(Training phrases)에 등록되어 있는 "오랜만이야", "저기" 등을 입력해 보면 챗봇이 등록된 응답 중에 하나를 선택해 답변을 한다.
안타깝게도 "안녕하세요"라고 입력하면 제대로 이해하지 못했다고 응답한다. 이렇게 발화자가 자주 쓸 법 한데, 대응하지 못하는 문구를 훈련 문구(Training phrases) 아래에 Add user expression에 등록을 해준다.
우리나라에서 가장 많이 사용하는 인삿말인 "안녕하세요"를 훈련 문구에 입력하고 엔터를 누르면 등록된다. 등록 후 반드시 상단에 파란색 SAVE버튼을 눌러주면 훈련 문구 등록이 완료된다.
하지만 테스트를 위해서 우측 Try it now에 "안녕하세요"를 입력하면, 기대와 다르게 인식하지 못한다는 반응이 나타난다. 아무리 "SAVE" 버튼을 새로 입력한 훈련 문구가 반영되지 않는다.
인텐트에 입력한 훈련 문구를 반영시키려면 학습을 시켜야 한다. 에이전트 설정에서 ML Setting 탭으로 이동한다. 페이지 맨 아래에 있는 "TRAIN" 버튼을 눌러주면 수정된 인텐트를 에이전트에게 학습시킨다. 학습이 완료된 후 오른쪽 상단 Try it now에 "안녕하세요"를 입력하면 Default Welcom Intent로 인식되고 그에 맞는 응답을 해준다.
앞서 훈련 문구에 모든 문구를 넣지 않아도 머신 러닝으로 유사한 문장은 자동으로 처리된다고 설명했었는데, 설명과 다르게 "안녕하세요"는 인식하지 못했다. 반면 "저기요", "오랜만이에요"와 같은 훈련 문구와 유사한 문장은 인식한다. 이는 머신러닝이 아직 덜 되었기 때문인데, 마냥 기다릴 수 없으니, 사용자가 많이 표현하는 문장은 훈련 문구에 입력해 주는 것이 빠르다.
3. Fullback Intent 살펴보기
대체 인턴트(Fallback Intent)는 발화자의 의도를 파악하지 못했을 때 반응하는 인텐트다. 프로그램으로 따지자면 If else문 중에 조건 분기 다 끝나고 남은 나머지 처리이다. 챗봇에서 발화자의 질문이 어떤 인텐트에도 걸려들지 못했다면 결국 대체 인텐트로 연결된다.
즉, 대체 인턴트의 응답은 "모르겠습니다"로 귀결된다고 할 수 있다. 모든 조건문의 마지막 단계에 걸리는 것이기 때문에 훈련 문구 설정이 필요 없다. 페이지 하단에 Response 부분에서 "모르겠습니다"를 발화자 기분이 상하지 않게 다양한 표현을 추가해 주는 것으로 설정은 끝난다.
이번 포스팅에서는 챗봇의 핵심!
발화자의 의도에 따라서 대응하는 하나의 블록인 인텐트!
인텐트 중에서도 기본 인텐트인 Welcome 과 Fallback 인텐트에 대해서 알아봤다.
다음 포스팅에서는 에이전트의 업무처리를 위한 인텐트를 추가하고 설정하는 방법에 대해서 알아보겠다.
'Chatbot' 카테고리의 다른 글
[Google Chatbot Dialogflow #7] 날씨 인텐트 만들기 및 응답 설정하기 (0) 2020.06.16 [Google Chatbot Dialogflow #6] 커스텀 인텐트 만들기 (0) 2020.06.16 [Google Chatbot Dialogflow #4] 에이전트 만들기 (0) 2020.06.12 [Google Chatbot Dialogflow #3] Google Cloud Platform Project 설정하기 (1) 2020.06.12 [Google Chatbot Dialogflow #2] 구글 클라우드 무료 크래딧 받기 (0) 2020.06.11