대화형 AI 기반 그림동화 재창작 서비스
Copyright ⓒ 2023 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
초록
본 연구에서는 아이들의 창의력 교육을 위한 동화 재창작 AI 서비스를 제시한다. 이야기의 제한된 선택지를 제공하는 기존 서비스들과 달리 제안하는 이야기 재창작 서비스는 사용자가 동화를 읽은 후 대화형 AI 모델인 GPT(생성적 사전학습 트랜스포머)가 스토리 및 사용자 응답 맥락에 따라 생성하는 일련의 질문에 응답을 주고받게 하며, 대화 종료 후엔 챗GPT가 요약한 동화 텍스트와 더불어 키워드 기반 자동 추천 이미지 요소를 참조하여 그림을 그릴 수 있도록 한다. 생성된 글과 그림은 재창작된 동화로 저장된다. 그림 그리기 단계에서는 키워드들에 대응되는 아이들의 스케치를 학습한 퀵드로우(QuickDraw) 데이터셋 API가 이야기와 매칭되는 드로잉을 제시한다. 서비스 구현 결과, 대화형 AI 모델은 질문 생성에 우수한 성능을 보였으며, 스케치 샘플 제공 기능은 사용자의 흥미 유발에 도움이 되었다. 초등학교 저학년생 대상 파일럿 테스트와 학부모 인터뷰를 통해 서비스의 개선점을 확인하였고, 독서 후 활동 교육에 활용될 수 있음을 확인하였다.
Abstract
We propose an artificial intelligence (AI) service to assist children's creativity education through the reconstruction of fairy tales. In contrast to existing services that offer limited choices for story reconstruction, our proposed service allows the user to engage in interactive dialogue with a conversational AI using a Generative Pre-trained Transformer (GPT) model. After reading the fairy tale, the user responds to a series of questions generated by ChatGPT based on the story and user input. Upon completing the conversation, the generated fairy tale text, along with keyword-based automatically recommended image elements, help the user to draw accompanying illustrations. The combined text and drawings can be saved for future reference. QuickDraw dataset, a large-scale collection of sketches created by human users, is employed to suggest drawings relevant to story keywords. The implementation results demonstrate the good performance of the conversational AI in story question generation, while the provision of sketch samples contributes to user engagement. A pilot test with elementary school students and interviews with parents confirmed the service's potential for educational use in post-reading activities.
Keywords:
Conversational AI, ChatGPT, Generative Contents, Illustrated Fairy Tales, Creative AI키워드:
대화형 인공지능 모델, 생성적 콘텐츠, 그림동화, 창작 인공지능Ⅰ. 서 론
아이들의 창의력 교육에서 수동적인 읽기와 감상에 그치지 않고 작품을 탐구한 후 직접 표현하는 방식이 개발되고 있다. 성지연[1]의 연구에서는 그림책을 읽은 후의 드라마 활동 기법이 학생들의 흥미와 자신감을 높이고 반응을 활성화한다고 하였다. 여기서 드라마 활동이란, “교사와 학생들 간에 이루어지는 자발적이고 능동적인 학습 활동”을 의미한다. 또한, 백현주[2]는 그림책의 그림이 책을 싫어하는 학생들도 흥미를 갖고 글을 읽도록 동기부여 한다고 말한다.
기술이 발전하면서 인공지능(AI) 도구를 이용해 동화를 창작하거나 미술사를 공부하는 등 교육과 AI(Artificial Intelligence)를 결합하는 사례도 있다. 예컨대, 김소연[3]의 연구에서는 선생님과 학생이 함께하는 수업으로 한 가지 대상을 여러 화풍으로 표현한 AI 아트를 제시하고 각 화풍의 차이를 비교하면서 수업을 진행해, 기존 교육보다 학생들의 집중도가 더 높았다는 결과를 제시했다. 네이버의 클로바가 탑재된 스마트 스피커와 클로바 앱을 활용한 ‘동화만들기’ 서비스[4]는 아이가 인공지능 서비스와 대화하며 이야기를 만드는 인터랙티브 동화를 제공한다. 클로바가 이야기의 중요한 순간에 선택지를 제시하고 아이의 선택에 따라 다양한 결말을 제시하여 아이의 창의력을 높이는 데 도움을 준다. 스토리마법사(StoryWizard)[5]는 아이를 대상으로 한 동화 창작 AI 서비스이다. 아이가 주인공을 선택하고 이름을 붙인 후 원하는 이야기를 한 두 문장 입력하면 스토리마법사가 그림 동화를 만들어준다.
하지만 네이버 클로바앱 ‘동화만들기’는 선택으로만 이야기를 만들 수 있어 창작의 자유도가 낮다는 문제점이 있고, 스토리마법사는 창작 시 가이드라인 없이 바로 창작해야 하며 한국어가 어색해 한국 학생들이 사용하기 어렵다. 또한, 두 서비스 모두 그림 작업에는 사용자가 참여할 수 없다.
이를 보완하고자 본 연구에서는 초등학교 저학년을 대상으로 기존 동화를 읽고 동화를 재창작 또는 재구성해보는 AI 서비스를 설계 및 구현하였다. 사용자가 동화를 먼저 읽은 후, 독서 후 활동으로 대화형 AI 서비스로 대표되는 챗GPT(ChatGPT)가 동화에서 특정 상황을 가정하는 질문을 던지면, 사용자는 상황을 상상하여 질문에 대답한다. 추가로 이야기에 어울리는 장면을 사용자가 그릴 수 있도록 AI 서비스가 간단한 그림 요소를 제공하도록 하였다. 그 후 아이가 앞서 제작한 이야기와 그림을 합쳐 동화를 완성하도록 하는 것이다. 이 서비스는 먼저 동화를 읽고 독서를 기반으로 창작을 하게 한다는 점, 그리고 글 창작뿐만 아니라 동화에 들어갈 그림을 학생이 직접 그릴 수 있도록 하여 학생의 흥미를 높인 AI 서비스라는데 의의가 있다.
논문의 구성은 다음과 같다. 2장에서는 상호대화적 스토리 생성을 돕는 유사 사례를 분석했으며, 3장에서는 대화형 AI에 기반 한 그림동화 재창작을 위한 기술 및 데이터셋 검토 결과를 제시하였고, 4장에서는 실제 그림동화 재창작 시스템 설계와 구현, 5장에서는 파일럿 테스트와 결과, 끝으로 6장에서는 결론을 제시한다.
Ⅱ. 상호대화적 스토리제작 서비스 사례 분석
스토리마법사(StoryWizard)는 인공지능 기술을 지원하여 부모와 자녀가 함께 동화를 만들 수 있도록 도와주는 도구이다. 사용자가 주인공을 선택한 후 주인공에게 이름을 붙이고, 한두 문장의 이야기를 쓰면 그 프롬프트를 기반으로 AI가 이야기와 삽화를 생성하여 여러 장으로 구성된 한 권의 동화를 만든다. "영웅이 되어라 (Be the hero)"는 아이가 이야기의 주인공이 될 수 있도록 해주는 기능이다. 즉, 주인공을 선택할 때 아이의 사진을 올리면, 사진을 기반으로 AI 기술이 아이의 얼굴을 다시 그려서 삽화를 만든다. 이와 같이 스토리마법사가 동화를 생성하면, 사용자는 각 페이지의 텍스트를 수정할 수 있고, 그 텍스트를 프롬프트로 사용하여 한 페이지 당 이미지를 최대 8개 생성하며 사용자가 그 중 하나를 선택할 수 있다. 사용자가 그림을 직접 수정할 수는 없고, 원하는 그림이 나올 때까지 그림을 다시 생성해야 한다. 텍스트를 수정할 때 생김새를 묘사하는 수식어를 주인공 이름 앞에 붙이면, AI가 처음 생성한 그림을 기준으로, 그림 1의 좌측 그림처럼 인물이 줌-인된 그림에서는 생김새의 일관성이 어느 정도 유지되지만. 그림 1의 우측 그림처럼 인물이 작게 나오고 상황 묘사에 더 집중된 그림은 주인공 묘사에 대한 수식어가 잘 반영되지 않아서 주인공의 생김새가 일관되지 않은 문제가 있다. 이는 현재 텍스트 프롬프트에서 생성적 AI 기술에 의해 이미지를 생성하는 달리(Dall-e2)[6]나 미드저니(Midjourney) 서비스[7]에서도 마찬가지이며, GAN(Generative Adversarial Network)[8]이나 스테이블 디퓨전(Stable Diffusion)[9] 등 최신(state-of-the-art)의 생성적 AI 기술들이 아직까지 일회성 이미지를 생성하는 데 기인할 것이다.
스토리셀프[10]는 또 다른 인터랙티브 동화 앱 서비스로, 아이의 사진 자체를 주인공 얼굴 대신 삽입하여, 아이를 동화의 주인공으로 만들어준다. 증강현실(AR; Augmented Reality) 스티커(액세서리)를 사용하여 캐릭터를 꾸밀 수 있고, 각 자막마다 목소리를 녹음하여 동화를 재생할 수 있다. 또한, 동화 속 그림에 스티커를 붙이거나, 터치나 드래그로 상호작용 할 수 있다. 영유아를 대상으로 한 서비스이며, 그림과의 상호작용으로 아이의 흥미를 높였다. 증강현실 기술을 사용하여 사용자가 동화 감상에 더 몰입할 수 있지만, 창작 기능은 제공하지 않는다.
책 읽어주는 인공지능 루카[11]는 바쁜 부모의 목소리로 루카가 아이에게 책을 읽어주는 서비스이다. 부모가 루카 앱으로 책의 바코드를 인식한 후, 책 표지부터 한 장씩 스캔하여, 장마다 자신의 목소리를 녹음한다. 루카 앞에 책을 두면 인공지능이 페이지를 인식하여, 해당 페이지에 녹음된 목소리를 들려준다. 읽기와 듣기를 동시에 제공하지만, 이 서비스 역시 독서가 목적이고 창작 기능은 제공하지 않는다.
네이버 클로바 동화만들기[12] 서비스는 사용자의 선택에 따라 이야기 전개와 결말이 달라지는 동화 서비스이다. 사용자는 클로바와 대화하며 동화 속 주인공의 선택을 결정하고, 다양한 결말을 체험할 수 있다. 사용자가 동화를 듣다가 선택의 순간에 “미니” 혹은 “퐁퐁”의 이름을 말하여 원하는 선택을 하는 방식이다. 결말을 선택한다는 점에서 사용자가 어느 정도 이야기를 이끌어갈 수 있지만, 정해진 로직을 벗어나는 결말은 만들지 못한다. 또한, 음성 기반 동화이므로 그림 활동은 제공하지 않는다.
이상의 사례들은 주로 영유아의 독서 흥미를 높이기 위한 서비스들이며, 스토리마법사(StoryWizard)를 제외하곤 창작보다는 감상에 초점이 맞춰져 있다. 본 연구에서 제안하는 서비스는 사용자가 책을 읽은 후, 감상을 기반으로 동화를 재창작하는 것에 초점을 둔 점이 기존 서비스들과의 차별점이다.
Ⅲ. 대화형 그림동화 재창작용 AI 기술 사전검토
본 연구에서 제안하는 서비스의 핵심 목표는 사용자가 대화형 AI와 이야기하며 읽은 책을 되돌아보고 동화책의 특정 상황이나 인물로 새로운 이야기를 상상하며 사고를 확장할 수 있게 하는 것이다. 이를 위해 본 연구가 제안하는 서비스는 AI 어시스턴트로 하여금 사용자가 읽은 동화에 대해 사용자, 즉, 어린이와 대화를 나누도록 하고, 그 대화 내용을 요약하여 짧은 이야기를 생성하도록 설계하였다. 또한, 대화 속 키워드와 자동 매칭된 그림 예시를 소재로 제공하여 사용자의 그림 그리기를 돕고, 사용자가 그림을 모두 그리면 앞서 요약 생성된 이야기와 그림을 합쳐 만들어진 동화를 이미지로 저장할 수 있게 하는 것을 핵심 서비스로 설계하였다.
이와 같은 설계 목표 달성을 위해, 각 세부 절에서는 대화 및 텍스트 생성 AI의 최신 기술인 GPT엔진 사용결과와 그리기를 돕는 자동 예시 제공 방법을 탐색한 과정과 결과를 설명한다.
3-1 감상한 스토리 재창작을 위한 챗GPT 프롬프트 엔지니어링
서비스 설계와 구현에 앞서 본 절에서는 대화형 텍스트 생성, 즉, 챗봇의 최신 기술을 간략히 파악하고 적절한 프롬프트와 대화를 통해 본 연구에서 목표로 하는 스토리 생성에 가용한지 그 가능성을 테스트하였다. 사용한 기술 및 테스트 과정과 결과는 다음과 같다.
먼저, 챗봇 기술은 크게 쇼핑몰 챗봇처럼 사용자에게 질문하고 답할 만한 맥락들이 미리 질문-응답 쌍으로 주어지는 목적형 대화 생성 AI 기술과 다양한 일상대화 생성이 가능한 기술로 나뉜다. 전자의 대표 사례는 구글의 다이얼로그플로우(DialogFlow)이며[13], 후자의 대표 사례가 ChatGPT이다[14]. 본 연구는 아이가 읽은 책에 대해 아이와 자연스럽게 대화를 나누는 것이어서 질문과 응답의 쌍이 거의 정해진 목적형 대화는 부적합하고, 아이의 응답에 맞게 다음 질문을 생성할 수 있는 생성 AI 모델이 필요하다. 따라서 후자의 비목적형 대화 생성 AI 모델이 본 연구의 목표 서비스에 관련되므로, 그 성능과 가능성을 검토하고자 OpenAI[15]의 공식 API(Application Programming Interface)를 통해 챗(Chat) 모드의 “gpt-3.5-turbo” 모델을 사용하기로 하였다. 이는 챗GPT 모델이기도 하다.
챗GPT에 대한 모델 파라미터의 설정은 친구와 채팅하는 느낌을 주기 위해 OpenAI의 친구 챗(Friend Chat)[16] 예시를 참고하여 “온도(Temperature) = 0.5, 상위 확률 임계값(Top P) = 1, 빈도 페널티(Frequency penalty) = 0.5, 존재 페널티(Presence penalty) = 0, 사용자의 한 입력 메시지 당 생성할 답변 개수 n = 1”로 설정해 대화를 생성하도록 하였다. 챗GPT 엔진에게 역할을 부여하는 시스템 메시지는 사용자에게 동화의 특정 상황을 가정하는 질문을 던질 수 있도록 작성했으며, 프롬프트 마켓플레이스인 ChatX에서 챗GPT로 소설을 쓰게 하는[17] 프롬프트 형식을 차용하되 한국어를 사용하라는 것과 한 번에 한 질문만 하라는 제한 사항을 추가하였다. 이와 같이 구성해 입력한 시스템 메시지는 다음과 같다.
“너는 한국의 초등학생이야. 초등학생들과 이야기를 나누는 임무가 주어졌어. 네 주요 목표는 사용자의 상상력을 길러주기 위해 사용자가 읽은 스토리에 기반해서 스토리 질문을 생성하는 것이야. 사용자가 네 질문에 답하면, 간단하게 응답한 후 다음 질문을 생성해야 해. 한 번에 한 개의 질문을 생성하고 영어가 아닌 한국어로 말해야 해. 너의 첫 번째 과제로, [사용자이름]에게 인사를 하고 그 또는 그녀가 최근에 읽은 책에 대해 물어봐.”
이 메시지를 토대로 API를 사용하여 챗GPT와 대화한 내용은 표 2와 같다. 앞의 시스템 메시지 이후 챗GPT가 생성한 메시지는 역할(Role)이 어시스턴트(Assistant)로 표시되어 있고, 사용자 역할은 실제로 아이가 입력한 텍스트이다. 챗GPT API를 통해 생성된 질의 내용들은 사용자가 앞에 한 답변을 바탕으로 맥락을 이어가며 꽤 적절히 생성된 것을 알 수 있다.
사용자와 챗GPT가 대화한 내용으로 짧은 이야기를 만들 수 있도록 챗GPT가 총 8번의 질문을 하도록 하였다. 사용자가 질문에 모두 답변하면 대화를 중단하고 챗GPT가 이야기를 생성하도록 하였다. 대화 내용을 토대로 챗GPT가 이야기를 생성할 때는 토픽을 입력하면 두 문장의 짧은 이야기를 생성하는 OpenAI의 마이크로 호러 스토리 생성기(Micro horror story creator)[18] 예시를 참고하여 온도(Temperature) = 0.8로 설정하여 채팅할 때의 설정보다는 무작위성, 즉, 다양성을 높이고, 나머지 설정은 채팅 설정과 동일하게 하였다. “우리 대화를 요약해서 300자 정도의 한글 동화로 만들어줘. 동화만 만들어줘.”라는 프롬프트를 입력하여 동화를 생성하였다.글자 수를 지정하지 않으면 이야기가 너무 짧거나 길게 생성될 수 있어서 대략의 글자 수를 프롬프트에 명시한 것이고, ‘동화만 만들어줘’를 프롬프트에 추가한 것은 동화와 상관없는 ‘네, 알겠습니다’ 같은 대답을 포함하지 않도록 한 것이다. 이와 같은 지시 프롬프트를 통해 생성된 이야기는 다음과 같다.
“옛날 옛적, 희귀한 책을 발견한 앨리스 양은 책 속에서 이상한 나라로 빨려 들어갔습니다. 그곳에서 앨리스는 몸집이 커졌다 작아졌다 하는 기묘한 일들을 겪게 됩니다. 이상한 나라에서 체셔 고양이, 토끼, 하트 여왕과 같은 다양한 캐릭터들이 등장합니다. 그러면서 앨리스는 이상한 나라에서 다양한 모험을 하게 되고, 많은 것을 배우게 됩니다. 동화 속 앨리스는 예쁜 케이크와 홍차를 마시며 이상한 나라를 탐험하고, 일어나는 기묘한 일들을 재미있게 경험합니다. 함께하면서 꿈같은 여행을 떠나보아요!”
텍스트 프롬프트에 기반해 챗GPT의 불필요한 응답 없이 사용자와 챗GPT 간 대화 내용을 토대로 274자의 이야기를 생성한 걸 확인할 수 있다.
3-2 텍스트 레이블이 기계 학습된 그림 데이터셋 선정 과정
본 서비스는 동화 작성을 위해 텍스트만이 아니라 사용자가 이야기에 어울리는 그림을 그릴 수 있도록 도움을 주는 것이 목표 중 하나다. 이를 위해 앞 절에서 사용자와의 대화 내용 기반 스토리 생성 결과에서 대표 키워드를 추출하여 드로잉 예시를 사용자에게 보여주고자 했고, 스케치 이미지와 그에 해당하는 텍스트 레이블이 함께 기록된 데이터셋이 필요하다. 이에 부합하는 데이터셋을 조사한 결과 AutoDraw와 QuickDraw가 있었다.
AutoDraw[19]는 구글이 제공하는 무료 웹 기반 도구로, 신경망 학습에 의해 사용자가 그린 간단한 스케치나 그림을인식하여 해당하는 도형 또는 그림을 자동으로 제안하고 벡터 파일 포맷(‘.svg’)으로 저장할 수 있게 하는 서비스다. 예컨대, 그림2의 좌측 이미지는 AutoDraw 웹 서비스에서 토끼를 그렸을 때 서비스가 이를 자동으로 인식하여 제안한 그림 중 하나이다. QuickDraw[20]는 제한 시간 내에 사용자가 주어진 키워드에 해당하는 그림을 그리도록 하여 키워드와 스케치의 대응 관계를 형성하도록 신경망을 학습시킨 것이다.
QuickDraw에서 게임을 바탕으로 모은 사용자 스케치 데이터는 API를 통해 쓸 수 있도록 제공되고 있으며, 원하는 키워드를 넣으면 대응되는 이미지를 가져올 수 있다. 그림2의 우측 그림은 이미지 키워드 ‘고양이’에 대응되는 QuickDraw의 그림을 보여준다. AutoDraw는 사용자가 스케치하는 그림을 추론하여 정형적이고 깨끗한 이미지 중 하나에 매핑하는 반면, QuickDraw는 여러 사용자의 스케치 이미지 자체가 데이터셋으로 구축되었으므로 어린 아이의 날 것으로서의 스케치 이미지들을 포함하고 있다.
본 연구에서 목표로 하는 서비스에는 양 쪽 데이터셋 모두 활용 가능하나, 정형적인 이미지를 제공하는 AutoDraw 보다 어린이 사용자의 눈높이에서 그려진 그림들로 구성되며 하나의 키워드에 대응하는 스케치가 다양하여 같은 키워드를 제시해도 무작위로 이미지를 제공할 수 있는 QuickDraw 데이터셋을 이야기 텍스트에 대응되는 스케치 예시 제공용으로 선택하였다.
Ⅳ. 동화 재창작 서비스 설계 및 구현
3장에서 검토 및 실험한 동화 텍스트 재창작 및 그림 힌트 제시에 가용한 AI 엔진과 데이터셋을 핵심적 방법으로 사용하여, 본 장에서는 동화 재창작 서비스의 전체적 설계 및 상세 구현 내용을 소개한다.
본 연구에서 제안하는 서비스의 핵심 목표는 사용자가 대화형 AI 어시스턴트와 얘기하며 읽은 책을 되돌아보고 동화책의 특정 상황이나 인물로 새로운 이야기를 상상하며 사고를 확장할 수 있게 하는 것이다. 이를 위해 챗GPT가사용자와의 대화를 요약하여 짧은 이야기를 생성하고, 이야기에 어울리는 그림을 소재로 제공하도록 하며, 사용자가 그림을 모두 그리면 이야기와 그림을 합친 동화 이미지로 저장할 수 있게 하는 것을 핵심 서비스로 설계하였다.
4-1 주요 기능 설계 및 구현
본 연구가 제안하는 서비스의 전체 컨셉은 그림 3과 같다. 동화 재창작 또는 재구성 서비스인 본 연구의 목표를 위해 사용자가 동화책을 읽은 후라는 것을 전제로 서비스를 설계했으며, 크게 글 창작과 그림 창작 두 가지 과정을 거치도록 구성하였다.
글 창작 단계에서는 챗GPT와 채팅 형식의 대화를 진행한다. 대화는 3-1절에서 실험을 통해 구성한 시스템 메시지를 GPT 모델에게 제공하여 챗GPT가 사용자에게 최근에 읽은 책이 무엇인지 물어보며 시작되도록 한다. GPT가 총 8번의 질문을 하여 사용자와 여덟 턴의 대화를 끝내면 이를 요약하여 챗GPT가 이야기를 생성한다.
사용자가 이야기 제목을 붙이고 그림 창작 단계로 넘어가면 사용자는 이야기에 어울리는 그림을 그릴 수 있다. 챗GPT는 앞서 생성한 이야기에서 사물 키워드 5개를 추출한다. 이 때 GPT 설정 값은 텍스트에서 관련 키워드를 추출해주는 OpenAI의 키워드(Keywords)[21] 예시를 참고하여, 온도(Temperature) = 0.5, 상위 확률 임계값(Top P) = 1, 존재(Presence) = 0, 빈도(Frequency) = 0.8으로 설정하고, 키워드 추출을 위한 프롬프트 메시지는 아래와 같이 부여하였다.
“위 이야기에서 다섯 개의 사물 키워드를 영어로 알려줘. 부연 설명 하지 말고, 아래처럼 배열 형태로 알려줘. answer: [word1, word2, word3, word4, word5]”
일정한 형식의 답변을 받기 위해 답변 예시를 입력했으며, 문자로 된 답변을 문자 배열로 전환하여 QuickDraw API에 전달한다. QuickDraw에서 키워드와 매칭되는 이미지가 있으면 가져오고, 없을 경우에는 챗GPT로 하여금 키워드를 다시 생성케 한다. 이 과정은 총 10번까지만 진행되고, 키워드에 해당하는 이미지가 없으면 AI 캔버스에 이미지가 표시되지 않는다. 키워드에 부합하는 그림이 있으면 AI 캔버스에 그림이 표시되고, 사용자는 이 그림을 자신의 캔버스에 복사하여 그림을 그릴 수 있게 설계하였다. 사용자가 그림을 모두 그리고 나면 글과 그림을 합친 동화가 완성되고, 사용자는 동화를 이미지로 저장할 수 있다. 이를 설명하는 플로우차트를 그림 4에 보였다.
그림 창작에서는 사용자가 펜을 사용하여 그림을 그려야 하므로, 터치펜을 제공하는 태블릿 환경에 적합한 프로그레시브 웹앱(PWA; Progressive Web App)으로 서비스를 구현하였다. 챗GPT의 답변을 받아올 서버는 node.js 로 구현했으며, QuickDraw 스케치 데이터를 받아올 서버는 QuickDraw 공식 문서에서 지원하는 파이썬 언어를 사용하여 FastAPI를 써서 구현하고, 시험 배포에는 AWS(Amazon Web Services)의 EC(Elastic Compute Cloud)2를 사용하였다. 이를 토대로 제작한 기술 스택은 그림 5와 같다.
4-2 화면별 세부 기능 설계와 구현
본 서비스 화면은 총 6개로, 시작 화면과 채팅 화면, 로딩 화면, 스토리 화면, 드로잉 화면, 완성 화면으로 구성된다. 화면을 노드로 한 상태 전이 다이어그램은 그림 6과 같다.
시작 화면에서는 사용자가 이름을 입력할 수 있는 입력란이 있고, 사용자가 이름을 입력하면 ‘이야기 시작하기’ 버튼이 활성화되도록 구현하였다. 사용자가 버튼을 누르면 채팅 화면으로 넘어간다. 그림 7 좌측에 보이는 채팅 화면에서는 챗GPT가 먼저 질문을 시작하고, 사용자가 질문에 답변하며 대화가 진행된다. 대화가 종료되면 챗GPT가 사용자와의 대화를 토대로 이야기를 생성할 동안 사용자에게는 로딩 화면이 표시된다. 이야기 생성이 끝나면 그림 7의 우측 이미지처럼 이야기 화면으로 전환된다. 사용자는 챗GPT가 생성한 이야기를 수정할 수 있고, 사용자가 제목을 입력하면 그림 그리기 버튼이 활성화되어 버튼을 클릭하면 드로잉 화면으로 이동할 수 있다. 드로잉 화면으로 이동하면 그림 8의 좌측 이미지처럼 사용자는 좌측 하단에 생성된 이야기를 확인할 수 있고, 캔버스에 있는 선 그리기, 채우기, 색 지정 기능을 사용하여 이야기에 어울리는 그림을 그릴 수 있다. 그리는 동안 GPT가 이야기로부터 사물 키워드를 추출하고 스케치 데이터를 가져오는 데 성공하면 그림 8의 우측에서 보이는 것처럼 AI 캔버스에 스케치가 표시되고, 사용자는 ‘가져오기’ 버튼을 눌러 사용자 캔버스에 스케치를 픽셀로 가져올 수 있다.
드로잉 스크린에서 사용자가 그림을 그리고 ‘완성’ 버튼을 누르면 완성 화면으로 넘어가며, 그림 9 좌측 이미지처럼 해당 화면 가운데에 완성된 동화 이미지가 표시되고, 저장된 완성 동화의 예시는 그림 9 우측 이미지와 같다. 사용자는 ‘동화 저장하기’ 버튼을 눌러 동화를 이미지로 저장하거나 ‘다른 동화 만들기’ 버튼을 눌러 채팅 화면으로 이동하여 앞의 과정을 반복할 수 있다.
Ⅴ. 파일럿 테스트 및 결과
본 연구에서 설계 및 구현한 서비스에 대해 실제 초등학교 저학년을 대상으로 파일럿 테스트를 진행했으며, 테스트의 목적과 방법, 결과를 서술하겠다. 초등학교 1학년생 3명(남학생 1명, 여학생 2명)에게 서비스를 직접 사용해보도록 했고, 자녀를 둔 학부모 3명을 인터뷰하였다.
5-1 파일럿 테스트의 목적 및 방법
테스트를 통해 알고자 한 사항은 총 3가지로, 첫 번째는 서비스 수준이다. 서비스가 초등학교 저학년이 사용하기 적합한지 알아본다. 특히, 타자 치기와 터치펜으로 태블릿에 그림을 그리는 활동이 가능한지 관찰하고자 하였다. 두 번째는 흥미 요소이다. 초등학교 저학년의 흥미를 끌 만한 요소가 서비스에 있는지 확인하는 것이다. 초등학생의 반응을 관찰하고, 평소 아이의 흥미를 끄는 방법이 무엇인지 학부모의 의견을 얻었다. 세 번째는 오류 파악이다. 구현한 코드상, 사용자의 서비스 사용을 불편하게 만드는 작동 방식이 있는지 사용자를 관찰하여 알아보고자 하였다.
학부모 인터뷰와 초등학생 테스트는 어린이 열람실이 있는 도서관에서 진행하였다. 인터뷰를 진행하기 전에 테스트 목적을 설명하고, 서비스 사용 과정을 녹화한 시연 영상을 보여준 후 인터뷰를 시작하였다. 질문 사항은 목적에 따라 현재 자녀가 무슨 책을 읽는지, 태블릿 사용과 타자 치기에 익숙한지, AI의 질문이 어렵지 않은지 질문하였다. 또한, 자녀가 평소 흥미를 느끼는 요소가 무엇인지 알아봤다.
학부모 인터뷰 후 초등학교 1학년 자녀에게 서비스를 직접 사용해보도록 하였다. 타자 치기에 익숙하지 않은 사용자를 위해 테스트 진행자가 사용자의 답변을 정리하여 대신 입력하였다. 자녀가 답변에 어려움을 겪을 때는 학부모가 기억을 떠올리도록 도와주거나 테스트 진행자가 AI의 질문을 재정의하여 쉽게 설명하여 답변을 유도하였다.
5-2 테스트 결과
구현한 ‘토킹 AI 책친구’의 전체 기능 사용 및 3인의 초등학생에 대한 파일럿 테스트 영상은 세 개의 유튜브 링크 https://youtu.be/he738vPYxwA, https://youtu.be/oyLAEKNBAWM, https://youtu.be/e4PLz-smkac에서 확인할 수 있다.
사용자 테스트에서 서비스 수준에 대한 결과는 다음과 같다. 학부모들은 초등학교 1학년 자녀가 주로 그림과 글 비율이 약 8 : 2인 창작 동화를 주로 읽는다고 답하였다. 초등학생 사용자는 핸드폰을 사용해봐서 독수리 타법으로 텍스트를 입력할 수 있었으나 입력이 익숙하지는 않았다. 사용자, 즉, 초등학생이 긴 답변을 말할 땐 많이 더듬어서, 테스트 진행자가 채팅 답변을 입력할 때 사용자의 말을 정리해서 입력해야 했다. 즉, 음성 인식으로 GPT와 대화한다 해도, 사용자의 생각이 잘못 입력될 확률이 높았다. 챗GPT의 질문 수준은 사용자가 이해하기에 적합했다. 하지만 챗GPT의 주요 질문인 ‘인상 깊은 장면’을 물어볼 때는 ‘가장 재밌었던 장면’이라고 다시 질문해주어야 했다. 챗GPT가 생성한 ‘인상 깊다’라는 표현이 초등학교 저학년생에게는 다소 어려운 표현임을 알 수 있다. 그림 창작 단계에서는 사용자가 채우기 기능을 인식하지 못하고 주로 선 그리기로 그림을 그렸다. 하지만 컬러 팔레트에서 다른 색을 골라 그림을 그리는 데는 익숙하였다.
흥미 요소에 대한 결과는 다음과 같다. 초등학생 사용자가 가장 관심을 보이는 부분은 랜덤으로 생성되는 챗GPT의 답변과 QuickDraw API를 통해 자동으로 제시된 스케치 이미지이다. 실제로 아이들이 그린 낙서와 같은 이미지를 바탕으로 한 QuickDraw의 데이터셋 성격상, 제시된 이미지는 사용자에게 못 그렸다는 인식을 주었고, 사용자, 즉, 초등학생이 이미지를 가져다가 사용하진 않았지만 사용자로 하여금 주어진 낙서보다 더 잘 그리려고 노력하게 하는 데 도움을 주었다. 또한, 낙서 이미지와 키워드가 주어짐으로써 사용자가 무슨 그림을 그릴지 힌트를 주는 역할을 하게 되어 사용자가 고민하는 시간을 줄여주었다.
오류 사항에 관한 파일럿 테스트 결과는 다음과 같다. 챗GPT가 대화를 요약해서 짧은 이야기를 생성할 땐 어색한 문장이 함께 있어서 사용자가 이해하기 어려워하였다. ‘두꺼비는 친구인 개구리에게 속았다는 것을 알아차려서 죄송해하며’와 같은 문장이 그 예시이다. 그림 창작 단계에서는 사용자가 그림을 수정하여 더 잘 그리고 싶어 했으나, 캔버스를 일부만 지우는 기능이 없어서 사용자가 처음부터 다시 그려야 하는 불편함이 발생하였다.
서비스 수준과 흥미 요소, 오류 사항에 대해 정리한 내용은 표 3과 같다. 테스트 결과를 종합해보면, 초등학생 사용자가 혼자 서비스를 사용하는 데는 어려움이 있고, 부모나 선생님의 도움이 필요했다. 그 원인 중 하나인 텍스트 입력(타자 치기) 대신 앞서 조사한 사례 중 하나인 스토리셀프처럼 터치나 드래그로 진행하거나, 네이버 클로바 동화만들기처럼 짧은 답변을 유도하여 음성 녹음하는 방식이 AI와 대화하는 데 적합해 보인다. 하지만 사용자에게서 긴 답변을 이끌어내려면 이번 테스트 방식처럼 부모나 선생님의 도움이 필요하다. 또한, GPT가 짧은 이야기를 만들 때 생성하는 어색한 문장을 수정하여 사용자의 이해도를 높여야 한다. 하지만 GPT가 자동으로 동화와 관련된 질문을 만드는 기능은 학부모가 보조하기 편하다는 긍정적인 평가를 받았다.
사용자의 흥미를 끌기 위해서는 시각적인 요소가 중요했다. 사용자는 반응에 따라 달라지는 챗GPT의 답변과 이야기, QuickDraw 스케치에 큰 관심을 보였다. 학부모 인터뷰 결과 초등학생 자녀들이 평소에 터치나 드래그에 따라 화면이 변하는 애니메이션과 책 속에 등장하는 캐릭터에 관심이 있음을 알 수 있었다. 이에 따라 GPT가 답변할 때와 그림을 가져올 때 애니메이션을 추가하고, AI 책 친구 캐릭터 디자인에 움직임을 넣으면 더 좋은 결과를 낼 것으로 보인다.
그림 창작 단계에서 보완할 점은 사용자가 처음 그린 그림에 만족하지 않고 더 잘 그리려고 하므로, 캔버스 일부를 지울 수 있는 기능이 필요하다는 것이다. 반면에 사용자가 그린 선의 경로에 따라 자동으로 색을 채우는 기능은 초등학교 1학년 학생이 활용하기 어려워 보였다. 대신 아날로그 방식처럼 색칠할 수 있도록, 현재 1 픽셀인 선의 두께를 조절하여 색칠에 더 도움을 주고자 한다.
그림 10은 실제 초등학생 사용자가 만든 동화 이미지이다. 상단 그림에서 검은 선의 그림은 사용자가 그린 것이고 노란 선의 그림은 QuickDraw가 제시한 스케치 이미지를 드래그하여 사용한 것이다.
Ⅵ. 결 론
본 연구의 목적은 독서 또는 그림동화 감상을 기반으로 초등학교 저학년 사용자가 동화를 재창작할 수 있는 서비스를 설계 및 구현하는 것이었다. 사용자가 처음부터 이야기를 직접 입력해야 하거나, AI가 그림을 대신 완성하는 기존 창작 서비스를 보완하여 글과 그림 창작에 AI 기반 가이드라인을 제공하는 서비스를 개발하였다.
서비스는 동화의 구성 요소인 글과 그림 창작 두 단계로 진행되었다. 글 창작에서는 챗GPT가 동화 관련 질문을 던지도록 하여 사용자가 생각을 확장하고 상상력을 높이는 데 도움을 주었다. 대화가 끝나면 사용자와 AI의 대화를 요약하여 자동으로 짧은 이야기를 생성하기 때문에, 사용자가 고민하는 시간은 줄이면서 사용자만의 이야기를 만들 수 있도록 하였다. 그림 창작 단계에서는 AI가 그림을 완성하는 대신, 초등학교 저학년 사용자 수준에 맞는 그림 요소를 제공하여 보조 역할을 하도록 하였다. 제공된 요소가 사용자가 사용할 정도로 완성도가 높진 않았지만, 사용자가 무엇을 그릴지 고민하는 시간은 줄이면서 제공한 이미지보다 그림을 더 잘 그리도록 유도하는 효과가 있었다.
이를 개발하기 위해 OpenAI의 GPT 3.5 turbo 모델과 사람의 그림을 텍스트와 더불어 학습한 QuickDraw 이미지 데이터셋을 사용하였다. 대화형 GPT 모델은 가끔 번역한 듯한 한국어 문장을 생성했지만, 동화에서 사용자의 생각을 묻는 질문을 생성하는 데는 좋은 성능을 보였다. 또한, 짧은 이야기에서 대부분 10회 안에 QuickDraw에 사용할 적절한 사물 키워드를 추출할 수 있었다. QuickDraw의 이미지 데이터는 초등학교 1학년에게도 못 그렸다는 평가를 받았지만, 다양한 이미지를 랜덤으로 제공하기 때문에 사용자의 흥미를 높이는 역할을 하였다.
개발한 서비스는 실제 초등학교 저학년 학생을 대상으로 파일럿 테스트하여 성능을 평가했고, 추가로 학부모를 인터뷰하여 보완할 점을 알아보았다. AI와의 대화가 채팅 형식으로 진행되지만, 사용자가 아직 타자 치기에 익숙하지 않아 이를 보완할 필요가 있었다. 또한, 사용자가 시각적인 요소에 큰 관심을 보였기 때문에 사용자의 반응에 응답할 때 적절한 애니메이션과 캐릭터에 움직임을 추가한다면 더 좋은 결과를 낼 것으로 보인다. 그림 창작에서는 사용자 관찰 결과, 드로잉 기능에서 채우기 기능을 제거하여 좀 더 단순화하고, 아날로그 드로잉 방식을 모방하여 사용자가 쉽게 서비스를 사용할 수 있게 개선할 필요가 있다.
본 서비스는 기존 독서 후 활동 교육에 활용할 수 있다. 사용자 테스트에서, 교육자가 아닌 부모가 자녀와 함께 독서 활동을 할 때 챗GPT가 책과 관련된 질문을 생성해주기 때문에, 함께 책을 읽은 후에도 활동을 이어나가기 쉽다는 평가를 받았다. 챗GPT가 가끔 사용자가 이해하기 어려운 어색한 문장을 생성하는 걸 개선한다면 학교뿐만 아니라 집에서도 간단한 독서 활동을 할 수 있다.
현재는 초등학교 저학년을 대상으로 10~15분 정도 짧은 창작 과정으로 개발했으나, 다른 활동을 더 추가하거나 인공지능 모델의 설정을 수정하고 더 잘 그린 이미지 데이터셋을 제공한다면, 초등학교 고학년 학생들도 사용 가능할 것으로 보인다.
References
- J. Y. Seong, A Study on the Teaching Method of Creative Writing through Reading Picture Books, Master’s Thesis, Seoul National University of Education, Seoul, February 2008.
- H. J. Baek, Teaching Method through Picture Books for Writing Poems -For Elementary School Student-, Master’s Thesis, Kyonggi University, Suwon, February 2013.
- S.-Y. Kim, A Study on the Effects of Art Classes Using AI Art, Master’s Thesis, Pusan National University, Busan, August 2021.
- Electronic Times News. Naver, Launching ‘Story Creation’ Service Utilizing AI for Children [Internet]. Available: https://www.etnews.com/20181227000193, .
- Storywizard.ai. Create Incredible Children’s Stories in No Time Using AI [Internet]. Available: https://www.storywizard.ai/, .
- OpenAI. DALL·E2 [Internet]. Available: https://openai.com/dall-e-2, .
- Midjourney. Midjourney [Internet]. Available: https://www.midjourney.com/home/?callbackUrl=%2Fapp%2F, .
- I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, ... and Y. Bengio, “Generative Adversarial Networks,” Communications of the ACM, Vol. 63, No. 11, pp. 139-144, November 2020. [https://doi.org/10.1145/3422622]
- Stable Diffusion. Stable Diffusion Online [Internet]. Available: https://stablediffusionweb.com/, .
- Illuni. StorySelf [Internet]. Available: https://storyself.com/, .
- AI Friends. Luka, AI Robot for Reading Books Aloud [Internet]. Available: https://www.luka.kr/, .
- Naver CLOVA. Naver Fairy Tale Making - Skill Store [Internet]. Available: https://clova.ai/ko/skillstore/skill/com.cds-skills.fairytale, .
- Google Cloud. Dialogflow [Internet]. Avaiable: https://cloud.google.com/dialogflow, .
- OpenAI. ChatGPT [Internet]. Available: https://openai.com/blog/chatgpt, .
- OpenAI. Introducing ChatGPT and Whisper APIs [Internet]. Available: https://openai.com/blog/introducing-chatgpt-and-whisper-apis, .
- OpenAI API. Friend Chat Examples [Internet]. Available: https://platform.openai.com/examples/default-friend-chat, .
- ChatX. Write a Novel with ChatGPT [Internet]. Available: https://chatx.ai/marketplace/chatgpt/write-a-novel-with-chatgpt/, .
- OpenAI API. Micro Horror Story Creator [Internet]. Available: https://platform.openai.com/examples/default-micro-horror, .
- Experiments with Google. AutoDraw by Google Creative Lab [Internet]. Available: https://experiments.withgoogle.com/autodraw, .
- Experiments with Google. Quick, Draw! [Internet]. Available: https://quickdraw.withgoogle.com/, .
- OpenAI API. Keyword API [Internet]. Available: https://platform.openai.com/examples/default-keywords, .
저자소개
2023년:이화여자대학교 (융합콘텐츠 학사과정)
2020년~현 재: 이화여자대학교 융합콘텐츠학과 학사과정
※관심분야:웹, 생성적 AI, UX, 창작, 교육
1991년:한국과학기술원 (공학석사-인공지능)
1997년:한국과학기술원 (공학박사-가상현실)
1998년~1999년: 스위스 로잔 연방공대(EPFL) 박사후연구원
1999년~2000년: 일본 ATR 연구소 초청연구원
2000년~2002년: 세종대학교 전임강사
2002년~현 재: 이화여자대학교 융합콘텐츠학과 재직 (현재 교수)
※관심분야:가상현실(VR), 증강현실(AR), 인공지능(AI), HCI, 학제간 연구