ForFour

[Flask, AWS] 카카오 오픈빌더로 챗봇 만들기 - 2 : 필수 개념 본문

Python/[Flask,AWS]카카오 오픈빌더로 챗봇 만들기

[Flask, AWS] 카카오 오픈빌더로 챗봇 만들기 - 2 : 필수 개념

for_four 2020. 12. 17. 13:09

본격적으로 오픈 빌더를 사용하기 전에 카카오 오픈 빌더의 기본 개념들에 대해 익힐 필요가 있습니다.

이 부분에 대한 개념이 제대로 잡히지 않은 상태에서 시작하게 되면 나중에 챗봇 보드가 더러워질 수 있습니다.

 

기본 개념 ( 인텐트 , 엔티티, 어터런스 )
> 인텐트(#intent) : 사용자의 발화에 나타나는 의도
> 엔티티(@entity) : 사용자의 발화에 존재하는 객체(이해할 수 있는 단어)의 종류
> 어터런스(Utterence) : 사용자의 의도(인텐트)를 나타내는 예시 문장들

더보기

예> “코로나 국내현황 알려줘!”
#intent
- 알려줘!
@entity
- 코로나, 국내현황

즉, intent(의도) : 동사 , entity : 객제(주어, 목적어 등의 명사)

 

entity는 엔티티 버튼을 이용해 확인할 수 있고, 날짜, 시간, 지역 등 미리 정의되어 있는 시스템 엔티티가 있으며 따로 커스텀하여 추가할 수도 있습니다.

 

 

이제 챗봇의 기본 틀을 만들어 봅시다.

 

먼저, 시나리오를 생성해 줍니다.

- 시나리오는 여러 블럭들을 묶어주는 역할을 합니다.

시나리오를 생성 뒤 사용자의 발화(의도)에 따라 여러 개로 나누어 블럭을 설정하고 대표되는 발화를 입력합니다.

머신러닝 발화 관리를 통해 오타, 혹은 변형된 발화(어순 변경 등)를 입력하고 머신러닝을 수행하면 발화의 인식률이 더 높아집니다.

 

인사말을 추가합니다.

- 사용사의 패턴 발화에 맞게 블록이 실행되면 설정한 응답이 리턴됩니다. 여러 개의 메시지(케로셀형)를 나열하여 리턴할 수도 있습니다.

 

인사말 입력이 끝나면 봇 테스트를 통해 변경된 사항을 확인할 수 있고,

변경된 점은 배포를 통해 카카오 챗봇에 적용시킬 수 있습니다.

 

 

추가로 원하는 복잡한 로직이나 내부 테이터베이스를 이용해 메시지를 리턴하고 싶다면

`스킬`이라는 개념을 사용하여 챗봇 개발을 할 수 있습니다.

이를 위해서는 카카오톡 오픈빌더와 통신하는 api서버가 필요합니다.

 

 

reference>

카카오 i 오픈 빌더 공식문서

Comments