• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (Dept. of Computer Engineering, Chungwoon University, Korea)



Chatbot, Emotional stress, NLP(Natural Language Processing), Dialogflow, Messenger

1. 서론

4차 산업혁명은 디지털 혁명으로 요약되는 3차 산업을 기반으로 물질적, 디지털, 생물학적 영역의 경계를 허무는 기술혁명으로 근래의 ‘알파고 쇼크’는 4차 산업혁명의 진정한 서막이라고 말할 수 있다. 제4차 산업의 핵심은 사물인터넷(IoT, Internet of Things)과 빅데이터(Big Data) 그리고 인공지능(AI, Artificial Intelligence)이라 할 수 있다. 인공지능은 딥마인드의 ‘알파고’와 이세돌의 바둑대결 이후 대중의 관심을 끌며 요즘 화두로 부각되어 왔다. 최근에 인공지능이 가장 활발하게 연구, 개발되고 적용되는 분야 중 하나가 의료분야이다. 실리콘밸리의 유명 벤처투자가인 비노드 코슬라는 의료분야에서 대규모의 데이터에 기반하고 막강한 연산 능력으로 무장한 기계가 더 저렴하고 정확하고 객관적일 수 있다고 언급하며, 소프트웨어로 구현된 ‘닥터 알고리즘‘의 실력은 갈수록 좋아져서, 어려운 치료 살계에 대해서도 모든 가능성을 고려하여 2차 소견을 제공하면서 진료실에서의 영향력은 더 커질 것이라고 말한다(1). 최윤섭은 ‘인공지능은 의료의 미래를 어떻게 혁신하는가’에서 의료에 적용되는 인공지능을 크게 세 가지 유형으로 나눈다(2). 첫째, 복잡한 의료 데이터를 분석하여 의학적 통찰력을 도출하는 인공지능, 둘째, 이미지로 나타낼 수 있는 의료 데이터를 분석 및 판독하는 인공지능, 셋째, 연속적인 의료 데이터를 모니터링하여 질병을 예측 및 예방하는 인공지능이다. 4차 산업혁명의 핵심 기술 중 하나인 인공지능과 빅 데이터를 이용한 의료 기술의 혁신에서 대부분의 건강 및 의료 데이터는 연속적이다. 이 연속적인 데이터의 모니터링은 24시간, 365일 연속으로 진행되고, 따라서 이러한 연속적이고 분석해야 할 데이터의 복잡성 때문에 인공지능의 필요성은 더욱 커지고 있다. 최근에 인공지능을 이용한 방법 중 가장 많이 사용되고 있는 것은 기계 학습(Machine Learning)이다.

인공지능(AI)을 헬스 케어에 접목하는 사례가 늘어나면서 헬스 케어 시장에도 변화의 바람이 불고 있다. 특히 개인 기반 건강 관리 시스템으로 의료비 부담이 큰 미국의 경우, 인공지능 기술 도입이 의료비 절감으로 이어질 것이란 기대가 높아지고 있다. 이러한 인공지능 기술이 의학에 응용되고 발전하면서 최근에는 정신의학 분야로 그 영역을 확대하고 있다(2). 정신과의 경우, 사람이 사람의 심리와 정신 건강을 다루기 때문에 인공지능이 쉽게 접근하기 어려운 영역으로 꼽히고 있다. 환자의 상태에 대한 정량적 데이터를 얻기 어렵고, 진단과 치료를 표준화하기도 상대적으로 쉽지 않다. 특히, 사람과 사람, 즉 의사와 환자 사이의 인간적 상호작용이 차지하는 비중이 크기 때문에 인공지능이 이를 따라 하기는 어렵다는 의견이 있다. 그러나 최근에는 인공지능을 활용하여 환자의 상태를 정량적으로 파악하거나, 예후를 성공적으로 예측하는 연구들이 소개되고 있다. 2015년 발표된 한 연구에서는 환자가 이야기한 내용과 형식을 인공지능으로 분석하여 조현병과 같은 정신병이 추후 발병할 것인지를 정확하게 예측했다. 총 34명의 환자가 이야기한 내용의 의미적인 구성뿐만 아니라, 구문의 길이나 한정사(determiners)의 사용과 같은 형식상의 특성도 분석하였다(2). 이러한 것은 최근에 머신 러닝 분야에서 딥러닝(Deep Learning)을 이용한 자연어처리 기술의 발전으로 가능하게 되었다. 남가주대학(Southern California University)에서는 심센세(SimSensei)라는 인공지능 상담사를 만들었다(3,4). 환자들은 스크린에 보여 지는 가상의 여자 상담사와 대화를 진행하는데, 주로 환자의 정신적인 스트레스에 대한 질문을 던지고 환자는 이에 대답한다. 심센세는 환자가 하는 이야기뿐만 아니라, 움직임과 표정을 인식해 상세하게 분석한다. 환자들은 인간 의사보다 가상의 상담사를 더 편하게 느끼고, 강한 감정이나 내면을 좀 더 솔직하게 드러내었다.

또한 최근 비약적으로 발달하고 있는 IT 기술과 스마트폰을 포함한 각종 스마트 기기를 활용한 모바일 헬스케어를 사용하여 정신건강 케어시스템 구축이 시도되고 있다. 스마트폰을 중심으로 하는 스마트 기기의 확산은 ‘폰’이 뜻하는 ‘음성 통화’ 보다는 정보 검색 및 활용과 소셜 네트워크 서비스(SNS) 등 ‘스마트’ 기능으로의 비중이 점점 많아지고 기존에 없던 서비스를 가능케 하고 있다(5). 이러한 SNS와 인공지능을 접목하여 새롭게 대두되는 분야로 챗봇(ChatBot)이 있다. 최근 페이스북이 챗봇을 메신저 앱에 도입할 계획이라고 발표하며 챗봇이 기술 분야에서 주목을 받기 시작했다. 키크(Kik)와 라인(Line), 텔레그램(Telegram), 카카오(Cacao) 등 메시징 플랫폼도 다른 회사가 개발한 챗봇을 테스트하고 있다. 챗봇은 다양한 기기에서 SNS나 앱을 통해 사용할 수 있고 인공지능을 이용하여 사람처럼 사람의 다양한 요구를 충족시킬 수 있다. 스마트 디바이스의 부상과 음성 인식 기술의 발전, 그리고 인공지능 기반 앱은 오늘날 더 많은 고객 이 기업과 언제라도 소통할 수 있고, 자신들의 선호와 필요사항을 기업이 알고 즉각적으로 대응해 주기를 기대하고 있음을 의미한다. 이런 요구사항을 고려할 때 챗봇은 고객들과 실시간으로 소통하기 위한 필수품이 되어가고 있다(6).

본 논문에서는 현대 사회에서 여러 가지 감정적 스트레스로 인해 지친 사람들과 대화하고 문제를 인지할 수 있는 규칙 기반과 자연어처리를 이용한 감정 스트레스 인지 및 관리용 챗봇을 설계하고 개발한다. 이를 위해 구글(Google)에서 제공하는 챗봇 개발 플랫폼인 다이얼로그 플로우(Dialogflow)와 페이스북 메신저(Facebook Messanger)를 사용한다. 다이얼로그 플로우는 챗봇을 개발하려는 개인이나 기업에게 자연스럽고 풍부한 대화 경험을 구축할 수 있는 강력한 툴을 제공한다. 구글이 기계번역 부분에서 축적한 자연어 처리 기술을 적용하여 한글로도 대화 가능한 챗봇을 개발할 수 있다. 또한 미리 구현된 API(Application Programming Interface)나 에이전트를 이용하여 구현하고자하는 챗봇의 기능을 강화할 수 있다. 페이스북이나 텔레그램 등 주요 메신저 플랫폼과의 연동이 매우 쉬워 각종 플랫폼에서 동작하는 챗봇 구현이 가능하다.

2. 챗봇과 자연어 처리

챗봇은 채팅(Chatting)과 로봇 Robot)의 합성어로 인간과 같이 대화하는 인공지능 기반 소프트웨어 프로그램을 의미한다. 현재 챗봇은 크게 두 종류로, 메시징 플랫폼에 도입되는 메시징 챗봇과 최근에 급부상하는 가상 비서(virtual assistant)이다. 메시징 앱에서 도입되고 있는 챗봇은 하나 이상의 비즈니스 목적을 수행하도록 설계된 챗봇이다. 예를 들어, 페이스북 메신저의 1-800- Flowers 챗봇은 소비자가 꽃을 선택해 다른 사람에게 보낼 때 도움을 줄 수 있도록 설계됐다. 다른 하나는 애플 시리, 구글 어시스턴트, 아마존 에코와 알렉사, 마이크로소프트의 코타나 같은 가상 비서들이다. 이는 특정 브랜드와 접촉하도록 도움을 주는 데 그치지 않고, 다양한 정보를 제공하고 기타 여러 필요사항을 충족시키는 챗봇이다.

메시징 앱 챗봇은 기본적인 커뮤니케이션, 전자상거래, 여행 계획 등의 기능을 제공한다. 현재 전자상거래에서 젊은 소비자에 초점을 맞춰 폭넓게 챗봇을 활용하고 있다. 아마존 에코는 사람들이 훨씬 간편하게 자신에게 필요한 것을 요청할 수 있는 대화형 상거래의 시작을 알리고 있다(7). 최근에 개발된 메시징 앱 챗봇에는 우버(Uber)의 차량을 호출할 수 있는 챗봇, 타코 벨(Taco Bell)과 도미노(Dominos)는 음식을 주문할 수 있는 챗봇, 아이슬랜드 에어(IcelandAir)는 항공편 검색과 예약을 돕는 챗봇 등이 있다. 또한 매트리스 제조사인 캐스퍼(Casper)는 불면증을 없애주는 챗봇인 인섬노봇-3000(Insomnobot-3000)을 개발했다. 이 챗봇은 수면, 수면 부족과 관련된 기능을 모두 갖추고 이를 이용해 마케팅을 성공시킨 사례이다.

최근 이러한 챗봇의 성장을 주도하고 있는 요인은 다음과 같다(6). 첫째, 인공지능(AI)의 발전이다. 더 똑똑해진 인공지능을 통해 기업은 이제 주문 내역과 가장 빈번하게 검색한 것을 토대로 고객들이 필요로 하는 것이나 구매할 것을 예측하여 장바구니를 봇이 선택한 제품들로 미리 채워 놓을 수 있다. 이런 인공지능의 발전으로 고객 자신이 뭐가 필요한지를 알기도 전에 기업이 필요사항을 알 수 있으며, 강력한 신형 봇들이 고객을 가까운 친척들보다 더 잘 알 수 있다. 둘째, 사용자 경험에 대한 초점으로 현재 고객들은 연중무휴 24시간 지원뿐 아니라, 그런 지원들이 자신만의 필요사항에 맞춰지기를 기대하고 있다. 과거의 끔찍한 전화 돌리기 방식은 문제 해결이나 질문에 대한 답을 얻기 위해 전화 대기열에서 기다리기를 거부하는 대담한 고객들에 의해 무너지고 있다. 셋째, 소셜 미디어에 더 적은 시간을 소비하는 사람들로 요즘 사람들은 소셜 네트워킹 앱보다는 메신저(Messenger)나 바이버(Viber) 같은 메시징 앱에 더 많은 시간을 소비하고 있다. 즉, 챗봇이 음성 인식 고유의 필요사항을 충족시키고 사람의 역할을 대신해가고 있다. 넷째, 줄어든 개발 비용과 대화형 API의 증가이다. 챗봇은 기존의 모바일 앱에 비해 개발과 유지보수가 훨씬 간단하고 빠르다. 또한 주요 소프트웨어 업체들이 사용자가 인공 지능, 자연어 처리, 음성 인식을 활용하여 저렴한 비용으로 챗봇을 개발할 수 있는 대화형 API나 프레임워크를 제공하고 있다.

챗봇은 개발 방식에 따라 규칙 기반(검색 기반) 방식과 인공지능(생성모델) 기반 방식이 있다. 규칙 기반 방식은 미리 정해진 응답을 저장한 후, 입력 텍스트의 문맥(Context)에 맞추어 정해진 규칙에 따라 적절한 응답을 선택하는 방식이다. 인공지능 기반 방식은 최근 급격히 발전하고 있는 딥러닝 등 기계 학습을 이용하여 사용자의 입력에 대해 미리 정해진 응답을 사용하지 않고 새로운 응답을 생성하는 방식이다. 규칙 기반 방식은 구현하기 쉽지만 미리 정의된 문장에서 조금만 변형이 되면 응답을 제대로 하지 못하는 경우가 있다. 인공지능 기반 방식은 구현하기가 쉽지 않다. 따라서 두 가지 방식을 결합하여 사용하는 경우가 많아지고 있다. 표 1은 두 방식의 개략적 비교를 나타낸다.

현재까지 챗봇을 개발하는데 많이 쓰이는 방법은 규칙기반 방식이다. 이는 형태소 분석이나 구문 구석을 한 후 특정 문자열이나 정해진 규칙을 판단하여 명령을 실행한다. 챗봇을 개발할 때 가장 중요한 것 중 하나는 입력된 문장의 의도를 정확하게 판단하는 것이다. 하지만 미리 정의된 문장에서 조금만 변형이 되면 인식을 못하는 경우가 대부분이다. 따라서 최근에는 딥러닝으로 학습을 하여 자연어를 처리하는 방법이 새롭게 연구되고 있다. 자연어 처리는 어휘(Lexical) 분석, 구문(Syntactic) 분석, 의미(Semantic) 분석, 대화(Discourse) 분석 등의 처리를 상대 화자의 음성이나 텍스트를 이해하고 그에 상응하는 응답을 생성하게 된다. 이를 위해 최근에는 워드 임베딩(Word Embedding), LSTM (Long Short Term Memory), SeqtoSeq(Sequence-to-Sequence), 어텐션 메카니즘(Attention Mechanism) 등의 기법들이 사용되고 있다. 최근 한국어 자연어처리를 위한 연구가 활발히 전개되고 있는데, KoNLPy(Korean NLP in Python)과 같은 한국어 오픈소스 자연어처리 라이브러리들이 다양하게 제공되고 있다. 또한 한국어 감성 분석(Opinion Mining)에 대한 연구도 활발히 진행되고 있다. 사람이 작성하는 텍스트 안에는 그 글의 주요 대상이 되는 주제(Topic)가 있을 것이고, 그 주제에 대한 글쓴이의 의견(Opinion)이 있다. 글의 대상이 되는 주제를 찾아내는 작업을 토픽 모델링(Topic Modeling)이라고 하며, 이 기술은 자동적으로 텍스트가 다루는 주제가 무엇인지 계산해내는 방법을 제공한다. 마찬가지로 그 주제에 대한 글쓴이의 의견을 파악하는 것을 감성 분석(Opinion Mining) 또는 감성분류(Sentiment Classification)이라고 한다. 이를 이용하면 어떤 글에 저자의 주관적인 의견이 반영되었는지, 아니면 객관적인 글인지, 만약 주관적이라면 긍정적인지 부정적인지를 판단해 낼 수 있다. 토픽 모델링과 마찬가지로 굉장히 넓은 분야에 활용할 수 있는 잠재력이 있는 기술이라고 할 수 있다(8).

표 1. 각 방식의 비교

Table 1. Comparison of each method

항목

\

방식

규칙 기반

인공지능 기반

구현

쉬움

어려움

알고리즘

휴리스틱(heuristic)

딥러닝

대화길이

짧다

길다

도메인

특정 영역(closed)

일반 영역(open)

3. 스트레스와 건강

잘 알려진 것처럼 잘 처리되지 않은 스트레스는 육체적 건강뿐만 아니라 정신적 건강에도 영향을 미친다. 세계보건기구(WHO)는 “건강이란 질병이나 손상이 없을 뿐만 아니라 신체적, 정신적, 사회적으로 완전히 안녕한 상태이다”로 정의한다. 우리의 건강은 신체적인 건강과 더불어 정신적, 사회적인 건강이 온전할 때 진정으로 건강하다고 할 수 있다. 특히 현대인은 더욱 경쟁적이고 빠른 사회 변화로 인해 발생되는 각종 스트레스로 인해 정신건강에 있어 심각한 위험을 받고 있으며 이로 인한 심인성 질병 발생률은 계속 증가하고 있다. 많은 연구에서, 암을 포함하여, 적어도 모든 질병의 70%에서 스트레스가 원인이거나 원인을 제공하는 것으로 알려지고 있고, 스트레스로 인한 개인적, 사회적으로 치러야하는 비용도 증가 추세에 있다.

그러나 많은 경우 사람들은 자신이 경험하는 스트레스에 대한 인식이 부족하고, 이로 인해 발생되는 정신, 신체적 영향을 간과하는 경향이 있다. 또 스트레스를 경험할 때 잘못된 방법으로 스트레스를 해소함으로 인해 또 다른 문제를 야기하기도 한다. 통계에 의하면 일반적으로 사람들은 스트레스를 해소하기 위해 음주나 수면 등의 방법을 행하는 데 아주 작은 양의 음주는 스트레스를 일시적으로나마 잊을 수 있지만, 과음은 오히려 뇌에서 스트레스를 유발하여 더욱 스트레스를 받게 되는 악순환으로 빠지게 된다. 심각한 스트레스가 발생하는 연령대나 개인에 대해서는 정신건강검진을 통해 조기에 발견ㆍ치료하는 등 전 생애에 걸쳐 발생하는 스트레스를 인지하고 관리하는 것이 필요하다. 스트레스에 의한 질병 발병의 메커니즘은 그림 1과 같다(9).

그림. 1. 스트레스와 질병 발생의 메커니즘

Fig. 1. Mechanism of stress and disease occurrence

../../Resources/kiee/KIEE.2018.67.7.954/fig1.png

또한 각종 감정적 스트레스와 각 인체 시스템에서의 연관관계는 다음 표 2와 같다(9). 예를 들어, 하버드 의대 등 여러 연구기관에 의하면 화(분노)는 심장 마비의 가능성을 증가시키는 것으로 밝혀졌다. 즉, 화는 우리 인체의 심혈관계와 관계가 있는 것으로 알려져 있다. 연구에 의해 밝혀진 화를 통한 심장병 발병 기전은, 화나는 생각과 분노의 감정 ⇒ 과다한 아드레날린과 코티솔(Cortisol)을 분비 ⇒ 혈압과 심장박동이 증가하고 관상동맥 확장으로 내벽이 손상을 입음 ⇒ 호르몬의 변화로 피 속의 혈소판과 지방이 전환되어 콜레스테롤 생성 ⇒ 동맥의 손상된 부위에 점착하여 동맥경화증 유발 ⇒ 혈소판 점성 증가로 동맥경화 덩어리 커짐 ⇒ 심근경색 발병 위험 증가이다(5).

4. 감정 스트레스 인지 및 관리용 챗봇

4.1 스트레스 인지 및 관리 프로그램

각 개인의 스트레스 정도를 인지하고 관리하기 위해 측정된 스트레스 인식 정도에 따라 다양한 스트레스 관리 방안을 구축할 수 있다. 스트레스의 인지는 설문 등을 통해 측정될 수 있고, 스트레스 관리 방법에는 생리학적, 행동과학적, 심리학적 그리고 인지과학적 접근 방법 등이 포함될 수 있다. 스트레스 관리 방안은 스트레스와 관련된 정보, 신체 건강과의 연관성에 대한 정보, 성격(A형) 테스트, 스트레스 경향 테스트, 적대감(냉소, 분노, 공격성) 테스트, 멘탈 생산성 진단 테스트(KMPI, Korea Mental Health  & Productivity Inventory), 일지 쓰기, 적대감 해결 지도, 상담 등을 사용할 수 있다. 인지된 스트레스에 따라 단계별 개입방안을 통한 스트레스 및 관련 정신관련 질환 예방 프로그램의 한 예는 다음 그림 2, 3과 같다.

표 2. 감정적 스트레스와 신체 시스템

Table 2. Body systems and emotional stresses

감정적 스트레스

손상되는 신체 시스템

분노(Anger)

죄책감(Guilt)

관능적 정욕(Lust)

괴로운 마음(Bitterness)

탐욕(Greed)

두려움(Fear)

시기(Envy)

심혈관계

신경계

내분비계

소화계

면역계

호흡기계

근골격계

그림. 2. 설문을 통한 스트레스 인지(1단계)

Fig. 2. Stress recognition by questionnaire

../../Resources/kiee/KIEE.2018.67.7.954/fig2.png

그림. 3. 스트레스 관리 방안(2단계)

Fig. 3. Stress management plan

../../Resources/kiee/KIEE.2018.67.7.954/fig3.png

스트레스 인지 및 관리 프로그램은 크게 2단계로 나뉘고 1단계에서는 인식된 스트레스 지수(PSS, Perceived Stress Scale)를 이용하여 스트레스 정도를 4개로 선별한다. 즉, 정상은 스트레스가 거의 없는 상태, 저위험군은 경도 스트레스, 중위험군은 중등도 스트레스, 그리고 고위험군은 심한 스트레스 상태로 분류된다. 1단계에서 스트레스를 인식하기 위해 사용하는 설문의 한 예는 표 3과 같다.

표 3. 스트레스 경향 테스트

Table 3. Stress inclination test

경험정도

문항

전혀없음

거의없음

때때로있음

자주있음

매우자주있음

예상치 못했던 일 때문에 당황했던 적이 얼마나 있었습니까?

인생에서 중요한 일들을 조절할 수 없다는 느낌 경험 여부

신경이 예민해지고 스트레스를 받고 있다는 느낌 경험 여부

당신의 개인적 문제들을 다루는 데 있어 얼마나 자주 자신감 경험 여부

일상의 일들이 당신의 생각대로 진행되고 있다는 느낌 경험 여부

당신이 꼭 해야 하는 일을 처리할 수 없다고 생각한 적의 경험 여부

일상생활의 짜증을 얼마나 자주 잘 다스릴 수 있었습니까?

최상의 컨디션이라고 얼마나 자주 느끼셨습니까?

당신이 통제할 수 없는 일 때문에 화가 난 경험 여부

어려운 일들이 너무 많이 쌓여서 극복하지 못할 것 같은 느낌 여부

◆ 각 문항에 해당하는 내용을 최근 1개월 동안 얼마나 자주 느꼈는지 표기해 주십시오.

표 3에서 설문의 채점 방식은 문항에 따라 0,1,2,3,4 점을 준다. 즉, ‘전혀없음‘은 0, ’거의 없음‘은 1이다. 4,5,7,8 문항은 4,3,2,1,0 점을 준다. 즉, ‘전혀없음‘은 4, ’거의 없음‘은 3이고 총점은 24점이다. 2단계에서는 PSS 결과에 따라 단기 개입군(중위험군)과 집중 개입군(고위험군)으로 나눌 수 있다. 중위험군의 경우 전문기관에서 추가 테스트에 의한 정확한 상황 인지와 헬스 케어 및 집중 프로그램 실시하고(상담기관 연계 및 전문의 진료 고려), 고위험군의 경우 전문기관에서 추가 테스트에 의한 정확한 상황 인지와 이후 전문의 및 상담기관에서 치료연계를 고려한 집중 프로그램 실시할 수 있다.

본 논문에서는 챗봇과의 대화를 통해 특별히 사용자가 어떤 대상이나 상황에 대해 감정적 스트레스를 가지는 경우 이를 인지하고 다양한 해결책을 제시하는 챗봇을 개발한다. 이를 위해 감정적 스트레스를 분노/공격성, 슬픔/우울, 수치심/죄책감, 두려움/불안으로 나누고, 사용자의 입력을 통해 이를 인식하고 설문을 통해 그 정도를 파악하게 한다. 연구에 의하면 냉소적이거나 부정적인 사람은 심장병뿐만 아니라 치매에 걸릴 위험성도 높은 것으로 나타났다. 표 4와 5는 분노와 공격성, 슬픔과 우울의 정도를 인지하기 위한 설문을 보여준다(10).

표 4. 분노와 공격성 테스트

Table 4. Anger and aggressiveness test

번호

문항

여부

1

나 자신을 스스로 조절하지 못할 것 같은 기분이다.

2

얼굴이 달아오르거나 온몸이 마비되는 느낌이다.

3

긴장으로 마음이 괴로운 것 같다.

4

울음을 참을 수 없거나 뭐가를 던지고 깨부수고 싶은 충동이 있다.

5

사소한 일에도 화가 나는 것을 참을 수가 없다.

6

나를 화나게 한 상황이 머릿속에서 떠나지를 않는다.

7

당신을 존중하지 않는 사람들에게 화를 냅니까?

8

두려움, 죄책감 등 부정적인 감정에 사로잡힌다.

9

상대방을 공격하는 언어나 행동을 구사한다.

10

경멸하는 말투를 사용하거나 큰 소리로 욕을 한다.

표 5. 슬픔과 우울 테스트

Table 5. Sorrow and depression test

번호

문항

여부

1

내가 잘못한 것만 자꾸 생각난다.

2

실패나 좌절이 계속 될 것 같다.

3

더는 기쁨이 찾아오지 않을 것 같다.

4

미래에 대해서 부정적인 생각을 주로 한다.

5

피곤하고 에너지가 고갈 되는 느낌이다.

6

하루 종일 침대에만 누워 있고 싶다.

7

일을 시작하기도 어렵고 끝내기도 어렵다.

8

텅 빈 느낌, 우울, 식욕부진, 불면증이 생겼다.

9

사람들이 나를 필요로 하지 않는 느낌이다.

10

자신이 무가치하다는 느낌이 계속 든다.

4.2 챗봇 설계 및 구현

전형적인 챗봇의 구조는 그림 4와 같다. 규칙기반이나 자연어 처리를 통해 사용자의 반응에 응답하는 봇 엔진(Bot Engine)과 사용자와의 인터페이스로 사용되는 채팅 플랫폼(Chat Platform), 그리고 개발자의 서버에 구축되는 백엔드 앱(Backend App)이다. 사용자의 메시지나 챗봇의 응답은 백엔드 앱을 통해 또는 직접 서로에게 전달된다.

그림. 4. 챗봇의 구조

Fig. 4. Structure of chatbot

../../Resources/kiee/KIEE.2018.67.7.954/fig4.png

이러한 챗봇을 구현하기 위해서는 복잡한 백앤드(Backend) 프로그래밍과 데이터 마이닝(Data Mining), 자연어처리를 위한 기계학습 등의 구현이 필요하다. 따라서 이러한 어려움을 줄이기 위해 다양한 오픈 플랫폼들이 제공되고 있다. 여기에는 다이얼로그플로우, WIT.ai, Motion.ai, Chatfuel 등이 있다. 본 논문에서는 감정 스트레스 인지 및 관리를 위한 챗봇을 설계하고 구현하기 위해 구글에서 개발된 오픈 플랫폼 다이얼로그 플로우를 사용하였다. 다이얼로그 플로우는 챗봇을 개발하려는 개인이나 기업에게 자연스럽고 풍부한 대화 경험을 구축할 수 있는 강력한 툴을 제공한다. 구글이 기계 번역 부분에서 축적한 자연어 처리 기술을 적용하여 한글로도 대화 가능한 챗봇을 개발할 수 있다. 또한 미리 구현된 다양한 에이전트를 이용하여 구현하고자하는 챗봇의 기능을 강화할 수 있다. 페이스북이나 텔레그램 등 주요 메신저 플랫폼과의 연동이 매우 쉬워 각종 플랫폼용 챗봇 구현이 가능하다. 본 논문에서는 페이스북 메신저는 챗봇이 동작하는 메시징 플랫폼으로 사용한다.

챗봇은 인간의 언어를 흉내 내어 인간의 질문에 답하는 형식으로 메신저 상에서 사람처럼 행동하며 날씨나 교통정보, 제품 주문 등 특정 목적으로 제한된 역할을 한다. 이를 위해 4가지의 요소가 필요하다. 대화의 의도(Intent), 재료(Entity), 상황(Context), 대화의 경험을 쌓고 학습(Training)하는 것이다. 다이얼로그 플로우에서는 이러한 요소들을 빠른 시간 안에 구축할 수 있는 도구를 제공한다. 만약 쇼핑몰을 위한 챗봇을 개발한다면, 대화의 의도는 쇼핑몰 챗봇의 상담 목록이 되고, 대화의 재료는 쇼핑몰의 상품 목록, 대화의 상황(문맥)은 쇼핑하고자 하는 분야가 될 것이다.

본 논문에서 대화의 의도는 표 3, 4, 5에 주어진 스트레스 경향 테스트와 감정 스트레스 테스트의 설문이 주로 사용된다. 대화의 재료는 사용자의 감정이나 상태와 관련된 각종 단어와 이것의 분류가 된다. 대화의 상황은 대화의 분위기 및 흐름을 나타내는 기존 대화에 대한 분석, 직관 등이 필요하다. 이는 설문의 결과(PSS)에 의한 4단계의 스트레스 정도나 사용자의 설문 입력에 나타난 감정의 상태를 사용한다. 대화의 학습은 실제 이루어진 대화를 이용하여 잘못된 반응에 대해 데이터를 이용하여 훈련한다. 개발된 챗봇의 논리적 동작 흐름도는 그림 5와 같다. 챗봇은 사용자의 기분을 파악하기위해 이를 텍스트나 음성으로 입력하거나 주어진 예시에서 선택하게 한 후, 다양한 질문을 통해 현재 상태를 더 자세히 인지하고 적절한 해결책을 제시한다.

그림. 5. 챗봇의 논리적 동작 흐름도

Fig. 5. Logical flow diagram of chatbot

../../Resources/kiee/KIEE.2018.67.7.954/fig5.png

4.3 페이스북 메신저 챗봇

본 논문에서는 페이스북의 메신저를 챗팅 플랫폼으로 사용하고 다이얼로그 플로우를 봇 엔진으로 사용하여 감정 스트레스를 인지하고 관리하는 챗봇을 구현하였다. 그림 6은 다이얼로그 플로우에 개설된 챗봇 에이전트(agent)의 화면을 보여준다. 화면을 크게 3부분으로 나누어, 왼쪽 부분의 메뉴 목록에서 대화의 의도와 재료를 설정하고 인티그레이션(Integration)에서 연결될 챗팅 플랫폼을 설정할 수 있다. 그림 가운데 부분은 현재 의도(Intent)를 나타내는데, 감정 스트레스와 관련해 구축된 의도 항목들을 볼 수 있다. 오른쪽 부분에서는 구축된 의도를 이용하여 챗봇을 시뮬레이션해 볼 수 있다. 그림 7은 사용자가 짜증/화남을 선택하였을 때 페이스북 메신저의 응답과 챗봇이 동작하는 상황(Context)과 의도(Intent) 등을 볼 수 있는 시뮬레이션 화면이다. 그림 8은 구축된 챗봇에 사용되는 재료(Entity)를 나타낸다. 감정 스트레스와 연관된 감정 재료들을 입력하였다. 그림 9는 감정 스트레스 중 분노/공격성 질문의 목록 예를 보여준다. 여기서 입력된 질문들은 사용자에게 보여 지고, 질문에 따른 사용자의 입력은 지정된 각 파라미터에 저장되어 챗봇 서버나 백엔드 앱에서 사용된다.

그림. 6. 개발된 챗봇의 다이얼로그 플로우 메인 화면

Fig. 6. Dialogflow main window of chatbot

../../Resources/kiee/KIEE.2018.67.7.954/fig6.png

그림. 7. 다이얼로그 플로우 시뮬레이션 화면

Fig. 7. Dialogflow simulation window

../../Resources/kiee/KIEE.2018.67.7.954/fig7.png

그림. 8. 재료 목록

Fig. 8. Entity list

../../Resources/kiee/KIEE.2018.67.7.954/fig8.png

그림. 9. 질문 및 파라미터 목록

Fig. 9. Question and parameter list

../../Resources/kiee/KIEE.2018.67.7.954/fig9.png

구축된 챗봇을 시험하기 위해 그림 10과 같이 페이스북에 StressResolve 페이지를 개설하였다. 이 페이지에 연결된 메신저 창을 열고 사용자 반응을 입력하고 구축된 챗봇이 제대로 동작하는지 확인하였다. 그림 11, 12는 각각 챗봇의 동작을 보여준다. 그림 5의 주어진 동작 흐름도에 따라 작동하는 것을 알 수 있다.

그림 11에서 사용자는 챗봇이 제시한 4가지 기분 중에서 하나를 선택할 수 있고, 사용자가 ‘짜증/화남’을 선택하였을 때의 응답을 보여준다. 선택된 기분 값은 미리 지정된 파라미터에 저장되어 다음 의도(Intent)로 넘어가고 이는 상황 메뉴에서 미리 설정되어 제어된다. 지정된 파라미터의 기분 값은 그림 8의 재료(Entity) 목록에서 대표 값으로 변환되어 메신저에 보여 진다. 그림 13그림 12의 메신저 동작에 대응되는 다이얼로그 플로우의 화면을 나타내는데, 챗봇 상에서 입력받은 질문에 대한 파라미터 값이 저장되는 것을 보여준다. 사용자 입력이 ‘예’인 경우는 1, ‘아니오’인 경우는 2가 저장된다. 이 값을 이용하여 입력된 기분(감정)과 관련된 스트레스 정도를 측정하고, 사용자에게 인지하도록 하며 관련 자료를 보여줄 수 있다.

그림. 10. 페이스북 페이지와 메신저 창

Fig. 10. Facebook page and messenger

../../Resources/kiee/KIEE.2018.67.7.954/fig10.png

그림. 11. 챗봇 시작 질문과 사용자 응답

Fig. 11. First question of chatbot and user response

../../Resources/kiee/KIEE.2018.67.7.954/fig11.png

그림. 12. 챗봇 설문과 사용자 입력에 따른 응답

Fig. 12. Questionnaire of chatbot and user response

../../Resources/kiee/KIEE.2018.67.7.954/fig12.png

그림. 13. 다이얼로그 플로우 화면

Fig. 13. Dialogflow window

../../Resources/kiee/KIEE.2018.67.7.954/fig13.png

5. 결 론

본 논문에서는 여러 가지 감정적 스트레스 해결을 위해 사람들과 설문을 통해 문제를 인지할 수 있는 규칙 기반 및 자연어처리를 이용한 감정 스트레스 인지 및 관리용 챗봇을 설계하고 개발하였다. 이를 위해 챗봇 개발 공개 플랫폼인 다이얼로그 플로우와 채팅 플랫폼으로 페이스북 메신저를 사용하였다. 다이얼로그 플로우에서 제공하는 강력한 툴을 이용하여 자연스럽고 미리 정의된 질문을 통한 대화 경험을 구축할 수 있었고, 이를 페이스북 페이지의 메신저에서 사용할 수 있었다. 구글이 축적한 자연어처리 기술을 적용하여 한글로 충분히 대화 가능한 챗봇을 개발할 수 있었다. 또한, 사용자의 입력과 이에 따른 질문을 통해 감정 스트레스를 인지하고 적절한 응답과 스트레스 해결을 위한 방안을 제시하거나 후속 조치를 할 수 있는 가능성을 확인하였다. 추후 한글어 자연어 처리 라이브러리 등을 이용하여 미리 에이전트를 구축하고, 이를 통해 개발된 챗봇의 기능을 더욱 강화하여 좀 더 자연스럽고 인간과 비슷한 챗봇을 구현하는 연구가 필요하다.

References

1 
https://techcrunch.com/2012/01/10/doctors-or-algorithmsGoogle Search
2 
http://www.yoonsupchoi.com/2018/03/27/vuno-bone-ageGoogle Search
3 
Morency L.P., 2015, SimSensei Demonstration: A Perceptive Virtual Human Interviewer for Healthcare Applications, Proc. of the 29th AAAI Conference on Artificial Intelligence, Vol. 6, pp. 4307-4308Google Search
4 
Morency L.P., August 2014, It’s only a computer: Virtual humans increase willingness to disclose, Computers in Human Behavior, Vol. 37, pp. 94-100DOI
5 
Park J.J., 2014, Development of mobile healthcare app for mental health management, The Journal of IIBC, Vol. 14, No. 6, pp. 13-18DOI
6 
2018, Present state and strategy of business chatbot in AI era, IDG Deep DiveGoogle Search
7 
http://www.ciokorea.com/news/31605#csidx904c50e049e59b38227102ecf56aeadGoogle Search
8 
http://bab2min.tistory.com/573Google Search
9 
2008, How to resolve 7 Deadly Stresses, IBLPGoogle Search
10 
http://www.kormedi.com/care/htest/default.aspx?htcd=HT3C01Google Search
11 
http://aidev.co.kr/chatbotdeeplearning/3187Google Search
12 
http://static.wooridle.net/lectures/chatbot/Google Search
13 
Hong E.K., 2014, Mobile Healthcare Application, Computer World, Vol. 367Google Search
14 
Collobert R., Weston J., Bottou L., Karlen M., Kavukcuoglu K., Kuksa P. P., 2011, Natural language processing (almost) from scratch, Journal of Machine Learning Research, Vol. 12, pp. 2493-2537Google Search

저자소개

박 종 진 (Jong-Jin Park)
../../Resources/kiee/KIEE.2018.67.7.954/au1.png

1967년 4월 12일생

1989년 연세대 전기공학과 졸업(공학사)

1991년, 1997년 동 대학원 졸업(공학석사, 공학박사)

1997년~현재 청운대학교 컴퓨터공학과 교수

E-mail : jjpark@chungwoon.ac.kr