아카이브/챗봇

Rasa와 TMDb를 이용한 영화 챗봇 만들기 2 - 상태관리

Johnny Yoon 2019. 6. 24. 15:34
728x90
반응형

지난 포스팅에서는 Rasa와 샘플 프로젝트 구조에 대해서 살펴보았습니다.

이번 포스팅에서는 직접 샘플프로젝트를 구동시켜 보도록 하겠습니다.

 

Rasa Shell

먼저 Visual Studio Code에서 Rasa 프로젝트의 Terminal을 열어보겠습니다.

...더보기

새로운 터미널을 여는 것은 Terminal > New Terminal

기존 터미널을 여는 것은 View > Terminal

터미널에서 Shell을 열기 위해 다음과 같은 커맨드를 입력해봅시다.

> rasa shell

rasa shell을 실행시키면 다음과 같이 사용자의 인풋을 요구합니다.

이제 여기에 “hello” 라고 입력해 보면, 다음과 같은 메시지가 보입니다.

Hey! How are you?

방금 상황은 greet이라는 사용자의 intent를 받아 utter_greet이라는 챗봇의 액션을 취해준 것입니다.

intent에 사용할 수 있는 워딩은 nlu.md에서

챗봇의 액션이 취해지면 다음으로 취할수 있는 intent 확인은 stories.md에서

intent에 대해 챗봇의 utterance를 확인하고 싶다면 domain.yaml 에서

확인하셔서 여러번 테스트를 해보시기 바랍니다.

 

상태관리

챗봇의 상태관리에 대한 이야기를 조금 해볼까 합니다.

stories.md 파일을 열어보면, 여러가지 path가 존재합니다.

그중 sad path 1과 sad path2를 살펴보겠습니다.

sad path 1과 sad path 2 내부에는 두가지 상태가 공존하게 되어 있습니다. 바로 greet과 mood_unhappy intent들이죠.

Rasa의 story 작성법에서는 두개의 sad path가 따로 작성이 되어있지만 실제로 이 story의 관계도를 표현해 본다면 다음과 같을 것 같습니다.

이와 같이 관계도(상태다이어그램)를 그려보면 챗봇서비스의 story를 만드는 데 도움이 될것입니다.

 

다음 포스팅에서는 실제로 영화를 찾는데 도움이 되는 챗봇의 스토리를 만들어 보도록 하겠습니다.

728x90
반응형