Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 21, No. 12, pp.2125-2133
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 31 Dec 2020
Received 22 Oct 2020 Revised 19 Nov 2020 Accepted 19 Nov 2020
DOI: https://doi.org/10.9728/dcs.2020.21.12.2125

얼굴 합성과 추천 시스템을 이용한 사용자 친화적 한국어 회화 학습 앱 개발

박세은1 ; 윤재희1 ; 최세영1 ; 하수경1 ; 이경미2, *
1덕성여자대학교 컴퓨터공학과 학사과정
2덕성여자대학교 컴퓨터공학과 교수
User-friendly Korean conversation learning application using face swap and personalized recommendation
Se-Eun Park1 ; Jae-Hee Yoon1 ; Se-Young Choi1 ; Su-Gyeong Ha1 ; Kyoung-Mi Lee2, *
1Bachelor's Course, Department of Computer Science, Duksung Women’s University, Seoul 01369, Korea
2Professor, Department of Computer Science, Duksung Women’s University, Seoul 01369, Korea

Correspondence to: *Kyoung-Mi Lee Tel: +82-2-901-8348 E-mail: kmlee@duksung.ac.kr

Copyright ⓒ 2020 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.

초록

최근 한류에 대한 관심이 고조되면서 한국 문화를 통해 한국어에 관심이 있는 일반 대중이 급격하게 증가하고 있다. 그러나 영어 회화에 비해 스마트 폰으로 학습할 수 있는 한국어 회화 앱의 개발은 아직 활발히 이루어지지 못하고 있다. 본 논문에서는 스마트 폰을 통해 사용자 친화적으로 한국어 회화를 학습할 수 있는 앱을 제안한다. 제안하는 앱은 딥러닝을 이용하여 일반 한국어 회화 강사를 사용자가 선호하는 연예인의 얼굴로 합성한 학습동영상을 제공한다. 또한 사용자의 연령과 한국 거주 기간을 바탕으로 퍼지 논리를 이용하여 사용자의 학습 레벨에 맞는 회화 스크립트를 추천하고, 이후 아이템 협업 필터링을 이용하여 사용자의 관심분야에 맞는 스크립트를 추천한다.

Abstract

As interest in the Korean Wave has recently increased, the number of ordinary people interested in Korean language through Korean culture is rapidly increasing. However, compared to English conversation apps, Korean conversation apps that can be learned with a smartphone have not been actively developed. In this paper, we propose a user-friendly application for learning Korean conversation through a smart phone. The proposed application provides learning videos in which a Korean conversation instructor's face is swapped with the user's favorite celebrity face by deep learning. In addition, the application recommends conversation scripts that fit the user's learning level using fuzzy logic based on the user's age and duration of stay in Korea, and then recommends scripts that fit the user's interests using item-based collaboration filtering.

Keywords:

Conversation application(app), deep learning, face swapping, item based collaborative filtering, recommender system

키워드:

회화 앱(어플), 딥러닝, 얼굴 합성, 아이템 기반 협업 필터링, 추천 시스템

Ⅰ. 서 론

현재 트와이스, BTS 등 한국 아이돌들의 글로벌 진출로 인한 K-Pop의 위상이 점점 고조되면서 한국에 대한 해외 관심이 높아지고 있다. 이런 한국에 대한 관심은 다양한 유형으로 확산하는 과정에서 외국인들이 한국 문화를 매체로 한국어 학습에 대한 관심을 가지게 만들었다[1]. 기존에 한국어 학습 수요층이 한국학 학자, 외국인 유학생, 재외동포 등의 특수 계층이였다면, 최근에는 한국 문화를 통해서 한국어에 관심이 있는 일반 대중으로 학습자 수요층이 급격하게 증가하고 있다.

이런 흐름에 따라 한국어 교육의 대표 기관인 세종학당재단은 2007년 수강생 740명과 함께 시작하였지만 2019년에는 전 세계에서 7만 명이 넘는 학생들에게 한국어와 한국문화를 보급하였다(그림 1)[2]. 온라인(누리-세종학당)을 통한 보급도 꾸준히 늘어 2018년에는 16.7만여 명이 참여했다. 2020년에는 ‘온라인 세종학당(www.iksi.or.kr)’ 등을 통해 비대면 화상수업을 지원하여 전 세계 세종학당 학생들이 코로나19 확산 방지 조치 속에서도 차질 없이 한국어를 학습할 수 있도록 하였다.

Fig. 1.

King Sejong Institute's annual performance

최근에는 스마트 폰이 대중화되면서 한국어 학습을 위한 앱(application) 개발이 시도되고 있다. 휴대가 간편한 스마트 폰의 학습 애플리케이션은 시간, 장소에 구애받지 않고 자유롭게 학습할 수 있다는 장점이 있다. 특히 단순한 어법, 단어가 아닌 실생활에서 사용 가능한 회화의 중요성이 높아짐에 따라 전화 통화 교육, 영어 회화 학습 앱 등 다양한 수단으로의 회화 앱의 인기가 급부상하고 있다. 그러나 영어에 비해 한국어 회화 관련 앱은 그 수가 아직은 매우 적고, 단어와 짧은 문장 중심으로 학습이 진행되어 실제 상황에서 한국인과 자연스러운 대화가 어렵다는 단점이 있다.

본 논문에서 제안하는 한국어 학습을 위한 회화 앱은 기존의 한국어 회화 학습 앱의 문제점을 극복하고자 한국어 회화를 중심으로 학습을 진행하며, 사용자가 관심 있는 분야를 중심으로 상황 스크립트를 추천한다. 또한, 자신이 좋아하는 연예인의 얼굴이 합성된 인물과의 회화 교육 서비스를 진행하여 마치 연예인과 직접 대화하는 듯한 상황을 제공하여 사용자로 하여금 생동감을 느낄 수 있도록 하며, 낯선 언어에 대한 거부감을 낮춰줄 수 있다.

본 논문의 구성은 다음과 같다. 2장에서는 기존의 회화 관련 앱을 살펴보고, 3장에서는 사용자 친화적인 학습 동영상 생성 방법을 제안한다. 강사의 얼굴색을 합성하고자하는 연예인의 얼굴색에 맞게 조정하고 딥러닝을 이용하여 얼굴을 합성한다. 4장에서는 퍼지 논리와 아이템 기반 협업 필터링을 이용한 사용자 맞춤형 학습 스크립트 추천 알고리즘을 제안한다. 제안하는 사용자 친화적 한국어 회화 앱의 개발 결과를 5장에서 설명하고, 6장에서는 향후 연구 및 결론을 맺는다.


Ⅱ. 관련 연구

논문 [3]은 회화 위주의 한국어 학습 앱 개발은 주제와 상황에 따른 동영상 강의를 효과적으로 앱에 탑재하기 위한 기술적 요소가 반영되어야 하고, 단계별 학습구성에 맞는 테스트 환경이 구축되어야 한다고 제안했다. 그러나 기존의 한국어 학습 앱은 한국어능력시험(TOPIK)을 대비하기 위한 목적이거나 단어, 문법, 발음 등을 학습하는 형태로만 제공되고 있다. 세종학당에서 출시한 ‘세종한국어’ 앱의 회화를 제외하고는 회화 중심의 상황이나 주제를 고려한 앱 개발은 아직 이루어지 못하고 있다.

본 논문에서는 회화 앱 개발을 위한 관련 연구로 기존 한국어 회화 앱인 ‘세종 한국어(Sejong Korean)’[4]와 3개의 대표적인 영어 회화 앱인 ‘케이크(Cake)’[5], ‘스픽(Speak)’[6], ‘스픽나우(SpeakNow)’[7]의 주요 기능을 비교분석하였다(그림 2). 표 1은 회화 학습 앱의 주요 기능을 상황별 대화, 음성 인식, 비디오 제공, 맞춤형 학습 추천 및 사용자 스크랩 / 이력 제공 등 5 가지로 설정하고 기존 4개의 앱과 제안하는 앱을 비교분석한 내용을 보여주고 있다.

Fig. 2.

Existing conversation applications : (a) Sejong Korean[4], (b) Cake[5], (c) Speak[6] and (d) SpeakNow[7]

Comparative analysis by 5 main functions for conversation applications

한국어 회화 앱 ‘세종 한국어’는 5가지 기능 중 상황별 대화와 음성 인식 기능만 제공하고 있다[4]. 3개의 영어 회화 앱은 상황별 대화, 음성 인식 외에도 비디오 및 사용자 스크랩 / 이력을 제공한다. 비디오 제공에 있어서, ‘케이크’는 대화 주제와 관련된 비디오만 제공하며 문자 및 대화 형식으로 대화하는 것은 불가능하다[5]. ‘스픽’은 실제 교사의 1 : 1 비디오를[6], ‘스픽나우’는 AI로 만든 가상 인물의 1 : 1 비디오를 제공한다[7]. ‘스픽나우’는 맞춤형 학습 추천도 제공하여 주요 기능 5가지를 모두 제공하고 있다.

본 논문에서 제안하는 앱은 한국어 회화 학습 앱으로 상황별 대화, 음성 인식, 비디오 제공, 맞춤형 학습 추천 및 사용자 스크랩 / 이력 제공 등 5가지 주요 기능을 모두 제공하여 사용자의 한국어 회화 학습에 편의를 도울 수 있다. 또한 사용자가 좋아하는 연예인의 얼굴이 합성된 1:1 비디오를 제공하여 사용자에게 어색함을 줄이고 학습의 흥미를 유지할 수 있도록 한다.


Ⅲ. 사용자 친화적인 동영상 생성

본 논문에서는 회화 앱 사용자에게 친화적인 동영상을 제공하기 위해서 자동 얼굴색 조정, 딥러닝을 이용한 연예인 얼굴 합성, 대화 상황에 맞는 배경 합성 등을 수행했다.

3-1 자동 얼굴색 조정 알고리즘

본 장에서는 강사가 등장하는 동영상이 아닌 내가 좋아하는 연예인과 함께 동영상을 생성하기 위해 영상 합성 작업을 실행한다. 그러나 강사의 동영상과 연예인 (동)영상은 서로 다른 환경에서 촬영되어서 이를 그대로 합성하면 자연스럽지 못한 결과 영상을 만들게 되고 오히려 사용자에게 거부감을 유발시킬 수 있다. 그림 3은 강사의 동영상과 연예인 (동)영상을 그대로 합성한 결과를 보여주는데, 두 영상의 밝기와 두 사람의 얼굴색의 차이 때문에 인위적으로 얼굴을 합성해 놓은 것처럼 선명한 선이 생기고, 턱 부분에 이질감이 들 정도의 합성 오류가 생기는 문제를 보여주고 있다. 따라서 강사의 얼굴색을 대상 연예인의 피부 톤과 비슷하게 맞춰주는 전처리 과정이 필요하다. 이런 얼굴색 조정 과정은 두 인물의 전체적인 얼굴색을 비슷하게 만들어주어 더 자연스러운 얼굴 합성이 가능하도록 한다.

Fig. 3.

Face swap results without face color adjustment

먼저 픽셀 색 조정을 위해 강사 동영상과 연예인 (동)영상에서 얼굴 영역을 검출한다. 검출된 얼굴은 HSV(hue, saturation, value) 색 공간으로 변환되어 밝기값(v)의 평균을 구한다. 강사의 얼굴 픽셀 밝기값은 연예인 얼굴 평균 밝기값과 강사 얼굴 평균 밝기값의 차이만큼을 조정된다. 이는 식 (1)과 같다.

vt=vt+avgvs-avgvt(1) 

여기서 vtvs 는 각각 강사 동영상과 연예인 (동)영상에서 픽셀의 밝기값(v)을 의미하며, avg(vt)와 avg(vs)는 각각 강사 얼굴과 연예인 얼굴의 밝기값 평균을 말한다.

그림 4는 얼굴색 보정 전과 후의 모습을 보여주고 있다. 그림4(b)는 배경을 제외하고 얼굴 전체적으로 색이 밝게 조정된 것을 보여주고 있다.

Fig. 4.

Result of face color adjustment : (a) before color adjustment and (b) after color adjustment

3-2 딥러닝을 이용한 얼굴 합성 알고리즘

지난 20년 동안 얼굴 합성을 이용하여 가상의 얼굴을 조작하는 연구에 대한 관심이 빠르게 증가했으며[8,9], 대표적인 알고리즘으로 Face2Face[10], FaceSwap[11], DeepFakes[12], NeuralTextures[13] 등이 있다. Face2Face와 FaceSwap은 영상처리 기반 방식인 반면, DeepFakes 및 NeuralTextures는 학습 기반 방식이다. 네 가지 방법 모두 원본 및 대상 동영상의 쌍을 입력으로 하고, 최종 출력은 합성된 이미지로 구성된 동영상이다. 본 논문에서는 원본 동영상은 강사 모델을 섭외하여 회화 스크립트 별로 대화하는 동영상을 모두 촬영하여 획득했으며, 대상 동영상은 유튜브에서 얼굴이 클로즈업된 연예인 동영상들을 크롤링하여 3분가량의 동영상을 확보했다.

본 장에서는 강사 동영상(A)과 연예인 동영상(B)의 얼굴 합성을 위해 딥러닝을 이용한 DeepFakes faceswap 깃허브(github) 코드를 이용하여 얼굴 합성을 실행했다[11]. DeepFakes 기술은 인코더와 디코더를 합친 오토 인코더(auto-encoder)를 기반으로 하고 있다. 인코더(encoder)는 각 영상에서 얼굴을 추출하여 입력 값으로 넣어주면 영상들을 표현(representation) 벡터로 변환한다. 표현 벡터에는 입력 영상에서 눈썹의 위치, 입술의 모양, 눈의 크기 등의 특징들이 저장된다. 디코더(decoder)는 압축된 표현 벡터를 다시 얼굴 영상으로 되돌리는 역할을 한다.

DeepFakes 모델은 학습 과정에서 두 영상이 ‘공통된 인코더(shared encoder)’를 사용하고, 서로 다른 디코더를 이용하도록 오토 인코더를 변형하여 이용한다(그림 5(a)). 이렇게 하면 인코더에서는 두 얼굴에서 공통적인 특징들을 효과적으로 추출할 수 있게 되고, 두 얼굴에서 서로 다른 특징들은 디코더에서 구분하여 이미지를 복원하게 된다.

Fig. 5.

DeepFakes faceswap model[12] : (a) training and (b) face swapping

학습이 끝나고 강사 동영상(A)을 인코더에 넣어 추출된 특징들의 표현 벡터를 다시 연예인 동영상(B)의 디코더에 넣는다(그림 5(b)). 여기서 해당 위치에 맞게 연예인 얼굴이 가지는 정체성이 강사 얼굴에 입혀지게 된다. 즉, 해당 인물이 누구인지를 알려주게 되는 정체성 정보는 디코더가 처리하게 되어 얼굴 합성 동영상이 생성된다. 그림 6은 연예인 청하의 얼굴과 강사의 얼굴을 합성한 결과를 보여주고 있다. 3-1절에서 설명한 얼굴색 조정의 유무에 따른 합성 영상의 차이를 확인할 수 있다.

Fig. 6.

Result of face swap : (a) without color adjustment and (b) with color adjustment

3-3 현장감 부여를 위한 배경 합성 알고리즘

회화 동영상은 주로 스튜디오와 같이 단일한 색상의 배경을 가진 곳에서 촬영이 이루어진다. 대화 상황에 맞는 현장감을 부여하고자 사람을 제외한 부분에 배경 이미지를 합성했다.

본래 촬영한 회화 동영상(그림 7(a))으로부터 사람만을 검출해내기 위해 배경색에 맞춰 이진화를 진행한다(그림 7(b)). 다음은 OpenCV의 findContour 함수를 이용해 사람의 윤곽선을 찾아야 하는데, findContour 함수가 영상 속의 모든 윤곽선을 찾다보니, 사람의 윤곽선뿐만 아니라 사람 내부까지 여러 개의 윤곽선이 그려지게 된다(그림 7(c)). 본 장에서는 사람의 몸체에 대한 윤곽선을 찾기 위해 영상 테두리에서 사람의 윤곽선 테두리를 뺀 면적이 가장 큰 영역을 배경으로 설정하였다(그림 7(d)). 배경으로 선택된 영역으로 마스크(mask) 기법을 통해 배경 마스크(그림 7(e))와 사람 마스크(그림 7(f))를 만들고, 두 마스크를 합성하여 배경이 합성된 동영상이 생성된다(그림 7(g)).

Fig. 7.

Background synthesis algorithm : (a) raw image, (b) binarized image, (c) contour image by findContour, (d) person contour image, (e) background mask, (f) person mask and (g) result image


Ⅳ. 사용자 맞춤형 학습 스크립트 추천 알고리즘

사용자 맞춤형 서비스를 제공하기 위해서 사용자에게 적합한 정보를 제공해주는 추천 시스템(Recommender system)의 구현이 필요하다.

대부분의 추천 알고리즘은 사용자의 정보나 과거 활동 기록이나 항목선호도를 바탕으로 사용자에게 적합한 정보를 제공한다[14]. 그러나 이러한 추천 시스템은 새로운 사용자처럼 정보나 활동 내용이 충분하지 못한 경우에는 적절한 추천이 어렵다는 cold-start 문제를 가지고 있다. 본 논문에서는 새로운 사용자의 연령과 체류 기간을 퍼지화하여 학습 스크립트를 추천하고, 학습이 진행되면서 모아진 정보를 바탕으로 아이템 기반 협업 필터링을 사용하여 학습 스크립트를 추천하는 2단계 추천 알고리즘을 제안한다.

4-1 퍼지 알고리즘을 이용한 관심 카테고리 추천

본 장에서는 새로운 사용자에게 한국어 학습 스크립트를 추천하기 위해 사용자의 연령과 한국 체류 기간을 이용하여 사용자의 수준과 관심에 맞을 법한 상황 시나리오를 추천하는 퍼지 알고리즘을 제안한다. 각종 빅데이터 분석 결과에 따르면 세대별 관심사의 차이는 분명하게 존재하는 것으로 나온다. 또한, 한국 체류 기간은 한국어에 얼마나 노출되어 있었는지에 대한 기초적인 지표로 활용될 수 있다.

그림 8(a, b)은 연령(세대)과 한국 체류 기간에 대한 퍼지 소속 함수를 보여주고 있다. 세대는 연령에 따라 아이(child), 청(소)년(youth), 중년(middle-age), 노년(elderly)으로 표현되고, 체류 기간은 없음(zero), 짧음(short), 중간(midium), 오래됨(long)으로 표현된다.

Fig. 8.

Fuzzy membership functions : (a) on ages(generation), (b) on stay-duration, and (c) on study-level

연령과 한국 체류 기간으로 사용자에게 적합한 스크립트를 추천해주어야 하는데, 본 논문에서는 ‘국제통용 한국어 표준 교육과정’을 개발하기 위해 참조했던 유럽공통참조기준(CEFR), 국제한어교학통용과정, 한국어능력시험(TOPIK) 등을 바탕으로 4단계 등급으로 나누어 학습 레벨을 정한다[15]. 그림 8(c)은 학습 레벨에 대한 퍼지소속 함수로, 16개의 세부 학습 레벨에 따라 초급(beginner), 중급(intermediate), 고급(advanced), 최상급(native)의 4 단계로 표현된다. 그림 9는 각각 4개로 표현된 연령(세대)과 체류 기간에 대해 학습 레벨을 출력하는 16개의 퍼지 규칙을 보여주고 있다.

Fig. 9.

Fuzzy rules on study-level by ages(generation) and stay-duration

본 논문에서는 학습 스크립트를 일상(Lifestyle), 여행(Travel), 쇼핑(Shopping), 교육(Education), 여가(Hobby &Leisure), 오락(Entertainment), 업무(Work) 등 7개의 관심 분대해 논문 [15]에서 주어진 목표에 따라 7개의 관심 분야로 나누어 제공하고 있다.

표 2는 4단계 등급의 학습 레벨에 대해 논문 [15]에서 주어진 목표에 따라 7개의 관심 분야를 매핑한 결과를 보여주고 있다.

Mapping between goals and interests

결과적으로 새로운 사용자는 나이와 체류 기간이라는 정보를 이용한 퍼지 이론을 바탕으로 하여 7개의 학습 스크립트 종류 중 하나를 추천 결과로 받아 학습 스크립트들을 확인하고 바로 이용할 수 있다. 그림 10은 퍼지 이론에 의해 추천된 결과를 보여주고 있다. 그림 10(a)은 나이가 15세이며 체류 기간이 3개월인 경우, 그림 10(b)은 나이가 50세이며, 체류 기간이 18개월인 경우의 추천 결과를 보여주고 있다.

Fig. 10.

Recommended results by fuzz : (a) 15 years old and 3 months of stay and (b) 50 years of age and 18 months of stay

4-2 아이템 기반 협업 필터링을 이용한 학습 스크립트 추천

협업 필터링(collaborative filtering)은 추천 시스템에서 널리 사용되고 있는 추천 방법으로, 본 장에서는 아이템 기반 협업 필터링(Item based Collaborative Filtering) 방법을 사용한다. 아이템 기반 협업 필터링은 사용자가 아이템 A를 선호한다면 아이템 A와 비슷한 아이템 B도 선호할 것이라는 가정에 기반을 둔다[16]. 본 논문에서 아이템은 관심 분야로 사용자가 학습을 마칠 때마다 학습했던 스크립트의 관심 분야를 테이블에 누적으로 횟수를 기록하도록 한다. 사용자가 누적 학습한 횟수를 사용자의 행동 양식으로 판단하고 이를 기반으로 사용자가 기존에 학습했던 관심 분야와 유사한 관심 분야들을 추천하게 된다.

이 때, 아이템 간의 유사도, 즉 관심 분야들 간의 유사도를 계산해야하는데, 본 논문에서는 식 (2)과 같이 코사인 유사도를 이용하여 계산한다.

cosΘ=ABA B=i=1nAi×Bii=1nAi2×i=1nBi2(2) 

여기서 A와 B는 아이템을 의미하며, 모든 사용자가 해당 아이템, 즉 학습 스크립트를 학습한 횟수들의 벡터를 나타낸다. 코사인 유사도 cos(Θ) 값이 1에 가까울수록 두 아이템 사이의 유사도가 높음을 나타내고, 자신과의 유사도는 1이 된다. 모든 관심 분야와의 코사인 유사도를 계산하고, 자기 자신을 제외한 관심 분야 중 가장 큰 유사도를 갖는 관심 분야의 학습 스크립트들을 추천한다.


Ⅴ. 제안하는 사용자 친화적 한국어 회화 앱 개발

5-1 제안하는 한국어 회화 앱 설계

제안하는 한국어 회화 앱 시스템은 서버로 AWS EC2 우분투 서버를 사용한다(그림 11). TensorFlow와 python환경에서 DeepFakes faceswap을 이용하여 얼굴 합성을 한 후, OpenCV를 통해 영상 배경합성 작업을 거쳐 Amazon s3에 동영상 데이터를 저장한다. 데이터베이스는 MySQL를 사용하여 구축하였고, 안드로이드 스튜디오를 통해 프론트엔드 개발을 하였다. 프론트엔드 개발에서 필요한 REST API작업은 spring 프레임워크에 서 진행하였으며, 사용자 맞춤형 학습 추천 알고리즘은 플래스크(Flask)에서 작업하여 제공한다. 또한 사용자의 회화 음성인식을 위해 구글 클라우드의 스피치 API를 이용한다.

Fig. 11.

Configuration map of the proposed system

5-2 제안하는 회화 앱 개발 결과

그림 12는 본 논문에서 제안하는 사용자 친화적 한국어 회화 앱 개발 결과를 보여주고 있다. 제안하는 앱을 처음 사용하는 사용자는 적합한 학습 레벨을 추천받기 위해 자신의 나이와 체류 기간을 입력한다(그림 12(a)). 또한, 회화 앱을 통해 학습 동영상의 얼굴을 합성하여 함께 학습하고 싶은 연예인을 선택한다(그림 12(b)).

Fig. 12.

Screenshots of the proposed Korean conversation app : (a) input of an age and a duration of stay, (b) choice of a favorite celebrity, (c) today’s sentence and recommended interests, (d) conversation script, (e) result of speech recognition, (f) result after learning of the script is finished, (g) saved sentences and (h) history of learning

그림 12(c)는 개발된 회화 앱의 기본 화면으로 상단에는 오늘의 문장이, 하단에는 사용자별 학습 레벨에 맞는 관심 분야의 파트들에 속한 스크립트들이 추천되어 보여진다. 상단의 오늘의 문장은 파트 별 학습 내용과는 별도로 다양한 문장들의 리스트를 두어 하루에 한 문장씩 랜덤하게 제공된다. 하단에는 4장에서 설명한 것처럼 앱을 처음 사용하는 사용자에게서 입력받은 정보를 바탕으로 퍼지이론을 기반을 두어 사용자의 학습 레벨과 관심 분야에 맞을 법한 관심 분야 파트의 스크립트 일부가 제공된다. 그 이후는 사용자가 학습했던 스크립트의 특징을 바탕으로 아이템 기반 협업 필터링의 방법으로 추천되기 때문에 새로운 스크립트를 학습할 때마다 추천되는 스크립트가 바뀐다. 여기서 각 스크립트는 유닛(unit) 형태로 구성되어 해당 스크립트의 주제, 대표 문장, 학습 등급(A, B, C), 약 6~9개의 문장 등을 포함한다. 학습 문장들은 회화책[17]을 참고하여 실생활에서 유용한 회화 상황들을 수집하였으며, 상황들에 맞는 대화를 작성했다.

사용자가 학습을 원하는 유닛을 선택하면 해당 유닛의 스크립트 학습 화면으로 이동한다(그림12 (d)). 각 스크립트의 학습 화면은 사용자가 선택한 연예인 얼굴이 합성된 동영상과 한국어와 영어로 된 학습 문장으로 구성되어 있다. 동영상 속 인물과 사용자가 번갈아 이야기하며 차례대로 회화 학습이 진행되며, 동영상 속 인물 차례에서는 스피커 모양의 아이콘이 나타나며 화면 속의 문장을 말한다. 사용자의 차례에서는 다양한 대답을 할 수 있도록 여러 문장이 제공되고, 하단에 '지금 말하세요'라는 문구가 보이면서 사용자는 원하는 답을 이어갈 수 있다.

사용자가 대답을 하면 음성 인식이 진행되는데, 사용자가 스크립트를 따라 읽었는지 확인하고 발음에 대한 피드백을 주기위하여 구글 음성인식 API를 이용한다. 발음에 대한 피드백을 주기 위하여 제시된 스크립트와 인식된 문장을 비교하는 과정이 필요하다. 우선 스크립트에서 발생한 띄어쓰기와 특수문자들을 모두 ‘/’ 문자로 바꾸고 그 위치를 저장한다(그림 13). 음성 인식된 문장은 띄어쓰기와 특수문자를 모두 없애고 저장된 ‘/’ 문자의 위치를 그대로 적용시켜 스크립트와 같은 자리에 문자가 들어가도록 만든다. 변환된 스크립트와 인식된 문장을 첫 글자부터 비교해가며 사용자가 틀리게 말한 부분을 다른 색으로 표시해 주어 사용자가 시각적으로 틀리게 말한 부분을 확인할 수 있도록 한다. 그림 12(e)는 사용자의 대답 중 ‘~시죠’라는 부분이 잘못 대답하였음을 보여주고 있다.

Fig. 13.

Conversion process of the speech recognized sentence and the provided sentence

그림 12(f)는 스크립트의 학습이 모두 끝난 후의 결과 화면을 보여주고 있다. 음성 인식에 따라 틀리게 발음한 문장의 개수에 따라 발음 정확도를 퍼센트로 계산한 학습 등급(A, B, C)을 화면의 상단에 보여준다. 화면의 아래 부분은 학습 스크립트에 모든 문장들을 보여주는데, 사용자는 오른쪽 '☆' 표시를 눌러 따로 저장을 원하는 문장을 선택할 수 있다. 선택된 문장은 스크랩 화면에 모아져서, 쉽게 접근하여 발음을 다시 들으면서 반복 학습할 수 있다(그림 12(g)).

그림 12(h)는 사용자가 학습을 끝낸 유닛들을 모아놓은 학습 히스토리 화면을 보여주고 있다. 사용자는 히스토리 화면에서 어떤 파트의 어떤 유닛을 학습했는지, 그 유닛의 학습 등급을 확인할 수 있고, 해당 유닛을 선택함으로써 언제든지 학습을 다시 진행할 수 있다.

제안하는 한국어 회화 앱은 유닛별로 각 상황에 맞는 배경 이미지와 각 유닛의 썸네일 이미지, 앱 진행에 필요한 아이콘 이미지들을 사용했다. 각 이미지는 구글링을 통해 저작권에서 자유로운 이미지들을 선택하여 사용했다.

제안하는 앱의 성능 테스트를 위하여 안드로이드 스튜디오의 Profile을 이용했다. 제안하는 앱의 CPU 사용량은 대부분 15~25%정도이며, 클릭이나 Activity 전환 등 이벤트가 발생할 때 조금씩의 변동이 있다. 메모리는 135~140MB정도로 일정하고, 에너지 사용량은 Medium과 Light가 번갈아 나타났다. 회화 학습 진행 시 서버와 통신이 이루어지므로 네트워크가 사용되는 것으로 나타났다.


Ⅵ. 결 론

본 논문에서는 기존의 영어 회화에서 벗어나 한국에 관심을 두고 한국어를 배우고자 하는 의지를 지닌 외국인들을 대상으로 자신이 좋아하는 연예인과 이야기하듯 진행되는 한국어 회화 교육 앱을 제안한다. 이런 얼굴 합성을 이용한 회화 교육은 낯선 언어에 대한 거부감을 낮춰 줄 수 있어 학습 효과를 향상 시킬 수 있다. 또한 사용자의 연령과 한국 거주 기간에 따라 ‘국제통용 한국어 표준 교육과정’ 개발에 참조했던 여러 기준들에 근거한 관심 분야를 추천하고, 이후 사용자가 학습한 스크립트와 유사한 스크립트들을 추천하는 2단계 추천 알고리즘을 사용한다. 이런 2단계 추천 알고리즘을 이용한 회화 교육은 사용자의 한국어 수준과 관심사에 맞게 학습을 유도하므로 학습의 흥미를 지속할 수 있도록 한다.

향후 제안하는 사용자 친화적 한국어 회화 앱은 보다 자연스런 회화 학습을 진행하기 위해 챗봇을 이용하여 스크립트를 구성할 계획이다. 현재 스크립트 단위로 생성된 동영상을 문장 단위로 나누고, 미리 정해진 순서대로 대화의 문장을 제시하는 대신에 딥러닝에 의해 학습된 대화 문장이 제시되도록 한다.

Acknowledgments

본 연구는 2019년도 덕성여자대학교 교내연구비 지원에 의해 이루어졌습니다.

References

  • J.W. Son, Inter-relation between spreading of Korean culture “Hallyu” and globalization of Korean language education, Master dissertation, Sangmyung University, Seoul, 2015.
  • King Sejong Institute Foundation. https://www.ksif.or.kr/, . Accessed: 2020-10-2.
  • H.-J. Yoo, “Measures to develop a theme-based application for Korean language education,” The Journal of Language & Literature, Vol. 63, pp. 349–368, 2015. [https://doi.org/10.15565/jll.2015.09.63.349]
  • Sejong Korean : Conversation beginner – google play store, https://play.google.com/store/apps/details?id=com.sejong.koreanconversation, . Accessed: 2020-10-2.
  • Cake – google play store, https://play.google.com/store/apps/details?id=me.mycake, . Accessed: 2020-10-2.
  • Speak – google play store, https://play.google.com/store/apps/details?id=com.selabs.speak, . Accessed: 2020-10-2.
  • SpeakNow – google play store, https://play.google.com/store/apps/details?id=ai.moneybrain.speaknow, . Accessed: 2020-10-2.
  • A. Rossler, D. Cozzolino, L. Verdoliva, C. Riess, J. Thies and M. Nießner, “FaceForensics++: Learning to detect manipulated facial images,” in Proceeding of the IEEE ICCV, pp. 1-11, 2019. [https://doi.org/10.1109/ICCV.2019.00009]
  • T.T. Nguyen, C.M. Nguyen, D.T. Nguyen, D.T. Nguyen and S. Nahavandi, “Deep learning for deepfakes creation and detection: A survey,” arXiv preprint arXiv:1909.11573, , 2019.
  • J. Thies, M. Zollhofer, M. Stamminger, C. Theobalt and M. Nießner, “Face2Face: Real-time face capture and reenactment of RGB videos,” in Proceeding of IEEE conference on CVPR, pp. 2387–2395, June 2016. [https://doi.org/10.1109/CVPR.2016.262]
  • FaceSwap - github, https://github.com/MarekKowalski/FaceSwap/, . Accessed: 2020-10-2.
  • DeepFakes faceswap - github, https://github.com/deepfakes/faceswap, . Accessed: 2020-10-2.
  • J. Thies, M. Zollhofer, and M. Nießner, “Deferred neural rendering: Image synthesis using neural textures,” ACM Transactions on Graphics (TOG), Vol. 38, No. 4, pp. 1-12, 2019. [https://doi.org/10.1145/3306346.3323035]
  • D.H. Kim, C.Y. Park, J.O. Oh and H.J. Yu, “Research on cold-start recommendation,” Journal of KIISE, Vol. 34, No. 6, pp. 16-21, 2016.
  • J.S. Kim, “Levels and goals of the international standard Korean language curriculum,” New Korean Language Life, Vol. 20, No. 12, pp. 32-48, 2018.
  • S.-H. Park, Y.-H. Park, E.-Y. Park and S.-Y. Ihm, “A study on correlation analysis and preference prediction for point-of-interest recommendation,” Journal of Digital Contents Society, Vol. 19, No. 5, pp. 871-880, 2018. [https://doi.org/10.9728/dcs.2018.19.5.871]
  • J.N. Jung and H.Y. Jung, English Conversation Patterns by Context, Lang’s tree, 2012.

저자소개

박세은(Se-Eun Park)

2017년~현 재: 덕성여자대학교 컴퓨터공학과

※관심분야: 영상처리, 데이터베이스 등

윤재희(Jae-Hee Yoon)

2017년~현 재: 덕성여자대학교 컴퓨터공학과

※관심분야: 모바일 앱(Mobile App), 영상처리 등

최세영(Se-Young Choi)

2017년~현 재: 덕성여자대학교 컴퓨터공학과

※관심분야: 영상처리, 추천시스템 등

하수경(Su-Gyoung Ha)

2017년~현 재: 덕성여자대학교 컴퓨터공학과

※관심분야: 웹, 모바일 앱(Mobile App), 데이터베이스 등

이경미(Kyoung-Mi Lee)

1993년 : 덕성여자대학교 전산학과(이학사)

1996년 : 연세대학교 전산과학과(이학석사)

2001년 : 아이오와 대학교 전산학과(전산학박사-지능형 멀티미디어)

2003년~현 재: 덕성여자대학교 컴퓨터공학과 교수

※관심분야:영상처리, 패턴인식, 멀티미디어, HCI 등

Fig. 1.

Fig. 1.
King Sejong Institute's annual performance

Fig. 2.

Fig. 2.
Existing conversation applications : (a) Sejong Korean[4], (b) Cake[5], (c) Speak[6] and (d) SpeakNow[7]

Fig. 3.

Fig. 3.
Face swap results without face color adjustment

Fig. 4.

Fig. 4.
Result of face color adjustment : (a) before color adjustment and (b) after color adjustment

Fig. 5.

Fig. 5.
DeepFakes faceswap model[12] : (a) training and (b) face swapping

Fig. 6.

Fig. 6.
Result of face swap : (a) without color adjustment and (b) with color adjustment

Fig. 7.

Fig. 7.
Background synthesis algorithm : (a) raw image, (b) binarized image, (c) contour image by findContour, (d) person contour image, (e) background mask, (f) person mask and (g) result image

Fig. 8.

Fig. 8.
Fuzzy membership functions : (a) on ages(generation), (b) on stay-duration, and (c) on study-level

Fig. 9.

Fig. 9.
Fuzzy rules on study-level by ages(generation) and stay-duration

Fig. 10.

Fig. 10.
Recommended results by fuzz : (a) 15 years old and 3 months of stay and (b) 50 years of age and 18 months of stay

Fig. 11.

Fig. 11.
Configuration map of the proposed system

Fig. 12.

Fig. 12.
Screenshots of the proposed Korean conversation app : (a) input of an age and a duration of stay, (b) choice of a favorite celebrity, (c) today’s sentence and recommended interests, (d) conversation script, (e) result of speech recognition, (f) result after learning of the script is finished, (g) saved sentences and (h) history of learning

Fig. 13.

Fig. 13.
Conversion process of the speech recognized sentence and the provided sentence

Table 1.

Comparative analysis by 5 main functions for conversation applications

applications [4] [5] [6] [7] proposed
main
functions
language Korean English English English Korean
contextual dialogue O O O O O
voice recognition O O O O O
1:1 video provision X O O O O
customized learning recommendation X X X O O
user scrap/ history X O O O O

Table 2.

Mapping between goals and interests

Level Goals [14] Interests
Beginner Hello, Thanks, Sorry Lifestyle
Intermediate Mart, Restaurant, Post office, Bank Travel, Shopping
Advanced Job, Love, Education Education, Hobby & leisure, Entertainment
Native Work task Work