Language Learning Chatbot UX Design을 하며 배운 점
Our work & learnings

어쩌다가 우리는 Learning Assitant Chatbot을 만들게 되었나
처음부터 인공지능 챗봇 프로젝트로 명명하고 시작한 것은 아니었습니다. 이전 편에서 썼듯, (이전 편 보기: 네오랩 시드니 모험기 Ph 1. Why it is?) 우리는 네오랩의 스마트 펜과 nCoded 종이만이 줄 수 있는 가치를 구현하기 위해 이 프로젝트를 시작했고, 그 과정에서 여러가지 변곡점을 만나 Learning assistant chatbot으로 진화했다고 하는 편이 맞을 것이예요.
네오랩의 펜과 ncode 종이는 그 정보를 디지털화 한다는점에서 다른 기록용 스마트 디바이스와 경쟁합니다.

그렇다면 어떤 기록이라야 손으로 쥐고 쓰는 펜과 종이 노트에 더 잘 맞는가?
그 답으로 우리는 교육과 접목되었습니다. 최근까지는 gamification이라고 해서 교육게임앱이 대세였던 듯 합니다. 처음엔 우리도 그런 접근을 하였고, 기획 초기에는 우리 서비스의 정체성이 게임인지 챗봇인지 혼란을 겪었습니다. 그러던 중 우리의 정체성을 ‘챗봇’으로 규정하게 된 계기는 바로 한국에서 유난히 비싼 사교육 비용!

“한국에서 영어 유치원비가 월에 200만원이고 원어민 과외는 일주일에 2번이 백만원이 넘는다는데. 그 절반 이하의 가격에 원어민 선생님이 옆에 앉아서 같이 공부하는 듯한 챗봇 서비스를 만든다면 대박아니야?”
우리 프로젝트 팀의 asset중 하나가, 이 서비스를 위한 exclusive 교육 컨텐츠를 집필하고 앱의 인터랙션을 공동 디자인하는 영어권 교육전문가가 있다는 것. 그의 교육철학과 교육방법론을 모델링하여 실제 선생님이 이끌어주고 반응하는 듯한 챗봇 앱을 만들면 승산이 있다! 는 결론을 내리게 되었죠.
그렇게 비로소 우리는 우리를 챗봇이라고 명명하게 되었고, 각종 ‘게임스러워야 한다’는 압박에서 비롯한 기능들을 속시원히 쳐내고 본질에 집중할 수 있게 되었습니다.



어디까지가 AI고 어디까지가 AI가 아닌가
자, 이제 우리가 만드는 것은 챗봇이 되었습니다. 그렇다면 우리는 인공지능인가? 어디까지가 AI고 어디까지가 AI가 아닌가? 실제 언어교육 종사자들의 언어와 스킬을 딥러닝시켜야 AI인겐가? 머신러닝이 아닌 manual script로 움직이면 ai가 아닌겐가? NLP(Natural Language Processing)을 기반으로 하지 않으면 ai가 아닌겐가?

학계에서는 더 좋은 정의를 내리기 위해 많은 논의가 이뤄지고 있고, 실제로 기술의 발전에 따라 그 정의도 변화하는 듯 합니다. 저도 나름의 고민을 하였지만, 어떠한 기술을 쓰느냐, 얼마나 cutting-edge하는 기술을 도입하느냐보다는 어떤 가치에 집중하여 그 가치를 얼마나 충실히 구현하느냐 하는 것이야말로 기획자가 가져야 할 고민이 아닐까, 라는 결론을 내렸습니다. 일반 소비자에게 ai는 입증의 문제가 아닌 인정의 문제, 랄까요. (물론 ai 솔루션을 기업에 제공하는 B2B비즈니스라면 객관적인 입증을 요구하게 되겠지만요.)
일례로, 영국의 수학자 앨런 튜링이 고안한 인공지능 판별법인 ‘튜링 테스트’를 보겠습니다. 이 테스트는 컴퓨터가 인간처럼 생각할 수 있는지를 판별하기 위해 설계되었지만, 아이러닉하게도 그 판별기준은 ‘인간이 컴퓨터를 인간이라고 인식하는가’입니다.
“튜링은 개인적인 경험을 통해, 내가 실제로 누구인지는 중요하지 않고 중요한 것은 오직 다른 사람들이 생각하는 나임을 깨달았다. 튜링은 미래에 컴퓨터가 1950년대의 동성애자처럼 될 거라고 내다보았다. 컴퓨터가 실제로 의식이 있는지 없는지는 중요하지 않을 것이다. 중요한 것은 ‘사람들이 어떻게 생각하는가’일 것이다.”
- 유발하라리, <호모데우스> 중 발췌
Learning Assistant Chatbot 개발과정과 배운점
자, 그래서 이제 본격적으로 우리의 개발과정과 배운점에 대해 써보려 합니다. 제가 UX디자이너이다보니 주로 UX관점으로 기록하게 되었습니다.
- Input 은 어디서? 어떻게?
먼저 input입니다. 대부분의 인공지능 챗봇은 voice 혹은 keyboard typing으로 command를 하는데요, 저희의 경우 스마트펜과 ncode 종이로 input을 받게 됩니다. 이것을 저희는 PUI(Paer UI)라고 부르고 있습니다. 교육과 접목된 이번 서비스의 겅우, 교재가 있으니 교재에 이 PUI를 넣었지요. 즉, 교재에 쓰면 ->스마트폰 속의 챗봇이 그에 대해 반응을 하게 됩니다!
[배운점]
PUI는 App이나 Web의 UI와 같이 입력창과 버튼이 주어지므로, 사용자의 자연어 분석이 필요하지 않았습니다. 다만, 교재 내에 입력창과 버튼 외에도 문제, 지문, 예문 등 학습과 관련한 중요한 정보들이 다양하게 혼재해있으므로, 정보 영역과 기능 영역이 시각적으로 구분될 수 있도록 배치하고 디자인하는 것이 중요했습니다. 이를 위해 정보 영역은 가독성이 높고 클래식한 서체와 플랫한 배경색을 사용한 반면, 기능영역은 직관적인 시각 요소로 액션을 유도 하였습니다.
2. Output은어떻게?
다음은 Output, 즉 챗봇의 reponse입니다. 향후에는 인공지능 스피커에서도 출력이 가능하게 만들수 있겠지만, 현 단계에서는 대부분의 가정에 보급이 된 모바일 용 앱을 서비스 하였습니다.
2.1. Interaction modeling: 무엇을 말할것인가
챗봇 스크립트 설계에 교육전문가가 실제로 수업 중에 하는 말의 구조와 표현을 다음과 같이 반영하였습니다.
- Coaching: 전반적인 학습의 방향성을 제시하고 이끌어가는 부분입니다. 즉 수업 시작 전 학습 목표를 설명하는 말, 수업을 마칠 때 오늘 배운 것을 정리하며 마무리하는 말 등 입니다.
예: “Welcome to Module 1, ***. In this island, you will learn..” / “Congratulations! Now you’ve completed Unit 1. Now you can ….”
여기에 필요한 정보는 대단원 및 소단원의 이름과 순서, 각각의 학습목표 등 입니다. - Feedback: 학생의 practice, 즉 입력에 대한 피드백입니다. 이 피드백은 다시 다음과 같은 서브 문장으로 나뉘어집니다.
1. 학생의 입력(답변)에 대한 recognition — 예: “You wrote, how do you?”
2. 학생의 입력(답변)에 대한 정/오답 평가- 예: “that’s correct / nice try but not a correct answer”
3. 정/오답에 따라 축하 혹은 격려-예: “Good job! / try again!”
4. 재시도 결과에 따른 축하 혹은 정답 공개-예: “Now you made it! / the correct answer is how do you do?”
이러한 말을 해주는 데에 필요한 정보는 문제의 타입, 문제별 정답 및 오답 리스트, 학생이 입력한 내용 인식, 그리고 학생의 시도가 몇번째 시도인가 등 입니다. - Support: 학습 보조자료 부분입니다. 예를 들어 문법사전 혹은 단어사전과 같은 것들이지요. 이를 반영하여 여백에 영어 단어를 적고, 버튼을 누르면 그 뜻을 말해주는 기능을 넣었습니다.
- Rule setting & guidance: 교실에는 룰과 그 룰에 따른 가이드가 필요하죠. 예를 들어 “아직 공부를 다 마치지 않았어” “이미 제출한 과제야”와 같은 말들입니다. 이러한 말을 하는 데에 필요한 정보는 단원별 이수율, 학생별 과제 제출내역 등입니다.
우리는 챗봇의 재미를 더하기 위해, 4명의 다른 캐릭터를 등장시켜 1. coaching 2. feedback 3. support 4. rule guidance 각각의 역할을 부여하였습니다.
[배운점]
- 말이라는 것은 의도(문맥), 정보, 표현의 총 합. 따라서 좋은 말이 되려면 의도(문맥)가 분명하고, 정보가 정확하고, 표현이 매끄러워야 함.
- 챗봇 스크립트에서 참고할 수 있는 정보, 즉 argument와 parameter가 다양할수록 챗봇이 담을 수 있는 의도(문맥)이 풍부해지게 됨. 현재는 학생 이름, 학생의 문제풀이 시도횟수, 정오답, 문제유형 등 기본적 정보만을 가지고 말을 구성했지만, 향후에는 문제 난이도, 다른 사용자간 평균 정답률 등 더욱 다양한 정보를 참고할 수 있도록 한다면 더욱 풍성하게 말 할 수 있을 것.
- 챗봇 스크립트가 참고하는 정보는 정확해야 함. 인간은 의식이라는 것이 있어서 틀린 말을 하라고 시키면 틀린 말인줄을 알지만 기계는 그렇지 않아서, 틀린 말도 당당하게 함 ㅠㅠㅠ 따라서 스크립트에 정확한 정보를 입력하는 작업은, 고되지만 너무나도 중요한 작업.
- 의도와 정보만 넣으면, 표현은 자연어 분석을 통해 자동으로 완성되는 솔루션이 보급되었으면 좋겠음. (이미 이런 솔루션을 아신다, 하는 분은 저에게 귀뜸좀 해주세요!)
2.2. Chat UI: 어떻게 전달할 것인가
- Visual UI
챗의 시각화는 메신저 앱을 통해 익숙하게 접하곤 합니다. 주로 프로필 사진/아이콘과 말풍선으로 대표되고는 하지요. 우리 서비스의 경우, 다양한 캐릭터가 등장하므로 캐릭터별로 프로필 아이콘은 물론, 말풍선의 색도 다르게 주어 identity를 부여하였습니다. 특히 feedback을 주는 캐릭터 엘라의 경우, 정답일 때에는 초록색 말풍선을, 오답일 경우에는 빨간색 말풍선을 주어 직관성을 높이고자 하였습니다. - Auditorial UI
문자음성 자동변환 기술(TTS)로 아마존의 폴리를 사용했습니다. TTS외에도 정/오답 시 “땡” “딩동댕”과 같은 징글을 넣어 음성에도 직관성을 높이고자 하였습니다.
[배운점]
미래의 인공지능 인터페이스는 음성만으로 이루어진 VUI(Voice User Interface)가 될 것이라고 합니다. (인공지능 스피커가 그 예) 점점 Visual UI보다 Auditorial UI의 중요성이 커지는데, 그러한 흐름에 비해 TTS기술에는 아직 다음과 같은 아쉬움이 있었습니다.
- 인토네이션은 많이 자연스러워진 데 반해, 호흡 (끊어읽기 등)은 여전히 부자연스러운 부분이 많다.
- 웃음소리, 탄성, 환호, 탄식 등 감정을 표현하는 것이 거의 불가능하다는 점. 여러 시도를 하였지만 그나마 자연스러웠던 것은 “aha”, “yeah”, “oops”, “uh-oh” 정도.
- 음성의 개성이 제한적이다. 현재 대부분의 tts의 캐릭터가 젊은 여성. 다양한 연령, 성격의 tts가 소개되었으면 좋겠다!

교육 영역에서 인공지능 챗봇의 가치 및 한계
마지막으로, 이 프로젝트를 하며 느낀 학습보조 챗봇의 가치 및 한계점을 되짚어보며 마치겠습니다.
- 서비스 제공자 가치
- quality control & mass production: 현재까지 teaching material의 규격화와 대량생산은 흔했지만 teaching / coaching service 자체는 인력에 의존해왔음. 이를 ai chatbot으로 옮기게 되면 더 낮은 가격에 균일한 서비스를 공급할 수 있게 됨. 최상의 인력을 모델링하여 실제 그 인물에 근접하게 반응할 수 있다면 이상적.
- user data 수집: 학생의 학습 progress, 과제 제출 등 각종 학습 데이터의 측정 및 archiving이 가능
2. 서비스 사용자 가치
- 접근가능성: 원어민 튜터에 대한 시간, 거리, 가격적 접근장벽을 극복.
- 반복 가능성: 여러번 틀려도, 사람이 아니다보니 늘 인내심을 가지고 독려해줌. (가끔 선생님도 사람인지라 시간에 쫓기거나 인내심을 잃곤 하잖아요..)
“다만 시리에게서 당시 내 주위 인간들에게선 찾을 수 없던 한가지 특별한 자질을 발견했는데, 다름아닌 ‘예의’였다.”
- 김애란 <어디로 가고 싶으신가요> 중 발췌
3. 한계점 및 향후 과제
그럼에도 불구하고, 실제 사람이 제공하는 수준의 teaching / coaching을 ai로 구현하는 데에는 많은 어려움이 있습니다. 현재 대부분의 인공지능 챗봇 서비스는 사용자가 내리는 command를 이행하는 역할에 머물러있는데, 코칭과 평가는 그보다 더 고차원적인 스킬셋을 트레이닝 시켜야 할 것으로 보입니다.
버트 드레이퓨즈(Hubert Dreyfus)는 인간의 추론이 실제적으론 “상징적 진행”이 매우 적게 포함되어 있고 구현적, 본능적, 무의식적인 노하우에 의해 처리된다고 주장했다는데요, 코칭 역시 본능적, 무의식적 노하우가 많이 들어가는 영역임은 분명합니다.
앞서 learning assistant의 발화 내용을 네가지로 (1. coaching, 2. feedback, 3. support, 4. rule setting & guidance)정의해보았는데요, 이와 같이 learning assistant의 언어 구조를 정의하고 각 카테고리에 해당하는 말들을 무수히 수집하고 데이터 베이스화 하여 인공지능에 트레이닝시키는 과정이 필요할 것이라고 보여집니다.