서비스를 시작하면 챗봇은 모든 대화를 기록으로 남긴다. 그리고 챗봇의 운영자는 이 대화 기록을 활용함으로써 챗봇의 대화 능력을 향상시킬 수 있다. 그런데 이 로그화일은 읽기가 쉽지 않다. 부가 정보가 뒤섞여 있기 때문인데 이때 trim 명령어를 사용하면 필요한 내용만 발췌해서 볼 수 있다. 이 명령어는 USERS폴더에 기록된 로그 파일에서 작성자가 필요로 하다고 지정한 내용을 추출하여 TMP폴더에 기록한다. 운영자는 이 파일을 분석하여 룰이나 토픽, 키워드 등을 보완하면 된다. 명령 형식은 trim hercules 6 이다. 이 명령은 hercules 라는 사용자가 남긴 로그화일에서 hercules가 얘기한 내용만 추출하여(숫자 6의 의미) TMP 폴더아래에 tmp.txt 라는 파일에 저장하라는 뜻이다...
대화 단위 테스트까지 끝났다면 이제 ‘작동’은 문제가 없다는 뜻이다. 마지막 단계로 대화내용을 점검하고 regression 테스트를 진행하도록 하자. 대화 내용의 점검이란 말걸기 규칙과 응답 규칙이 “말이 되는지”, 어색하거나 추가할 것은 없는지를 검토하는 것이다. 더불어 모든 토픽의 키워드 지도를 만들어 키워드도 함께 검토하도록 한다. ① :abstract story ~topicname CS언어에 맞춰 작성한 스크립트는 조건식이나 변수명, 매칭 연산자 등이 섞여 있을 수 있기 때문에 대화의 흐름을 쫓아 읽어 나가기가 쉽지 않다. 이럴 때 abstract 명령어를 사용하면 대화 내용만 별도로 추출하여 읽을 수 있다. abstract 명령어에 위와 같이 story 옵션을 주면 말걸기만 출력해 준다. 주석이..
대화 테스트는 작성한 모든 토픽과 룰을 대상으로 마치 처음 접하는 사용자인 것처럼 무작위로 대화를 걸어보는 테스트이다. 대본에 없는 말이나 순서를 뒤바꾸어 말을 걸었을 때 챗봇이 어떻게 반응하는가를 보고 수정이나 보완할 요소를 찾는 것이다. 따라서 대화 테스트는 룰 매칭이 되는가 하는 점보다는 대화 문맥에 맞는 대답을 하는가가 초점이 되며 이는 어떤 토픽이 활성화 되는가를 찾는 것과 같게 된다. ① :why 방금 전 챗봇의 대답이 왜 나왔는지 어떤 토픽의 어떤 룰과 매칭이 되어 그 답변이 나왔는지 근거를 보여 준다. 챗봇이 예상치 않은 답변을 보였을 때 유용한 툴이다. 어떤 토픽의 어떤 툴인지 보여 주므로 필요한 수정 작업을 할 수 있다. ② :show topics대화 테스트를 하기 전에 :show to..
① :verify keyword 또는 :verify ~topicname keyword 몇 차례 반복해서 하는 이야기이지만 입력문과 룰과 토픽은 키워드를 공유해야 한다. 그래야 사용자 입력문에 적합한 토픽과 룰이 활성화 되기 때문이다. 따라서 룰을 정교하게 작성하는 것보다 더 중요한 것이 키워드를 공유하도록 작성하였는가 하는 점이고, 바로 verify keyword 명령어로 이를 알아 볼 수 있다.사용법은 명령어 뒤에 옵션으로 keyword를 적어주면 되는데, verify명령어는 해당 토픽 또는모든 토픽을 대상으로 예제 입력문과 해당 토픽의 키워드를 비교하게 된다. 만약 공유하는 키워드가 없다면 문제가 될 수 있다. 사용자가 그 예제를 입력하였을 때 그 토픽이 활성화되지 않을 것이기 때문이다. 따라서 예제..
먼저 사용자 입력문이 들어 오면 CS 내부에서 어떻게 전처리(pre-processing) 하는지부터 알아 보기로 하자. ① :prepare 입력문 :prepare 명령어는 주어진 입력문을 챗봇이 어떻게 전처리 하는지 보여준다. 만약 이 전처리가 의도와 다르다면 룰매칭이 안되는 것은 당연하기 때문에, 룰매칭이 안되는 경우 전처리에서 잘못되고 있지는 않은 지 알아 봐야 한다. 사용법은 :prepare 명령어 뒤에 확인해 보려는 문장을 넣으면 되는데, 예를 들면, A. :prepare 내가 제일 잘 나가 들어 봤어요?[1] 이 결과는 아래의 "prepare 명령을 실행한 결과 화면"에서 볼 수 있는데, ①번은 명령어이고 ②번은 전처리의 작업목록을 보여 주고 있다. 여기에서는 모두 7가지 전처리를 하고 있는데,..
스크립트에는 크게 세 가지 오류가 존재할 수 있는데 첫째는 구문오류(syntax error), 둘째는 논리오류(logical error), 그리고 세번째 실행오류(runtime error)가 그것이다[1]. 구문오류란 문법을 지키지 않아서 발생하는 오류로 이는 CS가 :build 할 때 빠짐없이 잡아 주기 때문에 걱정할 것이 없다. 이에 반해 논리오류는 작성자의 의도를 알아야 찾아낼 수 있는 오류이기 때문에 CS가 발견해 내는데 한계가 많다. 가장 흔한 논리 오류는 룰과 토픽 간에 연결성이 없는 경우이다. 논리오류 중 일부는 CS가 찾아주거나 경고해 줄 수 있지만 대부분의 논리오류는 작성자가 테스트를 통해 찾아야 한다. 실행오류란 실제 스크립트가 작동될 때 발견되는 오류로 실제 작동해 보기 전에는 미처 ..
- Total
- Today
- Yesterday
- 챗봇개발 채팅로봇 한국챗봇
- 한글챗봇 우리말챗봇 인공지능챗봇 ai챗봇
- 한국어챗봇
- chatscript chatbot 챗봇 한국어챗봇 ai 인공지능
- Chatscript AI 인공지능 챗봇 chatbot
- 소프트봇 채터봇
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |