Ⅰ. 서론
최근 들어 대표적인 소프트웨어의 일환으로 코딩 학습에 대한 관심과 요구가 빠르게 높아지고 있다. 학교 안팎으로 코딩 학습자가 폭발적으로 증가하고 있으나, 생각보다 높은 난이도 등으로 인하여 학습을 중도에 포기하는 학습자의 비율 또한 적지 않은 것으로 보고되고 있다 [1, 2]. 전통적으로 교육은 타 영역에 비하여 발전 속도가 더딘 영역이라고 알려져 있다. 특히, 코로나 팬데믹으로 인한 사회적 위기는 소프트웨어 기술을 교육 분야에 접목할 수 있는 계기가 되고 있다. 이의 일환으로 현재 교육 환경 시스템은 텍스트 위주의 교재를 활용한 대면 학습 형태를 띤 이전과는 달리 IT 기기를 활용한 비대면 학습 형태로 변모하고 있다.
코딩 학습을 위한 소프트웨어 도구는 크게 웹 기반과 소프트웨어 프로그램 기반으로 구분할 수 있다. 현재, 코딩 학습 도구는 대부분 웹 형태이며, 클라우드 서비스를 활용한 ‘엘리스(Elice)’와 구름(Goorm)’과 같은 학습 지원 도구가 제공되어 널리 활용되고 있다. 웹 기반의 코딩 학습은 컴퓨터 서버에 저장 공간을 차지하고 별도의 파일을 저장해야 하는 번거로움 없이 대용량의 작업물을 클라우드 웹에 자동으로 저장할 수 있다는 장점은 있지만, 휴대용 모바일 기기에서는 기능을 지원하지 않거나 접근이 쉽지 않다는 한계를 보이고 있다. 소프트웨어 프로그램 기반 역시 PC 기반 프로그램으로서 모바일 기기를 통한 접근은 쉽지 않으며 COVID-19로 인하여 단시간에 대면수업을 비대면 수업으로 전환하는 과정에서 교수자와 학생은 어려움과 혼란을 겪고 있다[3].
최근 엄청난 속도로 발전하고 있는 인공지능 기술을 SW 교육 환경 시스템 개선에 활용할 수 있는데, 그 예시가 바로 대화형 에이전트(conversational agent)이다[4]. 대화형 에이전트는 자연어처리(NLP: Natural Language Processing)에 머신러닝 기술을 적용하여 사용자 의도를 예측하고 적절한 응답을 도출한다. 대화형 에이전트의 대표적인 예로 챗봇(Chatbot)을 들 수 있다. 메시징 애플리케이션의 인기가 높아짐에 따라 챗봇은 모빌리티 기반 혁신에서 점차 중요한 역할을 하고 있다.
교육 분야의 챗봇 서비스 중 수학 문제 풀이 기능을 지원하는 콴다(Quanda)는 자체 개발 AI 기반의 광학문 자판독(OCR)을 통한 챗봇을 개발하였다[5]. 외국어 분야에서는 음성인식을 음소 단위로 세분화하여 인식하는 알고리즘을 적용하는 스픽(Speak)[6], Birdbrain Machine Learning 모델을 적용하는 듀오링고(Duolingo)의 사례를 확인할 수 있다[7]. 반면, 코딩 교육 분야는 아직 상용화된 사례를 찾아보기 어려운 실정이다. 타 분야 서비스가 사용자 수준별 학습 및 복습, 풍부한 자료 제공을 통하여 검증된 학습 효과를 제시할 수 있는 것에 비해 SW 교육용 챗봇 산업은 아직 활성화되지 못한 것으로 파악된다. SW 교육 분야에서도 타 교육 분야에서 활용된 방식을 적용할 수 있다면, 학습자의 흥미를 높이면서 정규 학습 과정 이외의 자기 주도 학습을 촉진시킬 수 있을 것으로 전망된다.
따라서 본 논문에서는 의도 파악 방법 중 통계 기반 인식을 사용하는 Dialogflow와 유사도 기반 인식을 사용하는 Kakao i Open Builder의 사용성 비교를 통하여 교육용 챗봇 제작에 적절한 빌더를 찾아낸다. 이를 기반으로 SW 교육용 챗봇 모델을 제작하여 배포한 후에 사용성 평가를 실시한다.
본 논문의 구성은 다음과 같다. 선정된 목표에 따른 시나리오 결정과 함께 제안모델에 대한 설계 내용을 Ⅱ장에서 설명한다. Ⅲ장에서는 두가지 빌더로 챗봇 시스템 구현과정을 설명하고 이들에 대한 비교 분석 및 평가 결과를 제시한다. 마지막으로 Ⅳ장에서는 결론을 맺고 향후 연구 진행방향에 대하여 논의한다.
Ⅱ. 제안 모델 설계
Dialogflow와 Kakao i Open Builder는 대화 구성의 기본 3 요소인 인텐트(Intent), 엔티티(Entity), 컨텍스트(Context) 등의 면에서 동일한 설계 구조를 가지고 있으나, 시스템 내부의 문장 의도 파악 방법이 다르며, 이는 인식률에도 차이를 주고 있다. 빌더 별 의도 파악 기법에는 차이가 있는데, Dialogflow는 통계 기반의 TF-IDF 알고리즘[8]과 나이브 베이즈(Naive Bayes) 분류 기법[9]을 사용하고, Kakao i Open Builder는 문장토큰화(Tokenization)를 통한 유사도 판별을 사용한다[10].
연구 목적을 달성하기 위하여 우선, 관련 연구 및 사례 분석을 통해 챗봇 모델의 사용 목표를 선정한다. 이를 기반으로 챗봇 빌더를 채택한 후 각각의 기반 알고리즘 분석을 진행한다. 그런 다음, SW 교육용 챗봇 학습 모델의 설계 원리를 도출하고 이를 바탕으로 챗봇 모델의 시나리오를 설계한다. 사용자 발화 의도 분석 및 응답 제공을 위한 인텐트, 엔티티, 컨텍스트 등을 분류하고 Dialogflow와 Kakao i Open Builder 등에 동일한 시스템을 구현한다. 이를 기반으로 두 가지 빌더를 통해 구현된 교육용 챗봇 모델을 적절한 평가 기준으로 비교하여 보다 우수한 모델을 선정한다. 마지막으로, 사용성 평가를 통해 모델의 강점, 약점, 개선점을 확인하고 학습지원 도구로서의 타당성을 확인한다.
SW-EDU 봇에 사용자가 원하는 학습 기능을 지원하기 위해서는 시나리오를 작성하는 과정이 선행되어야 한다. 그 이유는 시나리오의 흐름대로 대화를 진행하며 사용자로부터 필요한 정보를 학습하고, 사용자가 원하는 답변을 제공할 수 있기 때문이다. 학습 서비스에 관한 시나리오를 작성하기 위하여 다음과 같은 세 가지 가정을 전제한다. 첫째, 학습 서비스를 위한 대화는 시나리오 챗봇의 형태를 따른다. 둘째, 학습 주제는 크게 if 문, for 문, while 문, switch/case 문 등으로 분류한다. 셋째, 사용자에게 원하는 학습 주제, 학습 유형, 학습 난이도등을 입력받는다.
이와 같은 가정에 근거하여 전체적인 시나리오를 8 단계로 나누어 나타낼 수 있는데, 단계별 세부사항은 다음과 같다.
1 단계 : 사용자가 SW-EDU 봇 채팅방에 입장한다.
2 단계 : 사용자가 원하는 학습 유형에 대하여 질문한다.
3 단계 : 사용자가 학습하고자 하는 주제를 선택한다.
4 단계 : 사용자가 개념 학습을 선택한 경우, 선택한 주제에 대한 개념 학습을 진행한다. (문제 풀이 선택 시 개념 학습은 생략함)
5 단계 : 사용자의 개념 학습을 종료한 후 문제 풀이로 학습을 이어 가는지 여부를 선택한다.
6 단계 : 사용자가 원하는 문제에 대한 난이도를 선택한다.
7단계 : 풀이한 문제에 대한 채점 및 더 높은 난이도의 문제 풀이 여부를 확인한다.
8 단계 : 문제 풀이 및 복습 후 SW-EDU 봇을 종료한다.
단계별 시나리오 진행으로 사용자는 챗봇의 질문에 자유롭게 답변하고, 챗봇은 사용자의 답변에서 필요한 정보를 추출하여 사용자의 의도를 파악하는 방식으로 사용자가 원하는 학습 형태를 제공한다. 시나리오 흐름을 사용자 입장과 챗봇 입장으로 나누어 의사결정 트리로 표현하면 그림 1과 같이 나타낼 수 있다. 그림 1-(a)에서 사용자는 챗봇에 원하는 학습 유형과 학습 주제에 대한 정보를 제공하고, 순차적으로 학습을 진행한다. 그림 1-(b)에서 챗봇은 사용자의 입력 정보를 바탕으로 대화를 진행한다. 다양한 경우의 수를 가진 사용자 입력을 각각의 인텐트에 매칭시킬 수 있도록 보다 구체적인 시나리오 의사 결정 트리를 가진다.
그림 1. SW-EDU 봇의 시나리오 의사결정 트리 (a) 사용자 입장 (b) SW-EDU봇 입장
Fig. 1. The decision trees of the scenario of SW-EDU bot in terms of: (a) User’s position (b) SW-EDU bot’s Position.
설계한 시나리오를 기반으로 위에서 언급한 두 가지 빌더를 통하여 동일한 시스템을 구현한다. Dialogflow로 SW-EDU 봇을 제작하기 위하여 대화 구성의 기본 3요소인 인텐트, 엔티티, 컨텍스트 등에 대한 설계를 선행한다. 엔티티를 통하여 동의어를 구분하고, 인텐트로 사용자의 의도를 파악한 후 컨텍스트를 이용하여 사용자와 챗봇이 대화의 흐름을 인식하고 상호 작용할 수 있도록 구현한다[11]. Dialogflow의 엔티티 인식 시스템은 다음과 같다. 챗봇이 사용자의 맥락을 파악하지 못하여 오류가 발생할 수 있으므로 챗봇의 정확도를 높이기 위하여 참조 값의 동의어를 다양한 케이스로 학습시킨다. SW-EDU 봇의 제어문(Control Statement) 엔티티는 TOPIC_NAME, STUDY_TYPE 등, 두 가지로 분류한다. TOPIC_NAME에는 사용자가 학습 주제를 선택할 때 입력할 수 있는 예상 답변을 지정한다. STUDY_TYPE은 학습하고 싶은 주제를 정한 후 사용자가 개념 공부를 할 것인지, 문제 풀이를 할 것인지 결정할 수 있는 예상 답변을 지정한다.
이와 더불어, Dialogflow는 예측 가능한 모든 상황에 각각 인텐트를 설정해주어야 한다. 사용자에게 자연스러운 답변을 제공하기 위하여 충분한 양의 훈련 문장 (Training Phrases)을 입력하여 챗봇을 학습시킨 후, 알맞은 답변을 출력할 수 있도록 설계한다. 다음 단계로 사용자의 의도에 부합하는 답변을 제공하면서 자연스럽게 대화를 진행하기 위해서는 SW-EDU 봇이 대화의 맥락을 인식하고 적절한 다음 대화 의도를 매칭시키도록 구현한다.
Kakao i Open Builder의 개체 분류는 작업자가 직접 정의하는 ‘나의 엔티티’와 자주 사용하는 엔티티를 미리 정의해놓은 ‘시스템 엔티티’로 나누어진다. ‘나의 엔티티’에서는 챗봇이 인식하여야 하는 주요 용어를 대표 엔트리로 설정할 수 있으며, 참조 값에 대한 동의어를 추가할 수 있다[12]. Kakao i Open Builder 역시 Dialogflow와 동일한 엔티티인 TOPIC_NAME, STUDY_TYPE를 사용한다. Kakao i Open Builder에서는 블록 단위로 의도를 파악할 수 있다. 블록은 사용자의 의도를 기본 단위로 나뉘며, 인텐트라고도 부른다. 하지만 다른 API에서의 인텐트와는 달리 블록 당 한 개의 의도를 표현한다. 사용자 발화가 챗봇으로 유입될 경우, 블록 내부에서 사전에 등록된 발화 내용을 기반으로 사용자 의도가 파악되고 사용자 질의 의도와 일치하는 한개의 블록이 최종 추출된다.
SW-EDU 봇은 사용자의 발화에 따라 챗봇과의 대화 흐름이 바뀔 수 있다. 자연스러운 대화를 유지하기 위하여 6 가지 다양한 응답 유형 중 텍스트형을 선택하였다. 또한, 챗봇과의 대화 중 주제와 어긋나는 대화를 하는 불필요한 상황을 통제하기 위하여 응답 내에 버튼 기능을 설정한다.
동일한 설계 원리로 구현하였으나, Kakao i Open Builder와 Dialogflow를 이용하여 각각 구현된 SW-EDU 봇에는 눈에 띄는 몇 가지 차이점들이 존재한다. Dialogflow를 이용하여 챗봇을 제작하였을 경우, 인텐트 개수가 약 130개에 달하며 비효율적인 시스템 작동을 초래한다. 하지만 Kakao i Open Builder는 블록형 응답을 통하여 중복된 인텐트를 제거함으로써 Dialogflow로 제작 시 요구되는 인텐트 개수를 큰 폭으로 감소시킬 수 있다. 이로써 Dialogflow를 활용할 당시 발견되었던 시나리오 진행을 위해 불필요한 질문을 반복하여야 하는 문제를 해결할 수 있다. 챗봇을 배포하는 과정에서도 차이를 발견할 수 있다. Dialogflow에서 제작한 SW-EDU 봇을 외부 서버와 연결한 후 카카오톡 챗봇 연동 기능인 스킬 형태를 통해 배포하고자 하였으나, 현재 스킬 서비스는 카카오톡의 자체 챗봇 빌더(Kakao i Open Builder)의 공개 후 Dialogflow와의 연동이 중단된 상태이다. 따라서 대안으로 다른 채팅 플랫폼인 LINE을 Dialogflow와 연동하여 배포하였다. Kakao i Open Builder에서 제작한 SW-EDU 봇은 카카오톡에 배포하였다.
Ⅲ. 구현 및 사용성 평가
1. SW-EDU 봇 구현
사용자는 간단한 챗봇의 질문에 따라 학습하고자 하는 유형을 선택할 수 있다. 학습 유형은 개념 학습과 문제 풀이 두 가지로 분류하고, 사용자는 원하는 방식으로 자유롭게 답변한다. 답변이 큰 틀에서 벗어나지 않는 이상 SW-EDU 봇은 사용자의 답변을 올바르게 인식할 수 있다. 카카오톡 사용자는 블록형 응답을 통해 원하는 유형을 선택할 수 있다. 학습 유형 선정 후 사용자가 원하는 학습 주제를 선택할 수 있도록 하였다. 학습 주제는 네가지로 분류하고, 사용자가 원하는 주제를 선택하면 먼저 선택한 학습 유형을 바탕으로 선택한 항목에 대한 학습이 진행된다. 그림 2를 통하여 빌더 별 개념 학습과 문제 풀이를 선택하였을 경우의 실제 사용 환경을 확인할 수 있다.
그림 2. 학습 주제 선정 및 학습 진행 테스트 (a) LINE 환경에서의 개념 학습 (b) KakaoTalk 환경에서의 문제 풀이
Fig. 2. The test cases of topic selection and learning process (a) Conceptual learning of LINE (b) Problem solving with KakaoTalk
사용자는 해당 주제에 대한 개념 학습을 진행한 뒤 추가 학습 여부를 선택하여 문제 풀이를 진행할 수 있다. 문제 풀이는 여러 문제를 이어서 풀이할 수 있도록 구현 하였으며, 풀이 중에 개념 복습을 원하거나 문제에 대한 힌트를 원할 경우 각각의 컨텐츠를 알맞게 제공할 수 있도록 제작하였다. 추가 학습까지 모두 진행한 사용자는 SW-EDU 봇에게 자신의 의지를 전달하고 챗봇을 종료할 수 있다. 서비스 종료 후 사용자가 새로운 학습을 시작하고자 한다면, 채팅방을 재접속할 필요 없이 사용자는 SW-EDU 봇에게 원하는 바를 요청할 수 있다.
2. 빌더 비교 분석 및 선정
위에서 설명한 두 가지 빌더로 제작된 챗봇 시스템은 자체 평가 기준을 통하여 다음과 같이 그 특성을 비교한다. 첫 번째로, 동일한 상황(for 문의 개념 학습을 선택하고 끝내는 상황)을 가정하여 Dialogflow(LINE)와 Kakao i Open Builder(Kakaotalk)의 평균 응답 속도를 측정하였다. Dialogflow의 평균 응답속도는 4.03초인 반면, Kakao i Open Builder의 평균 응답속도는 1.87초를 기록하였다. 두 번째로, 개발 API 환경 측면에서 Kakao i Open Builder는 블록형 응답, 바로 연결 응답 등 다양한 타입을 제공하는 반면 Dialogflow는 이러한 기능을 제공하지 않고 있다. 세 번째로, 사용자 질의 인식률에 있어서 Dialogflow는 길고 복잡한 문장에서도 사용자의 의도를 해당 인텐트에 정확하게 일치시키고 있으나, Kakao i Open Builder는 문장이 길어질수록 인식률이 떨어지는 성능을 보인다. 네 번째로, 외부 서버와의 연동성에 있어서 Kakao i Open Builder는 스킬 서버 기능을 통하여 데이터베이스 연동 등 다양한 부가 기능을 추가할 수 있으나, Dialogflow는 유료화로 인하여 추가하는데 어려움이 있다. 마지막으로, 접근성에 있어서 사용자들에게 더 친숙한 채팅 플랫폼인 카카오톡을 통하여 서비스를 제공할 수 있는 Kakao i Open Builder가 Dialogflow보다 적합하다고 판단하였다. 다음과 같은 평가 과정을 통하여 사용성 평가를 위한 SW-EDU 봇은 Kakao i Open Builder를 이용하여 구현한 모델로 채택하였다.
3. 사용성 평가
사용성 평가는 다음과 같은 절차로 진행한다. 먼저, 클라우드 서비스를 활용한 웹 기반 코딩 도구인 ‘구름 (Goorm)’을 비교군으로 선정하고, 동일한 과제를 제시한 후 SW-EDU 봇과 구름에서 각각 수행하도록 한다. 이를 통하여 사용자는 두 플랫폼이 어떠한 시스템으로 학습을 지원하는지 경험하고 사용성을 평가하는 동시에, 사용자가 기능을 사용하는 데 있어 연구자의 개입을 줄여 객관성을 높일 수 있도록 하였다. 다음으로, 비교군과 SW-EDU 봇의 사용성 평가를 위하여 설문 조사를 시행하였다. 설문 문항의 사용성 평가 항목은 학습 환경 만족도, 개념 학습, 문제 풀이 등, 총 세 가지로 선정하였고, 각 지표당 4 문항씩 5점 리커트 척도로 제작하였다. 본 논문에서 구현한 챗봇 모델은 SW 교육을 처음으로 경험하는 청소년을 대상으로 하기에 학습 기간이 1년 미만인 학습자를 평가 대상으로 선정하였다. 또한 비교를 위하여 SW 관련 전공을 이수한 성인 4명을 대조군으로 선정한 후, 사용성 평가를 진행하였다.
설문 조사를 통하여 나타난 SW-EDU 봇에 대한 학습자의 응답 결과는 표 1에 제시한다.
표 1. 사용성 평가 결과
Table 1. Usability assessment results.
표 1의 결과에 의하면, 각 평가 항목에서 SW 관련 전공자에 비해 초보 학습자의 평균 점수가 다소 높다. SW 관련 지식을 충분히 숙지하고 있는 전공자와 달리 학습경험이 부족한 초보 학습자는 처음으로 받아들이는 정보의 양이 상대적으로 많다. 새로운 정보의 양이 많을수록 학습에 대한 흥미도는 높아지기 때문에[13] 위와 같은 세가지 척도에서 SW 전공자보다 초보 학습자의 평균이 높은 것으로 판단된다.
또한, SW-EDU 봇의 사용성에 대한 질적 분석 결과는 다음과 같다. 비교군인 구름 서비스에 비하여 SW-EDU 봇은 네 가지 측면에서 더 긍정적인 응답 결과를 보여준다. 첫째, 공간적 제약을 덜 받음으로써 접근성 측면에서 좋은 평가를 받았다. 둘째, 즉각적인 응답을 통하여 상호 작용하기 때문에 학습자의 흥미도를 유발하였다. 셋째, 이모티콘 등의 구어체를 활용하여 학습자에 쉽고 재미있는 학습 콘텐츠를 제공하였다. 넷째, 시나리오 구조를 통하여 재학습을 유도하여 더 많은 정보를 제공받고, 구체적인 항목을 복습함으로써 학습의 자기 주도성을 고취시킨다. 따라서 SW 학습 전략을 습득하는데 효과적이었다는 평가를 받았다. 위와 같은 측면에서 두 그룹 모두 전반적으로 챗봇을 긍정적으로 평가하고 있음을 확인하였다.
Ⅳ. 결론
본 논문에서는 의도 파악 방법 면에서 통계 기반의 Dialogflow와 유사도 기반의 Kakao i Open Builder의 사용성 비교를 통하여 교육용 챗봇 제작에 적절한 빌더를 찾아낸 다음, 이를 기반으로 SW 교육용 챗봇 모델인 SW-EDU 봇을 제작하고 그 특성을 분석하였다. 동일한 시나리오에서 Dialogflow에 비하여, 평균 응답속도, 개발 API 환경, 외부 서버 연동성, 접근성 측면에서는 Kakao i Open Builder가 더 높은 평가지표를 보여준다. 따라서, 교육용 챗봇 모델 제작 프레임워크로 Kakao i Open Builder를 채택하여 챗봇 시스템을 구현한 후에 배포하였다.
SW-EDU 봇을 통해 학습자는 접근성이 용이한 플랫폼에서 편리하게 학습할 수 있다. 또한 SW-EDU 봇의 즉각적인 응답을 통하여 필요한 정보를 신속하게 제공받을 수 있다. 이러한 서비스 제공을 기반으로 SW-EDU봇이 학습 보조 도구로서 역할을 충분히 수행할 수 있을 것으로 기대한다.
하지만 정해진 흐름 내에서의 답변만을 제공하기에 사용자 예상 질문 범위를 벗어난 항목이 입력된 경우 적절한 응답을 제공하지 못한다는 한계가 존재한다. 사용자의 응답 데이터를 저장하고, 응답 분석을 통해 학습 능력을 측정하여 챗봇이 사용자 수준별 맞춤 학습을 구현한다면 학생 스스로 SW를 탐구하고 알고리즘을 설계하여 산출물을 개발하는 개발중심 모델로서 활용될 수 있다[14]. 또한 SW-EDU 봇이 소프트웨어 교육 분야에 긍정적인 영향을 끼칠 수 있을 것으로 기대한다.
References
- Jung-Sook Sung, Soo-Hwan Kim and Hyun-Cheol Kim, "Analysis of Art and Humanity Major Learners' Features in Programming Class," The Korean Association of Computer Education, Vol. 18, No. 3, pp. 25-35, 2015.
- Chul-Hyun Lee, "Qualitive Analysis of the Difficulties of EPL Programming Beginner Learners," The Journal of Korean Practical Arts Education, Vol. 25, No. 3, pp. 129-145, 2019. DOI: https://doi.org/10.29113/skpaer.2019.25.3.008
- Ae-Ryon Lim, "A Study on Effectiveness of Online Interactive Cinematherapy Course Due to COVID-19: Emotional Intelligence and Empathic Ability," Journal of the Korea Academia-Industrial Cooperation Society, Vol. 22, No. 2, pp. 57-66, 2021 DOI: https://doi.org/10.5762/KAIS.2021.22.2.57
- Mattias Wahde and Marco Virgolin, "Conversational Agents: Theory and Applications," Bachelor Thesis, Cornell University, 2022. DOI:https://doi.org/10.1080/10447318.2022.2081762
- Sean Park, "How Is AI Technology Being Used in Qanda?," https://blog.mathpresso.com/
- Hyung-Doo Lee, "Global Edu-Tech Speak, Starts Speaking in English with Phoneme Recognition AI," https://pdf.etnews.com/pdf_today.html?ymd=20201117#p11
- Emil Protalinski, "How Duolingo Uses AI in Every Part of Its App," https://venturebeat.com/2020/08/18/how-duolingo-uses-ai-in-every-part-of-its-app/
- Shahzad Qaiser and Ramsha Ali, "Text Mining: Use of TF-IDF to Examine the Relevance of Words to Documents," International Journal of Computer Applications, Vol. 181, pp.25-29, 2018. DOI: https://doi.org/10.5120/ijca2018917395
- Kevin Patrick Murphy, "Naive Bayes Classifiers," University of British Columbia, Vol. 18, No. 60, pp.1-8, 2006.
- Su-Min Kim, "Comparative Study on the Usability of the Google and Kakao Chatbot Builders," Master Thesis, Konkuk University, 2019.
- Google, "Dialogflow," https://cloud.google.com/dialogflow?hl=ko#section-1
- KakaoTalk, "Kakao i Open Builder," https://i.kakao.com/docs
- Thomas Andre and Mark Windschitl, "Interest, Epistemological Belief, and Intentional Conceptual Change." In Gale M. Sinatra & Paul R. Pintrich (eds.), pp.179-203, 2003. DOI: https://doi.org/10.4324/9781410606716-13
- Sean-Joo Kim, Seok-Ju Chun, "A Meta-Analysis of the Variables in Data Science Education for K-12 Students," The Journal of Korean Institute of Information Technology, Vol. 21, No. 1, pp. 11-20, 2023. DOI:http://dx.doi.org/10.14801/jkiit.2023.21.1.11