먼저 사용자 입력문이 들어 오면 CS 내부에서 어떻게 전처리(pre-processing) 하는지부터 알아 보기로 하자. ① :prepare 입력문 :prepare 명령어는 주어진 입력문을 챗봇이 어떻게 전처리 하는지 보여준다. 만약 이 전처리가 의도와 다르다면 룰매칭이 안되는 것은 당연하기 때문에, 룰매칭이 안되는 경우 전처리에서 잘못되고 있지는 않은 지 알아 봐야 한다. 사용법은 :prepare 명령어 뒤에 확인해 보려는 문장을 넣으면 되는데, 예를 들면, A. :prepare 내가 제일 잘 나가 들어 봤어요?[1] 이 결과는 아래의 "prepare 명령을 실행한 결과 화면"에서 볼 수 있는데, ①번은 명령어이고 ②번은 전처리의 작업목록을 보여 주고 있다. 여기에서는 모두 7가지 전처리를 하고 있는데,..
스크립트에는 크게 세 가지 오류가 존재할 수 있는데 첫째는 구문오류(syntax error), 둘째는 논리오류(logical error), 그리고 세번째 실행오류(runtime error)가 그것이다[1]. 구문오류란 문법을 지키지 않아서 발생하는 오류로 이는 CS가 :build 할 때 빠짐없이 잡아 주기 때문에 걱정할 것이 없다. 이에 반해 논리오류는 작성자의 의도를 알아야 찾아낼 수 있는 오류이기 때문에 CS가 발견해 내는데 한계가 많다. 가장 흔한 논리 오류는 룰과 토픽 간에 연결성이 없는 경우이다. 논리오류 중 일부는 CS가 찾아주거나 경고해 줄 수 있지만 대부분의 논리오류는 작성자가 테스트를 통해 찾아야 한다. 실행오류란 실제 스크립트가 작동될 때 발견되는 오류로 실제 작동해 보기 전에는 미처 ..
이 절의 내용은 소스화일과 함께 딸려 오는 “Chatscript Common Beginner Mistakes”을 기준으로 한국어 어법에 맞게 내용을 대폭 추가하고 예제도 한국어 대화예제로 수정한 것이다. A. 토픽 키워드와 무관하게 룰 작성 예제 입력문과 패턴을 일치시키는 데만 신경 쓰고 예제 입력문과 토픽의 키워드 공유에는 무관심한 경우가 가장 흔한 실수이다. 이런 경우에는 아무리 패턴을 잘 작성하여도, 즉 룰을 잘 작성하여도 그 룰을 포함하고 있는 토픽이 활성화 되지 않기 때문에 그 룰은 매칭 여부가 검토조차 되지 못한다. 결국 매칭에 실패한다. 그러므로 룰을 작성할 때는 반드시 토픽의 키워드 목록을 공유하는 단어가 있도록 작성해야 하며, 반대로 매칭에 실패할 경우, 가장 먼저 점검해야 할 일은, 매..
이제 대본이 준비되었으면 CS의 문법에 맞춰 스크립트 파일로 만들 차례이다. 그런데 이 단계도 크게 걱정할 것이 없다. CS의 개발자인 Bruce Wilcox에 의하면 스크립트의 대부분(약 99%)은 아래의 다섯 가지 유형이 전부라고 한다. (한국어 대화에 맞게 일부 내용과 예제는 수정하였다.)이 다섯 가지 기본틀을 바탕으로 3장과 4장을 참조하며 작성해 나간다면 손쉽게 스크립트 파일을 만들 수 있을 것이다. ① 말걸기의 형태말걸기는 화제를 제시하는 질문의 형태이거나 아니면 조건 테스트를 포함하여 질문하는 형태이다.A. t: 혹시 K-POP 좋아하세요?B. t: MyFavorite () 저는 I love you라는 곡을 좋아해요. $MyFavorite = 1C. t: ($Concert) 그런데 투애니원 ..
대본은 토픽으로 구성되고 토픽은 룰로 구성된다. 최종 단위인 룰을 올바르게 작성하는 것이 중요하지만 그 룰을 담는 그릇으로서 토픽도 논리적으로 구성되어야 한다. 토픽의 논리적 구성을 머리 속에 담고 있어야 필요한 룰을 빠뜨리지 않고 포함시킬 수 있기 때문이다. 이번 절에서는 챗봇을 개발할 때 염두에 두어야 할 토픽의 논리적 구조에 대해 설명하기로 하겠다[1]. 토픽은 유형별로 Story topic, Reactor topic, Quibble topic으로 대별할 수 있는데 그 중 가장 중요한 Story topic부터 살펴 보기로 한다. ① Story topic의 구조는 3단 구성가. 말걸기 : 대화를 시작하기 위해 사용자에게 던지는 질문. 화제에 대한 간략한 소개를 포함할 수도 있으며 이 질문하기가 많을수..
챗봇의 정체성과 개성을 결정지었으면 이제 대본을 작성할 차례이다. 대본은 사람이 알아볼 수 있는 언어로 마치 연극 대본 작성하듯이 작성하면 된다. 이 단계에서는 CS 문법을 조금도 고려할 필요가 없다. 오히려 그 보다는 전체 대화를 어떻게 끌고 갈 것인지 누락된 주제는 없는지 너무 어려운 단어를 쓰는 것은 아닌지 또 앞서 정의한 챗봇의 개성과 어울리지 않는 부분은 없는지 등에 초점을 맞춰야 한다. 전체 밑그림을 그리는 과정에서 주의해야 할 점을 정리해 보면 다음과 같다.먼저 토픽을 나열해 본다. 신상명세에 관한 토픽부터 친구, 취미, 경력, 재미있게 본 영화, 음악, 미술, 지리 등 당신이 대화하고 싶은 분야의 토픽을 나열해 본다. 이를 통해 챗봇이 가져야 될 일반상식의 밑그림이 그려진다.토픽에 키워드들..
이제 자신만의 챗봇을 개발할 수 있는 단계에 왔다. 6장을 따라해 보면 알 수 있듯이 무척 쉽다. 챗봇 개발의 핵심은 어떤 주제로 어떤 대본을 어떻게 작성하느냐에 있지 프로그래밍 지식이나 실력에 있지 않다. 이번 장에서는 대본을 작성하는데 도움이 될 수 있는 가이드를 몇 가지 정리해 보기로 하겠다. (1) 챗봇의 이력서 작성하기 챗봇을 개발하는 첫 단계는 개발하려는 챗봇의 신상명세를 명확히 하는 일이다. 이름, 키, 몸무게 등에서부터 성격, 친구, 취미, 음식, 노래 등에 이르기까지 다양한 분야를 세세하게 정의해야 화제거리, 대화 내용, 논조, 어휘, 구사하는 문장 등이 명확해지기 때문이다. 영어권에서 널리 서비스되고 있는 Talking Angela의 경우는 신상명세만 25페이지에 이른다고 한다. 이 정..
① 스크립트 파일을 작성하고 빌드하기 이제 3장과 4장에서 살펴 본 내용을 파일로 만들어 Dorothy에 적용해 보기로 하자. 먼저 3장 (1)절의 내용을 아래와 같이 파일로 만들자. 문서 편집기를 열어 아래의 내용을 입력하고 kpop.top 이라는 이름으로 저장해서 Dorothy 폴더에 놓아둔다. 3장과 4장의 내용 전체를 입력해도 되지만 하나씩 차근히 알아본다는 차원에서 일부만 입력하고 테스트해 보기로 한다. 이때 UTF-8 형식으로 저장해야 한다는 점을 잊지 말자. 위의 파일 내용은 크게 컨셉을 선언하는 부분과 토픽, 그리고 토픽 내의 룰로 이뤄져 있는데 가장 먼저 주목해야 할 곳은 토픽의 키워드 목록이다. 이 토픽의 키워드는 컨셉으로 선언되어 있는데 이를 위해 파일의 도입부에서 컨셉을 먼저 만들었..
이제 CS 스크립트를 실제로 컴파일해 보기로 하자. 소스화일과 함께 딸려오는 간단한 챗봇이 있는데 이 챗봇을 약간 수정하여 전체 감을 잡아 보기로 하겠다. ① Introduction.top 파일 편집 스크립트를 편집할 수 있는 편집용 소프트웨어로 RawData/Harry/introductions.top 파일을 연다. 이 파일의 맨 마지막 줄 끝에 있는 My name is Harry를 “내 이름은 해리에요”로 바꾼다. 그런 후 파일을 UTF-8 포맷으로 저장하고 나온다. ② CS를 명령어 모드로 실행 앞서 "개발 환경 갖추기"에서 설치한 ConEmu를 더블클릭한 후 “cs”라고 타이핑하여 binaries폴더로 이동한다. 이곳에서 chatscript 라고 입력하고 엔터키를 누르자.(화면 1 참조) 그러면 C..
CS를 설치하였으면 이제 스크립트를 작성하고 테스트하기 위한 개발 및 테스트 환경을 만들어야 한다. 이 때 가장 중요한 요소가 CS로 한글을 입출력 할 수 있는 환경을 만드는 것이다. CS는 기본적으로 다국어를 지원하는데 이때의 문자세트는 UTF-8 형식이다. 문제는 MS-Windows의 콘솔(명령어를 입력하는 창)이 UTF-8 형식의 출력은 지원하는데 입력은 안된다는 점이다. 그래서 테스트할 때 약간 번거로움이 있다.우선 아래와 같은 3가지의 준비가 필요하다. (이 파일들을 다운로드 받은 후 infra폴더에 보관해두면 관리하기에 용이하다.) ① 스크립트 작성을 위한 문서편집기 설치② CS를 실행하기 위한 대화창 설치(콘솔 설치)③ 통합테스트를 위한 웹서버 설치 및 PHP화일 준비 ① 문서 편집기문서 편..
- Total
- Today
- Yesterday
- Chatscript AI 인공지능 챗봇 chatbot
- 챗봇개발 채팅로봇 한국챗봇
- 소프트봇 채터봇
- chatscript chatbot 챗봇 한국어챗봇 ai 인공지능
- 한글챗봇 우리말챗봇 인공지능챗봇 ai챗봇
- 한국어챗봇
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |