Clova Extensions Kit을 활용하여 개발된 라마마 익스텐션에 대해서 띵스플로우 개발자가 개발 경험을 공유하는 세션 발표 자료 입니다.
목표1. Clove Extension API 서버 개발
목표2. 라마마 익스텐션의 인터렉션 모델 개발 과정
목표3. 챗봇 컨텐츠 개발 5가지 포인트
4. 대화 흐름
사용자 -> 클로바 앱 -> 클로바 서버 -> 띵스플로우 API 서버
띵스플로우 API 서버 -> 클로바 서버 -> 클로바 앱 -> 사용자
Clova extension APIClova extension API
5. API 서버
챗봇이 하나면 코드로 구현
챗봇이 둘 이상이면 챗봇 빌더 고려
Clova extension API
6. 띵스플로우의 경우
9월부터 챗봇 빌더 개발 중
12월에 챗봇 빌더 1차 완성
클로바 익스텐션에 챗봇 빌더 사용
챗봇 빌더 사용으로 라마마 클로바 익스텐션을 컨텐츠 팀에서 개발 가능
챗봇 빌더에 기본적인 사용자 입력과 예외 처리 구현
Clova extension API
7. 띵스플로우 API 서버
컨텐츠팀에서 빌더로 챗봇 생성
API 서버에서 빌드된 챗봇 서비스
클로바 서버 요청에 맞게 프론트만 변환
Clova extension API
9. 인터렉션 모델
‘Clova에서 interaction 모델이란, 음성으로부터 인식된
사용자의 요청을 extension에 전달하기 위해
정형화된 포맷(JSON)으로 바꿔주는 규칙을 명세한 것입니다’
- 클로바 개발자 가이드
10. 인터렉션 모델 개발 과정
클로바 개발자 콘솔 사용
기본 정보(API 서버, 이미지, 설명) 입력
인터렉션 모델(슬롯과 인텐트) 정의
빌드 및 테스트
심사 신청
11. 띵스플로우 인터렉션 모델
사용자의 입력이 필요한 부분을 인텐트로 정의
컨텐츠팀에서 대부분의 인터렉션 모델을 정의 가능
음성인식 오류나 인터렉션 모델에 없는 대화가 들어오면 입력 가능한 보기 제공
12. 띵스플로우 인터렉션 모델 예시
‘라마마 시작해줘‘ 하면 ‘연애운 볼 사람 있어?’ 으로 응답
‘응’, ‘아니‘ 대답을 처리할 인텐트 정의
‘그 사람과는 무슨 사이야?‘ 응답
‘여친이야’, ‘남친이야‘, ‘썸이야’, ‘부부야‘ 를 처리할 인텐트 정의
사용자가 보기에 없는 말을 하면 보기를 응답
인텐트에서 API 서버로 보낼 부분(‘여친’, ‘남친‘, ‘썸‘, ‘부부‘) 을 슬롯으로 정의
14. 챗봇 컨텐츠 개발 5가지 포인트
1. 목표에 맞는 캐릭터 컨셉
연애 타로 컨텐츠와 잘 어울리는 다정한 말투를 가진 신성
한 동물로 챗봇 캐릭터를 잡았습니다. 향후 클로바에서 라마마
음성으로 서비스할 계획이 있습니다.
- 목표: 타로 봐주기
- 캐릭터 컨셉
- 이름 : 라마마(lamama)
- 퍼소나 : 서양 점술가, 라마, 훈남
- 태그라인 : 모든 사랑을 응원해
- 간단 스토리: 좋아하는 사람에게 자기 털로 하트 뭉치를 만들어준다. 연인에게 차이고 정
처없이 떠돌다가 우연히 만난 900살 스승에세 타로를 배웠다
- 성격: 다정한, 담백한
- 말투: 반말
캐릭터 컨셉 문서 예시
11
15. 챗봇 컨텐츠 개발 5가지 포인트
2. 일관성있는 말투
사용자가 챗봇에 대한 더 몰입할 수 있도록 합니다.
라마마 대화 편집자 책상에 붙어있는 가이드 - 캐릭터 일관성을 유지하려고 노력합니다
222