카카오미니 챗봇을 만드는 법

정의정 카카오 카톡비즈플랫폼팀 상무

“가, 가란 말이야!”

…뭐지? 늦은 밤 자려고 누워 친구랑 전화하다 갑자기 소리를 질러대는 ‘카카오미니’ 덕에 벌떡 일어났다. 저거, 거의 20년전 CF 멘트 아니던가. 그보다도, 나 너 안 불렀다. 아까전에 내가 너한테 ‘에미넴’ 틀어달라고 했더니 곡명이 ‘에미넴’인 엉뚱한 노래 틀어주더라. 심심해서 불렀을 땐 “잘 모르겠어요”만 연발하더니 이제와서 갑자기 웬 뚱딴지냐.

얘는 왜 2% 부족할까, 그래도 웃겼으니 됐다 생각하고 넘어가려는데 친구가 물었다.

“쟤는 왜 저렇게 행동하는거야?”

그러니까 말야, 내가 저 녀석 뇌구조를 뜯어볼 수도 없고. 그러던 참에 궁금증을 풀어볼 기회가 생겼다. 카카오가 자연어처리 기술을 기반으로 챗봇과 스피커봇을 만들 수 있는 개발툴 ‘카카오 아이(I) 오픈빌더’ 를 연내 일반에 공개할 예정인데, 그에 앞서 이 기술을 만든 정의정 카톡비즈플랫폼팀 상무를 초대해 기술 설명을 하는 자리를 만들었다는 것이다.

솔직히, 기술적인 얘긴 들어도 잘은 모르겠다만 그래도 대충 카카오미니의 뇌구조 정도는 알 수 있겠지 싶어서 참석했다.

여기서 잠깐 개념 설명. 카카오 I는 카카오가 보유한 AI 핵심 기술을 결함한 통합 AI 플랫폼이다. 그간 카카오가 만들어 온 음성 엔진, 시각 엔진, 대화 엔진, 추천 엔진, 번역 엔진 등이 집약 됐고 다음 뉴스와 검색, 카카오맵, 카카오내비와 택시, 카카오페이지, 카카오버스, 카카오TV, 카카오I 번역 등에 들어 갔다.

카카오I 오픈빌더는 카카오I의 기술을 바탕으로 카카오톡 플러스 친구에 적용할 수 있는 텍스트형 챗봇이나 카카오미니에 적용된 음성 인터페이스와 호환되는 스피커봇을 만들 수 있는 개발 플랫폼이다. 쉽게 말해서 인공지능이 질문에 답해주는 ‘봇’인데 카카오톡에 적용되면 챗봇, 카카오미니에 적용되면 스피커봇이다.

카카오는 하반기 이 오픈빌더를 일반에 공개, ‘플러스 친구’ 이용자가 챗봇을 만들어 연동해 쓸 수 있게 한다는 계획이다. 무료로 일반에 공개하는 이유는 ‘플러스 친구’ 활성화다. 지금 플러스 친구에 입점해 있는 60~70만(지난해 10월 기준) 이용자들이 지금은 ‘메시지 발송’ 밖에 쓸 게 없다. 챗봇이 붙으면 상황이 달라질 수 있다. 플러스친구에 들어와서 궁금한걸 물어보고, 심지어 상품을 고르고 결제까지 가능해진다.

카카오 입장에선 새로운 수익모델 발굴이 가능하다. 물론, 당장 이걸로 돈 벌 생각은 아니겠지만, 이용자가 늘어난 후엔 차차 수익 모델도 불일 수 있다는 것이 카카오 입장이다. 카카오도 땅 파서 장사하는 거 아닌데, 지금으로선 플러스 친구로 벌어들이는 돈이 대량 메시지 발송에 대한 과금 정도니까 충분히 고려할 수 있는 일이다.

챗봇이 어떤 효능을 주는지는 보여줘야 하니까 레퍼런스 챗봇도 개발 중이다. 일단 카카오 고객센터에서 챗봇이 돌아가고 있는데 이 챗봇이 들어오고 나서 전화 상담률이 10% 가량 줄었다고 한다. 매장이 없는 카카오 뱅크, 음원 서비스인 멜론 등자회사는 당연하고 외부 파트너 8곳도 각자의 서비스에 맞는 챗봇을 시범적으로 만들고 있다. 챗봇은 요즘 너나 할 것 없이 만드는 서비스지만, ‘카카오톡 메신저’라는 강점이 카카오에 있다. 이미 확보한 이용자를 십분 활용한다는 계획이다.

여튼, 각설하고 본론으로 돌아가자. 카카오미니는 어떻게 내 얘기를 알아듣고 반응하나. 이건 챗봇을 만드는 오픈빌더의 과정을 따라가보면 알 수 있다. 정의정 상무에 따르면 카카오I 오픈빌더 봇 개발의 필수 3요소는 엔티티(Entity), 블록(Block), 스킬(Skill)이다. 다시 말해 챗봇 개발은 엔티티 설계, 블록 설계, 스킬 개발이라는 과정을 거쳐 이뤄진다. 다음은 카카오가 배포한 3단계 과정 설명이다.

1) 엔티티(Entity)

사용자의 명령(챗봇의 경우 텍스트스피커봇은 음성)에서 봇이 액션을 수행하기 위한 값을 추출하여 전달할 수 있도록 규정한 데이터 사전이다.

날짜시간장소주소지 등 패턴 형식이나 인물명노래 제목앨범명 등 컨텐츠DB 등다양한 형태가 존재한다.

카카오 오픈빌더는 쉽게 봇을 개발할 수 있도록 다양한 분야의 엔티티를 제공한다아이유 노래 틀어줘라는 명령에서 아이유가 엔티티에 해당한다.

2) 블록(Block)

유저가 명령한 내용에서 의도를 파악해 봇이 수행할 액션과 응답할 내용을 형식에 맞게 정의하는(구분해주는모듈이다.

주로날씨 알려주기메시지 보내기지역 검색하기음악 재생하기와 같이 테스크(task) 단위로 설계한다예를들어 아이유 노래 틀어줘라는 명령은 음악 재생하기 블록이 수행하게 된다화행 패턴 입력동작 설계출력 설계를 마치면 하나의 블록 단위가 설계된다.

화행 패턴 입력은 가수 아이유의 노래 들려줘”, 아이유의 노래가 듣고 싶어아이유 노래들려줄래” 등 유저들의 다양한 명령어 패턴을 입력하는 것이다.

동작 설계는 노래를 재생해야 할 지인물 정보를 줘야 할 지 등을 판단할 수 있도록 설계한다만약 명령어가 명확하지 않다면 판단할 수 있을 때까지 되묻기 질문을 하도록 설정할 수 있다.

출력 설계는 유저에게 보낼 응답 형태를 구성하는 것이다카톡 플러스 친구 챗봇의 경우 텍스트형이미지형카드형말풍선형 등 여러 형태에서 선택할 수 있다스피커봇의 경우에는 답변시 말투나 용어 등이 이에 해당한다.

3) 스킬(Skill)

사용자의 의도에 맞게 봇이 수행하는 실질적인 동작으로다양한 API를 호출하여 봇이 수행할 수 있는 영역을 손쉽게 확장할 수도 있다.

아이유 노래 틀어줘 명령어를 했을 때 아이유 노래 틀어드릴게요라고 반응하고 노래를 재생하는 개념이다.

더 나아가서 지금 카카오팀은 중의적인 맥락을 챗봇이 어떻게 이해하고 수행할 것인가를 실험하고 있다. 예컨대 카카오미니한테 “어제 먹은 그거, 그거 다시 주문해줘” 라고 물었을 때 카카오미니가 “어제 먹은 OO 피자 말씀이신가요, 그때 이거 주문하셨는데 다시 주문하시겠어요?”하고 물을 수 있는, 뭔가 진짜 대화 같은 거 말이다.

정 상무는 “단순하게 시나리오 대로 챗봇이 움직이는 것이 아니라 엔진에서 히스토리를 관리하고 자료화하고 추천하는 것에 대한 고민을 하고 있다”고 설명했다.

참, 카카오가 밝힌 챗봇 출시와 오픈 빌더 공개 예정은 다음과 같다. 관심 있는 분들은 참고하세요.

1) 레퍼런스 챗봇 출시 [상반기부터 단계적으로]

고객센터 챗봇멜론위드카카오 (멜론과 연동된 카카오톡 내 음악재생 서비스챗봇프로야구봇 등 다양한 레퍼런스 챗봇 출시

2) 파트너사 챗봇 출시 [상반기부터 단계적으로]

현재 제휴 파트너사/관계사 대상으로 카카오 오픈빌더를 제공해 챗봇을 개발하고 있음카카오뱅크 상담 챗봇을 비롯해 금융유통콘텐츠 등 다양한 분야 외부 파트너사의 챗봇이 상반기부터 꾸준히출시될 예정.

3) 카카오 오픈빌더 정식 출시[연내]

누구나 챗봇을 만들 수 있도록 카카오 오픈빌더를 완전 공개할 계획.

4) 어시스턴트봇 [연내]

카카오톡 내 수많은 봇들을 중계해주는 일종의 만능 비서봇으로연내 개발하는 것이 목표.

글. 바이라인네트워크
<남혜현 기자> [email protected]



Categories: 기사, 케이스스터디

Tags: , , , , , , , ,

1 reply

  1. Are there API’s available to sent and receive messages to/from this chatbot

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

바이라인네트워크를 구독하세요!

이메일을 입력하시면 바이라인네트워크를 구독하실 수 있습니다

You have Successfully Subscribed!