이번에는 간단하게 자신이 원하는 챗봇을 만들어보겠습니다.
일단 저의 경우에는 챗봇을 구축하면서 RASA 오픈 소스를 이해하는 것에 방점을 두었기 때문에
빠르게 챗봇에 대한 뼈대를 구축하고자 했습니다
우선, RASA 를 통해 어떻게 챗봇을 만드는지 과정을 간단하게 설명해드리겠습니다.
간단하게 개인적으로 유튜브에 업로드 해놓은 동영상을 참고해주시기 부탁드릴게요
(채널홍보가 아니며, 추후에 저도 접근이 쉬운 플랫폼인 유튜브 채널을 선택하게 되었어요!)
먼저, stories.md 파일을 열어서 만들고 싶은 스토리를 설정을 해주세요!
챗봇의 경우에는 '내가 어떻게 이야기를 진행시킬 것인가'가 매우 중요한 것 같다라고 생각을 많이 했습니다.
사용자를 내가 설계한 스토리로 끌여들여 프로세스를 진행시키는 것도 중요하지만, 그것이 잘 설계되지 않았다면,
챗봇을 만드는 의미가 없을 것 같아요.
특히 스토리가 헷갈려서 원하는 대로 스토리를 진행시키지 못하면..
있으나 마나한 챗봇이 되기 때문에.. 챗봇을 좀 더 세세하게 구축할 수록 스토리를 만들고 관리하는 게 무엇보다도
중요하다고 생각이 들었습니다.
참고로, md 파일은 마크다운의 형태이며, 저는 파이참(pycharm)을 통해서 마크다운을 편집했습니다!
그 다음으로는, domain.yml 파일을 열어서 스토리에 설정한 인텐트와 말뭉치(utter_)들을 등록해주세요
RASA 챗봇의 경우, 이 domain.yml 파일의 역할이 매우 중요한 것 같았습니다..
stories.md 파일에 스토리를 구축하더라도 domain 파일에 스토리에 쓰인 인텐트와 말뭉치(utter_)를 등록하지 않으면
rasa 가 train을 할때, 아예 train 시작을 하지 않거나 제대로 훈련이 되지를 않습니다.
스토리를 만들고 난 후에는 반드시 domain 파일에 먼저 인텐트와 말뭉치(utter_)가 등록이 되어 있는지 체크해주세요!
인텐트에 대한 컴퓨터의 답변이라고 할 수 있는 말뭉치(utter_)는 따로 등록하는 파일이 없기 때문에, domain.yml 파일의 responses 란을 만들고 utter_(붙이고 싶은 이름) 을 만들고 위 이미지와 동영상과 같이 출력될 말을 적어주어야 합니다.
이제, NLU.md 파일로 가서 인텐트를 기입해줍니다.
RASA 챗봇은 사람이 챗봇에 어떤 말을 기입할 지 미리 등록한 NLU.md 파일의 인텐트 섹션을 통해 학습하고 예측합니다. 인텐트는 최대한 많이 있을 수록 좋습니다(약 70개 정도를 권장합니다)
개발자가 NLU.md 파일에 인텐트들을 등록해 놓으면 rasa 는 이를 바탕으로 챗봇을 훈련시키며, domain의 파일이 nlu.md 파일을 참고하여 인텐트를 스토리.md 파일을 통해 실행시키는 프로세스로 흘러갑니다.
마지막으로, cmd 창을 열어서 RASA 챗봇이 설치되어 있는 경로로 들어가 RASA 챗봇을 훈련시켜줍니다.
훈련시킨 이후에는 rasa shell 명령어를 입력하여 챗봇을 실행시키고 자신이 입력한 스토리가 잘 되는지 확인해주시면 됩니다! 위 영상을 참고해주세요!
이와 같이 잘 실행이 되면 여러분만의 챗봇 만들기 첫 단추를 잘 끼우신 겁니다!
'데이터 엔지니어링 프로젝트 및 인강 > 2. RASA chatbot Project' 카테고리의 다른 글
RASA 오픈소스 를 통해 간단한 챗봇 구축하고 훈련하기 04 (0) | 2020.03.06 |
---|---|
RASA 오픈소스 를 통해 간단한 챗봇 구축하고 훈련하기 03 (0) | 2020.03.06 |
RASA 오픈소스 를 통해 간단한 챗봇 구축하고 훈련하기 01 (0) | 2020.03.04 |
화장품 챗봇 설계 - 프로젝트 챗봇 시나리오 설계 (0) | 2020.02.17 |
챗봇에 대한 간단한 개념 등 정리 - 프로젝트 전 사전 스터디4 (0) | 2020.02.14 |