brunch

매거진 챗봇

You can make anything
by writing

- C.S.Lewis -

by Jamie Park 제이미 Sep 26. 2017

챗봇 기획: 인공지능 챗봇 가르치기

챗봇 기획, 피드백 구조, 젠틀파이, 챗봇 에이전시, 챗봇기획자 채용

2016년 알파고 이세돌의 충격적 대국을 목도한 우리들은 별 생각없이 사람보다 컴퓨터가 더 똑똑할 것이라 기대한다. 불행인지 다행인지, 배운다는 측면에서 보면 컴퓨터는 아직 '인간만큼' 잘 배우지 못한다. 기계가 고양이를 인식하도록 가르치려면 수십만개의 이미지가 필요하다. 반면, 아이에게 고양이를 인식시키게 하려면 몇십장 정도면 분간하지 않을까? 물론 이 때엔, 아이에게 맞다 틀리다를 지적해주는 부모님이나 선생님이 꼭 필요하다. '그건 기린이 아니고 고양이야' '맞아, 그건 고양이지' 라고 알려주는 누군가가 있다면, 아이는 고양이는 금방 인식하게 된다. 마찬가지로 챗봇이 잘못된 답을 한다면 누군가는 바로 잡아줘야 한다. 잘못된 답을 내도 그냥 내버려둔다면 챗봇은 틀린 답을 계속 낼 수 밖에 없을 것이다.


챗봇(기계)이 틀린 답을 내지 않으려면, 즉 계속 배워나가려면, 크게 두가지 방법이 있다. 배울 자료가 많거나, 지적해줄 선생님이 있거나.


1. 배울 자료가 많아야 한다.

알파고도 16만개의 기보를 학습했다. 문제만 있어서도 안 된다. 답도 있어야 한다. 그것도 정답이어야 한다. 틀린 답을 내는 것이 목적이 아니라면, 틀린 답 5만개는 도움이 안된다. 인공지능이 어떻고, 챗봇의 성능이 별로다라는 사람들이 간과하기 쉬운것은 (비난은 쉽다) 챗봇이 정답을 배울 수 있는 자료가 별로 없다는 점이다. 인공지능이 인공지능답게 해내려면 기본적으로 데이터가 많아야 한다. 현실을 돌아보면, 생각보다 가르칠만한 데이터는 별로 없다. 게다가 데이터도 구어체가 아닌 문어체인 텍스트이거나, '인간의 머릿속'에 축적된 경우가 많다. 기계가 배울 자료가 없는게 현실이라면, 어떻게 배우게 해줄까.


2. 선생님이 있어야 한다.

2-1) 기획자가 선생님이 된다

챗봇 제작자(이하 기획자)는 평소 인간들을 사람들이 어떻게 이야기하는지 잘 '관찰하는' 사람이어야 한다. 코트를 사러 온 사람이 하는 말이 어떤 걸까? "코트를 사고 싶어요" 일까?


기획자는 '특정한 무엇'을 지칭하는 표현에서 '포괄적인 표현'까지를 모두 염두해서 만들어야 한다. 기획자는 가장 일반인에 가까운 생각을 하는 사람들이어야 한다. 여담이지만, 나는 종종 챗봇파괴자라고 불려지는데 개발자나 기획자들이 생각하지 못한 질문으로 테스트를 해서, 챗봇이 답변을 못하거나 에러가 생기게(?) 만든다. '개발자'들이 만든 챗봇은 포괄적인 질문을 하지 못하는 경우가 많기 때문에, 기획자들은 늘 그 부분을 보완해줘야 한다.



2-2 사용자가 선생님이 되게 한다

아무리 쪽집게 선생님한테 배워 아이를 시험장에 들이밀어도, 실전으로 들어가면 늘 준비하지 못한 질문들이 나온다. 질문뿐만 아니다. 대답을 어찌 내긴 했어도 사용자의 마음에 들었는지 안들었는지 알수가 없다. 표현되지 않은 '피드백'을 알아내기 위해서는, 사용자가 피드백을 잘 줄 수 있는 구조를 만들어야 한다. '사용자가 피드백을 안줄것 같은데?' 라고 반문할지 모르겠다. 그렇지 않다. 예전에 챗봇 로그에서 "관리자님 안녕하세요. 혹시 이 글을 보시거든, 이런 이 기능은 이렇게 대답을 하면 좋겠습니다”라는 메세지를 발견한 적도 있다. 사용자가 판단하기에 쓸모있는 기능이 있었다거나 감정적인 만족도가 있다면, 꽤 많은 사람들이 피드백을 준다. (불만족도가 높을때도 마찬가지긴 하다) 챗봇을 통해 베네핏을 얻은 것이 미비하다면 그냥 나갈수 있지만, 기준에 미친다면 분명히 피드백을 준다. 이렇듯 선량한 '사용자 선생님'이 더 편하게 피드백을 주는 구조를 설계해보자.  


1) 우선, 고객에게 '가치를 줄 수 있는' 컨텐츠를 적어도 한번은 체험할 수 있도록 설계한다

장기자랑 나가서 준비한 노래는 한번 불러봐야하지 않을까? 앞서 언급한것처럼 기능적이나 감정적으로 만족도가 있어야 피드백이 나온다. '핵심 기능'이 있다면 이것을 반드시 볼 수 있게 만든다. 자신의 챗봇이 '상품추천'을 제일 잘 하는데, 이걸 아예 경험조차 안하고 유저가 빠져나가게 해서는 안된다.


2) 피드백 루트를 만든다 

제시한 컨텐츠 혹은 답변이 좋아 혹은 나빠를 명시적으로 물어봄으로써 피드백을 얻는다. (이 부분에 꼭 답변해야 다음 대화를 진행할 수 있는 구조는 아니어야 한다) 나빴을 때는 왜 나쁜지를 재질문해서 나쁜 이유를 파악해야 인공지능을 재교육 시킬 수 있다.

피드백을 받을 수 있는 구조 설계


어떤 틀린 답을 냈는지 알아내는 것 보다는, 유저의 관점에서 무엇이 문제인지 해독해야 한다. 기획자는 인공지능이 알아야 하는 정보와 유저가 제공한 정보의 차이를 메꾸는 역할을 해 주기위해 존재하는 지도 모르겠다.


3) 로그 분석

피드백 루트가 싫다면 역시 노가다형 로그 분석이 좋다. 챗봇이 일단 답을 내어 버리면, 기계적으로는 맞는 답을 냈는지 틀린 답을 내보냈는지 기획자는 로그상으로 알기 쉽지 않다. 이럴 땐, 똑같은 질문을 n번 이상 연달아 물어보는 경우를 찾아 본다. 답변을 줘도 똑같은 말을 여러번 물어본다면, 그건 답변이 시원찮다는 것이다. 이런 부분은 어떤 문제가 있는지 반드시 로그를 뒤져봐야 한다.


쓸모있는 데이터를 모을 수 있게 만든다

사용자의 데이터를 모은다는 것은 중요하다. 이것이 행동 데이터여도 대화형 데이터여도 좋다. 다만 쓸모없는 데이터는 모아봤자 하드용량만 차지한다. 어떻게하면 쓸모있는 데이터가 잘 모이게 할것인가를 생각해내야만 한다. 하루쓰고 말 기계가 아니기 때문에.


챗봇 기획자의 기쁨이라면, 인공지는 시대에도 인간이 해야할 일이 무궁무진하다는 안도감을 느낄 수 있다는 점이고, 슬픈 점은 기획을 아무리 열심히 해도 그 결과가 선명하게 드러나지 않는 점이다. 어떻게 해서든, 당신의 인공지능을 제대로 움직일 수 있도록 설계하고 관찰하려는 태도, 불완전한 3살짜리 꼬마 인공지능을 잘 키워보려는 엄마아빠의 그 마음으로 길게 바라보고 설계하는 마음가짐이 지금 우리 기획자들에게 필요하다.



이글은 챗봇기획을 위한 두가지의 체크리스트 중에 두번째 글입니다.

UX - 유저에게 더 나은 경험을 주려면 어떤 것을 고려해야 하는가?

피드백 구조 - 매일 더 나아지는 챗봇을 만들려면 어떻게 기획 해야 하는가?(본 글)




다양한 브랜드의 챗봇을 만들고 있는 젠틀파이에서 챗봇기획자/개발자를 찾고 있습니다. 챗봇의 구조에서부터 UX, 시나리오, 컨텐츠, 개발까지 누구도 걷지 않은 길을 함께 배우고 함께 나아가고 싶습니다.


채용공고 페이지 바로가기 


1. 챗봇 기획자(0명)

담당업무

- 프로젝트 관리, 와이어프레임 기획, 시나리오 기획

- 프리젠테이션 문서 및 보고서 작성, 클라이언트 커뮤니케이션


자격조건

- 웹기획 혹은 웹서비스 기획 1~3년 경험

- 블로그 작성/소셜 채널 운영 등의 경험 (개인/기업 무관)

- UI/UX 디자인에 대한 높은 이해도


2. 챗봇 개발자 (0명)

담당업무

-챗봇개발 - 인터페이스 및 채팅 서버(클라우드) 구현


자격조건

- 백엔드 엔지니어 혹은 풀스택으로 3~5년 정도 개발 경험

- PHP 또는 node.js 개발 유경험자

- 웹개발 경험

- 기술을 모르는 팀원들과 기술적인 이슈에 대해 커뮤니케이션할 수 있는 분

- 학력/성별 무관



젠틀파이의 글과 챗봇 소식을 계속 보고 싶으시다면,

페이스북 챗봇 그룹

제이미 트위터 @jamiepark

이 브런치는 챗봇에 대한 다양한 소식이 업데이트됩니다. 브런치 구독




젠틀파이는 챗봇 전문 에이전시입니다.

챗봇을 만들고 싶은데 어떻게 만들어야 할지 고민이 된다면,

젠틀파이 hello@gentlepie.com 에 문의 주세요.


매거진의 이전글 챗봇 기획: 10개의 UX 체크리스트

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari