① 최신버전 다운로드 받기
CS의 최신버전은 아래 사이트에서 받을 수 있다.
https://sourceforge.net/projects/chatscript/files/
위 페이지에 접속하면 목록의 가장 윗줄에 “Looking for the latest version?”이라는 문장이 있고 그 옆에 최신버전의 파일을 다운로드 받을 수 있는 링크가 있다. 그 파일을 다운로드 받으면 된다. 이 파일 안에 윈도우용, 맥용 그리고 리눅스용이 함께 들어있다.
② 압축 풀기
다운로드 받은 파일의 압축을 풀면 윈도우용 실행화일도 함께 나온다. 추가 설정한다거나 레지스트리에 등록하는 등의 작업은 필요없다. 디폴트 폴더의 이름은 Chatscript-x.x (뒤에 붙은 숫자는 버전 번호이다.)이 될텐데 향후의 업그레이드를 고려하여 폴더구조는 “D. 업그레이드를 대비한 화일구조” 항목을 참조하여 정하는 것이 좋겠다.
③ 파일 구조
압축을 풀면 총 18개의 폴더가 생기는데(표 CS의 주요 파일구조 참조), 이 중 가장 중요한 폴더는 LiveData폴더와 RawData폴더이다. LiveData폴더는 확장된 사전폴더라 볼 수 있는데, CS가 기본으로 제공하는 프린스턴 대학의 WordNet사전은 Dict폴더에 있고 그 외 추가 필요한 정보를 이 LiveData폴더에 저장하여 사용하고 있다. RawData폴더는 knowledge폴더라 할 수 있는데, 예를 들면 컨셉들을 모아 놓은 Ontology폴더 아래의 concepts.top 파일, 사물 및 개념들 간의 관계를 정의한 WorldData폴더 내의 여러 파일들, Quibble폴더 내의 세분화된 quibble topic 등이 그것이다. 그 외에 Harry라는 이름의 챗봇 예제, 자연어 처리의 예제, 외부 Database인 Postgres와 연결하는 예제, 계획을 수립하는 HTN Planner로서의 Stockpile 예제 등이 이 폴더에 있다.
이제 가장 중요한, 챗봇의 개발자가 작성하는 파일들의 위치에 대해 알아보자. 이 화일은 기본적으로 RawData 폴더 내에 두도록 되어 있는데, 이럴 경우 향후 CS엔진을 업그레이드할 때 덮어쓰게 될 가능성이 있다. 그래서 별도의 폴더에 보관하고 그 위치를 설정화일을 통해 CS에 알져주는 것이 좋다. 따라서 파일 구조는 다음과 같이 하는 것이 좋다.
④ 업그레이드를 대비한 파일구조
CS는 현재도 계속 기능이 업그레이드 되고 있는 개발툴이다. 기능이 추가되거나 알려졌던 버그가 수정되거나 기존의 함수가 개선되거나 할 수 있다. 어떤 내용이 개선되었는가 하는 점은 다운로드 받은 파일의 압축을 풀어 최상위 폴더에 있는 changes.txt 파일에서 확인할 수 있다.
문제는 이렇게 업그레이드 파일을 다운로드 받아 압축을 풀면 내가 작성해 놓은 내 챗봇의 파일을 덮어쓸 가능성이 있다는 점이다. 그래서 처음부터 아래와 같은 형식으로 폴더 구조를 가져가는 것이 좋다.
SoftBotProject
ChatScript
Dorothy
Infra
filesDorothy.txt
SoftBotProjetc는 소프트 봇 작성자가 임의로 작성하는 폴더이름이다. 이 폴더에 챗봇의 개발과 관련된 모든 파일을 모아두는 것이니 그에 알맞는 이름을 부여하면 되겠다. 그 폴더 아래에 세 개의 하위 폴더와 하나의 화일을 만드는데, ChatScript 폴더는 장차 새로 다운로드 받게 될 업그레이드 버전을 그대로 덮어쓰는 폴더, Dorothy폴더는 내가 작성한 챗봇의 이름으로 만든 폴더인데 여기에는 이 챗봇과 관련된 자료들을 모아두고, Infra폴더는 개발 및 테스트에 필요한 파일들을 모아 두기 위해 만든 폴더이다. 마지막으로 filesDorothy.txt 파일에는 Dorothy챗봇을 컴파일하는데 필요한 화일들의 위치를 CS에게 알려주는 정보를 담아 둔다.
챗봇의 이름은 임의로 정해도 되지만, 컴파일 정보를 담은 설정 파일의 이름은 챗봇의 이름과 일치하여야 한다.
Dorothy 폴더에는 LiveData폴더나 RawData폴더를 하위에 만들어서 자신만의 데이타를 저장해 두면 관리 유지하기에 용이할 것이다. 마지막으로 SoftBotProject 폴더 전체는 documents폴더 아래에 두는 것을 권한다. OS를 업그레이드 하거나 OS가 설치된 디스크를 포맷하는 경우 등을 대비하기 위함이다.
![CS의 파일 구조](https://t1.daumcdn.net/cfile/tistory/2135D13D574B690C01)