좋아하는 사람의 마음, 카톡 대화로 알 수 있다 - 텍스트앳

안수영 syahn@itdonga.com

좋아하는 사람이 생겼다. 상대방이 현재 짝사랑하는 사람이든, 연인이든 좀 더 가까워지려면 그 사람의 마음을 알아야 한다, 그런데 상대방이 나에게 어떤 감정을 갖고 있는지는 어떻게 알 수 있을까? 이를 위해 많은 사람들이 별자리나 혈액형 궁합을 보거나, 심리 테스트를 하거나, 타로 카드를 본다. 하지만 이런 방법은 객관적이지 못하다. 실제로 그 사람 마음에 대해 알 수 있는 방법은 없을까.

'에이, 세상에 그런 게 어디 있어' 라고 고개를 저을 독자들도 있겠지만, 놀랍게도 이런 서비스가 실제로 나왔다. 바로 스캐터랩이 만든 '텍스트앳'이라는 애플리케이션(이하 앱)이다. 텍스트앳은 사용자가 주고받은 카카오톡 대화를 바탕으로 서로에 대한 감정을 분석하는 서비스다. 사용자가 분석하고 싶은 사람을 설정하고 그 사람과 주고받은 카카오톡 대화를 카카오톡에서 내보내기 한 뒤, 해당 대화를 텍스트앳에 넣으면 된다. 그러면 텍스트앳이 서로에 대한 감정을 분석한 결과를 알려준다. 텍스트앳은 지난 해 3월 오픈 베타 서비스를 열었으며, 올해 3월 공식적으로 서비스를 시작했다. 안드로이드 스마트폰, 아이폰에서 모두 사용할 수 있다.

과연 이 놀라운 서비스를 누가 만들었을까? 또 텍스트앳은 정말로 믿을 만한 서비스일까? 이에 IT동아가 스캐터랩의 김종윤 대표를 만나 자세한 이야기를 나눠봤다.

좋아하는 사람과 아닌 사람에게 보내는 문자는 '다르다'

IT동아: 처음 서비스를 이용해 보고 참 기발하다는 생각이 들었다. 어떻게 이런 서비스를 시작하게 되었나

김 대표: 대학교(연세대학교) 재학 당시 사회학 수업에서 프로젝트를 하며 이런 아이디어를 생각했다. 바로 '좋아하는 사람에게 보내는 문자와 좋아하지 않는 사람에게 보내는 문자는 뭔가 다르다'라는 것이었다. 그 무언가가 무엇인지 찾아보고 싶었다. 프로젝트를 하면서 점점 흥미를 느꼈고, 이에 서비스로 만들어보고자 친구들과 힘을 합쳐서 여기까지 오게 됐다.

IT동아: 흥미로운 사업 모델이다. 그런데 사람 마음을 분석하는 일인만큼 어려운 일도 많았을 것 같다

김 대표: 서비스를 공식 출시하기까지 2년 반이 걸렸다. 사실 이렇게 오래 걸릴 줄 미리 알았으면 아마도 시작하지 않았을지도 모르겠다(웃음). 초기에 가장 어려웠던 것은 데이터를 모으는 일이었다. 텍스트앳 서비스는 실제 데이터를 기반으로 하기 때문에 많은 양의 데이터를 모으는 것이 중요한데, 이것이 쉽지 않았다. 초기 데이터는 학교 프로젝트를 하며 직접 설문조사로 받았다. 학생들에게 일일이 설문지를 나눠주면서 가장 최근에 이성과 주고받은 문자를 직접 쓰게 하고, 그 이성을 얼마나 좋아하는지에 대해 조사했다. 이렇게 3,000개의 자료를 모았고, 자료들을 바탕으로 감정분석 알고리즘을 만들었다.

이 감정분석 알고리즘을 토대로 2012년 3월에 오픈 베타 서비스를 했다. 당시 이 서비스가 꽤 많이 알려져 많은 사람들이 사용했다. 하루는 7만 명이 접속했는데, 그 때문에 망했다. (응?) 그렇다. 사용자들이 늘어나서 서비스를 할 수 없었다.

IT동아: 사용자들이 늘어나면 좋은 것 아닌가. 왜 서비스가 중단됐나

김 대표: 텍스트앳은 서버를 굉장히 많이 사용하는 서비스다. 기본적으로는 앱의 형태를 갖추고 있지만, 앱에서 대화를 받으면 그 대화를 서버로 올리고, 서버에서 분석한 결과를 앱으로 전송하는 구조로 되어 있다. 즉, 앱 자체로 분석이 되지 않는다. 분석 방식이 상당히 다양하고 정밀하기 때문에, 앱 자체로 구동하기에는 무리가 있어서 이런 방식을 택했다.

그 당시에는 직원들이 세 명뿐이었는데, 세 명 모두 서버에 대해 깊게 고려하지 못했다. 그래서 사용자들이 많이 들어오니 서버가 다운되었고, 그 때부터 아무것도 할 수 없게 되었다. 서버를 증설해도 소용이 없더라.

IT동아: 어떻게 대처했나

김 대표: 이를 계기로 본격적인 보강 작업에 들어갔다. 다행스럽게도, 그 때 데이터를 약 6억 개 가량 모을 수 있었다. 이를 바탕으로 감정분석 알고리즘도 완전히 수정했다. 6억 개의 데이터를 모은 뒤에 실험해 보니, 과거 모델의 성능이 좋지 않더라. 그래서 이대로는 안 되겠다 싶어서 논문을 찾고, 공부를 하고, 모델을 새로 만들다 보니 1년이 훅 지나갔다. 현재의 감정분석 알고리즘은 6억 개의 데이터에 학습된 모델이며, 1년 전의 분석 형태는 하나도 남아 있지 않다.

데이터가 복잡하고 방대하다 보니 파일의 용량도 10GB가 넘는다. 그러다 보니 PC에서 모델을 수정해 새롭게 모델을 만들려면 PC를 켜 놓고 2~3일을 기다려야 한다. 한 번 시행착오가 생기면 시간이 엄청나게 가는 것이다. 그나마 현재는 서버를 클라우드로 구비해서 비상이 터지더라도 몇 분 이내로 서버를 증설할 수 있게 됐다.

감정분석의 비밀, 'STEAM'

IT동아: 무엇보다 감정을 분석하는 방법이 궁금하다. 이에 대해 소개해 달라

김 대표: 앞서 언급했듯이, 텍스트앳은 '사람은 메시지를 보낼 때 좋아하는 사람과 좋아하지 않는 사람에게 보내는 내용이 다르다. 같은 말을 하더라도 사소한 무언가가 다르다' 라는 전제를 바탕으로 한 서비스다. 그 무언가의 차이점을 찾는 것이 텍스트앳의 감정분석 알고리즘, STEAM(Statistics-based Text Emotion Analytic Model)이다.

STEAM은 1년 전 수집한 6억 개의 실제 문자메시지를 바탕으로 만들어졌다. STEAM은 기계학습 알고리즘(주1)을 이용해, 사용자가 새로운 데이터를 입력할 경우 이를 다시 학습해 업데이트하는 방식으로 구성됐다. 따라서 사용자가 많아질수록, 데이터가 늘어날수록 분석의 정확도가 올라간다. 감정분석을 할 때는 여러 가지 변수를 고려해야 하는데 감정에 따라 변화하는 어순, 비표준어, 조사 선택, 동사 변화, 형태소 비율, 대화 주제, 말투, 이모티콘, 답장 시간 등 수많은 요소들을 평가한다.

주1) 기계학습 알고리즘이란?
아이들이 처음으로 초콜릿을 먹고 '초콜릿은 달다'라는 정보를 알았다고 하자. 그러면 그 아이는 초콜릿 쿠키나 초콜릿 케익 등, 아직 먹어보지는 않았지만 초콜릿으로 만든 여러 음식들도 달콤할 것이라고 판단할 것이다. 이와 같이 기계도 어떤 것을 학습하면 그와 관련된, 그러나 직접적으로 알려주지 않은 것에 대해 인식하고 답할 수 있다. 이를 기계학습 알고리즘이라 한다. 텍스트앳도 기계학습 알고리즘을 활용한 서비스다.

김 대표: 감정을 분석할 때 사용자들로부터 설문조사를 하고, 이를 바탕으로 유형을 분류한다. 가령 연인인 사람과 아닌 사람, 성별, 연령별로 구분을 한다. 각각의 유형에 따라 사용하는 말이 다르기 때문이다. 그리고 사용자가 나눈 대화를 STEAM에 학습시킨다. 학습을 할 때 설문조사 결과를 꼬리표로 붙인다. 예를 들면 '두 사람은 현재 연인이고, 이 말을 한 사람은 남자다'라는 상황을 달아주는 방식이다.

김 대표: 사용자가 대화를 서버로 보내면, 우선 형태소 분석을 한다. 이는 PC가 언어, 이모티콘, 스티커 등을 인식할 수 있도록 분석을 하는 것을 뜻한다. 그리고 답장 시간, 문자 길이, 대화량, 대화 주제, 어순, 조사, 말투 등의 변수를 모두 분석한다. 그리고 각 변수들 간 상관관계를 계산해 최종적으로 감정을 수치로 나타낸다. 사용자들이 쉽게 알아볼 수 있게 100점 만점에 몇 점이다, 라는 식으로 보여주고 있다.

물론, 사람마다 개인차는 있다. 그러나 충분히 데이터를 크게 하고 통제를 잘 해주면 그 '무언가'의 차이가 드러나기 시작한다. 그것을 바탕으로 감정분석을 하는 것이다.

IT동아: 좋아하지만 진심을 숨기는 사람도 있는데 이런 경우에도 분석이 제대로 되는지 궁금하다. 혹시 '보고 싶다'와 같은 표현을 바탕으로 직접적인 의미만 측정하는 것은 아닌가?

김 대표: 여기서 드러나는 차이란, 사람들이 일반적으로 생각하는 개념이 아닌 무의식에 가깝다. 실제로 STEAM을 통해 분석된 결과를 보면, '좋아하는 사람에게 문자메시지를 보낼 때는 동사 형태를 달리 쓴다. 조사를 생략한다' 등의 결과가 도출된다. 생각해보면, 사람들이 일상에서 '좋아하는 사람에게 문자를 보내니까 조사를 생략해야지' 이러지는 않는다. 즉, 적은 양의 데이터로는 알아볼 수 없었던 숨은 패턴들이 빅데이터(주2)에서 드러나는 것이라 보면 된다. 빅데이터를 바탕으로 평소 상식적으로는 알 수 없었던 변수들을 하나씩 찾아나가고, 그런 변수들이 몇 천개가 모인다면 감정을 알 수 있는 힌트로 작용한다.

주2) 빅데이터란?
기존의 방법으로 수집, 저장, 검색, 분석하기가 어려울 만큼 방대한 양의 데이터를 뜻한다. 빅데이터는 디지털과 인터넷 기술의 발달로 데이터가 늘어나면서 나타났다. 빅데이터를 활용하면 질병이나 사회 현상의 변화에 관한 새로운 시각이나 법칙을 발견할 수 있다.

IT동아: 그렇다면 변수로 작용하는 요소는 무엇이며, 또한 변수들 간 상관관계는 어떻게 알아내나?

김 대표: 좋아하는 사람과 아닌 사람에게 극명하게 드러나는 차이점을 변수로 본다. 예를 들면 답장 시간, 선톡(먼저 연락을 하는 것), 문자메시지를 보내는 시간대, 문자메시지의 양, 길이, 질문의 횟수, 이모티콘, 스티커 사용 여부 등이 변수로 작용할 수 있다. 그 변수들이 어떻게 작동할 때 감정과 연관이 있는지 알 수 있다. 가령 스티커를 많이 사용하면 어느 정도의 감정이 있는 것이라 분석이 된다. 그러면 각 변수 간의 상관관계에 대해 알 수 있다. 각각의 변수들이 연관되어 있는 것이 합쳐지면 이것이 분석의 툴이 된다.

변수들 간 상관관계를 아는 방법은 딱 하나뿐이다. 'Try and Error'다. 먼저 감정분석 모델을 만들고 6억 개의 데이터 중 5억 개를 학습시킨다. 그러면 모델이 각각의 변수들의 값을 기억한다. 다음으로 1억 개는 답을 알려주지 않은 채 모델이 스스로 맞추도록 한다. 우리가 알고 있는 정답과 비교해보면 그 모델이 얼마나 정답을 잘 맞췄는지 테스트할 수 있다. 이런 과정을 계속 반복한다. 이를 통해 연관 관계를 높이고 정답에 가까이 갈 수 있는 방법을 지속적으로 찾고 시도한다.

IT동아: 믿을 만한 방식인가?

김 대표: 각각의 변수가 항상 맞아떨어지지는 않는다는 점까지 고려해 알고리즘을 설계했다. 예를 들면 좋아하는 사람과 대화를 하는데도 답장 시간이 느릴 수 있다. 그러면 이 경우에 감점을 얼마나 할 것인지 정한다. 그렇게 판단한 결과 좋아하는데도 답장 시간이 느리다면, 답장 시간이란 그리 중요하지 않는 요소로 보는 것이다. 이러한 방식으로 하나하나 찾아나가고, 학습이 끝나면 새롭게 테스트를 한다.

김 대표: STEAM은 현재 6억 개의 메시지를 학습한 상태인데, 현재 하루에 400만~500만 개의 정보가 추가로 들어오고 있다. STEAM은 지속적으로 학습을 하는 방식을 취하고 있기 때문에 데이터가 점점 쌓이면 쌓일수록 정교한 모델이 된다. 실제 데이터베이스를 바탕으로 사소한 차이들을 하나씩 발견했으니 근거가 있다고 본다.

또한, STEAM은 그 기술적 가치를 인정받아 중소기업청 예비기술창업자 지원사업에 선정되었으며, 서울시 특허지원사업에 선정돼 '사적 텍스트를 통한 감정분석 방법'이라는 이름으로 특허출원을 마쳤다(출원번호 10-2011-0015449). 연세대학교 SSK 소셜 네트워크 연구팀 사례 발표를 통해 기술에 대한 검증과 피드백 과정을 거쳐 기술적 완성도를 더욱 높였으며, 산학협력 프로젝트를 통해 데이터 및 기술 공유를 이어나가고 있다.

IT동아: 텍스트앳으로 분석한 내용이 사생활 침해 등의 문제가 되지는 않나?

김 대표: 물론 그런 고민을 했다. 그러나 이 서비스는 직원들이 대화를 직접 보는 구조가 아니다. 회사에는 분석된 데이터만 저장된다. 즉, 대화 자체는 저장되지 않으며 각 변수들의 값만 저장된다. 따라서 사생활 침해 문제는 없다. 모든 형태소를 저장하는 것도 아니고 필요한 형태소만 저장된다. 사람이 아닌 PC가 인식할 수 있는 데이터이므로 걱정하지 않아도 된다.

IT동아: 그렇다면 텍스트앳과 같이 감정분석을 하는 서비스가 또 있나?

김 대표: 국내외에서 사적인 텍스트 대화를 빅데이터로 활용해 감정을 분석하는 서비스는 텍스트앱이 최초인 것으로 알고 있다. 물론, 음성 대화에서 목소리를 토대로 감정을 분석하는 서비스가 나온 적은 있었다. 그러나 이는 감정이라기보다는 기분에 가깝다. '이 사람이 나를 좋아하느냐'라는 것은 목소리보다 더 깊은 문제인데, 내용이 아닌 음성의 톤만 분석을 하는 것은 한계가 있다고 본다. 물론 거짓말 탐지기처럼 아주 정밀하게 한다면 또 모르지만, 단순히 음성의 파동만 분석하는 것은 제한적이다.

텍스트앳은 서로를 이해하고 가까워지는 '연결고리'

IT동아: 주변 사람들 또는 사용자들의 반응은 어떠한가?

김 대표: 일단 사람들에게 텍스트앳에 대해 이야기하면 기본적으로는 믿지 않는다. 혹은 그저 재미로 하는 심리 테스트와 같은 서비스로 여기는 경우가 많다. 앱 리뷰를 살펴보면, '이런 서비스인줄 모르고 앱을 내려 받았는데 사용해보니 신기하다'라는 반응이 주를 이룬다.

하지만 직접 사용해보지 않은 사용자들에게 텍스트앳의 원리를 설명하더라도 납득을 시킨다는 것이 쉽지 않다. 아무래도 빅데이터란 대중적으로 알려진 개념이 아니기 때문인 것 같다. 게다가 B2B 분야에서 빅데이터를 활용하는 일은 있어도, 일반 대중들(B2C)을 상대로 빅데이터를 활용하는 서비스는 전 세계에서 처음이다 보니 애로사항이 많다.

카카오톡 대화를 바탕으로 감정을 분석하는 것이 불가능하다고 여기는 분들이 많지만, 실제로는 이것이 가능하고 정확하다는 것을 알리고 싶다. 직접 사용해보면 심리 테스트와 같이 재미로 하는 것이 아닌, 상당한 기술과 노력이 들어간 서비스라는 것을 알아주었으면 한다. 이를 위한 마케팅 방안도 구상 중이다.

IT동아: 그렇다면 텍스트앳을 통해 실제로 도움이 되었다는 사용자도 있나?

김 대표: 그렇다. 트위터나 이메일을 통해 연락이 많이 온다. 짝사랑하는 사람이 있어 텍스트앳을 활용해 보았더니, 예상과 달리 나쁘지 않은 분석 결과를 얻었다. 그래서 조금씩 다가갔더니 사귀게 되었다고 소식을 전한 사용자가 있었다.

한 여성분은 남자친구가 자신을 좋아한다고 하는데 진심이 느껴지지 않아서 믿지 않았다고 했다. 그런데 텍스트앳을 해보니 남자친구를 조금 이해할 수 있었다고 했다. 자신과 표현 방법이 달랐을 뿐 진심이었다는 것을 알고 오해가 풀렸던 것이다.

조금 슬프지만… 짝사랑하는 사람과의 대화를 텍스트앳으로 분석해 봤더니, 너무 솔직하게 나와서 상처를 받았다는 사용자도 있었다.

IT동아: 빅데이터를 바탕으로 한 감정분석 기술이 사용자들에게 어떤 의미를 준다고 보는가

김 대표: 텍스트앳에 대해 이야기하면, 어떤 이들은 ‘연애는 마음 가는 대로 하는 거지, 무슨 숫자놀음을 하느냐’라는 반응을 보이기도 한다. 그러나 그렇게 생각하지 않는다. 텍스트앳을 통해 사용자들이 이렇게, 저렇게 하기를 바라는 것이 아니라, 상대방을 이해하는 데 도움이 되기를 바란다. 남자와 여자가 정말 많이 다르기 때문이다.

IT동아: 실제로 감정분석을 하면 남녀 간 차이가 있나?

김 대표: 그렇다. 텍스트앳 사용자들을 살펴보면, 남자는 분석을 할 때 자신이 좋아하는 사람만 분석을 하더라. 좋아하지 않는 사람은 분석하지 않는다. 남자는 상대방의 감정에 그리 관심이 없는 것 같다. 자신이 좋아하는 것 자체를 중요하게 여기고, 상대방이 자신을 어떻게 생각할지를 여자보다는 덜 고려한다. 실제로 남자들 중에 '저 여자가 나를 좋아한다고 하는데 그게 과연 진심일까?'라고 고민하는 사람은 드물지 않은가. 반면, 여자는 좋아하는 사람이든 관심 없는 사람이든 골고루 다 분석한다. 여자는 상대방이 자신을 어떻게 생각하는지에 대해 굉장히 관심이 많다.

이모티콘을 사용하는 것도 다르다. 여자는 좋아하는 사람, 좋아하지 않는 사람과 상관없이 이모티콘을 사용한다. 물론 빈도나 이모티콘 모양의 차이는 있다. 그러나 좋아하는 사람에게 1.5배 더 많이 이모티콘을 사용할 뿐, 그 차이가 그리 크지 않다. 또한, 사람마다 정말 좋아하는 사람에게만 많이 쓰는 특정 이모티콘이 있다. 여성의 경우, 그런 이모티콘을 좋아하는 사람에게 보내는 비율이 70%이며 그렇지 않은 사람에게 보낼 확률이 30%로 나타났다. 반면, 남자는 좋아하지 않는 사람에게는 이모티콘을 거의 보내지 않는다. 좋아하지 않는 사람에게 보내는 이모티콘의 4배를 좋아하는 사람에게 보낸다. 또한, 정말 좋아하는 사람에게만 쓰는 이모티콘을 그 사람에게만 보낼 확률이 98%인 것으로 나타났다. 나머지 2%는 정말 어쩌다가 보내는 것이다.

이렇게 다른 사람들이 서로 대화를 한다면 어떨까. 남자들은 자신이 이모티콘을 거의 사용하지 않기 때문에, 여자가 이모티콘을 쓰면 '이 여자가 나를 좋아하는구나'라고 착각할 수 있다. 마찬가지로, 여자들은 자신은 항상 이모티콘을 쓰다 보니 남자가 사용하는 이모티콘에 무심할 수 있다. 이렇게 자신의 패턴으로 상대방을 이해하려 하니, 오해가 생기기도 쉽다.

이런 점에서 텍스트앳은 남녀가 서로를 이해하는 데 도움이 되지 않을까 한다. 또한 텍스트앳이 도움이 되어 관계가 진전되었다는 소식을 들을 때가 가장 보람차다. 텍스트앳을 지혜롭게 사용하고 진실된 마음으로 상대방에게 접근한다면, 두 사람의 관계가 보다 긍정적으로 이루어질 것이라 생각한다.

궁금증을 일으키는 놀라운 서비스를 만들어나갈 것

IT동아: 앞으로의 계획이 있다면

김 대표: 사용자들이 가장 많이 요구하는 것 중의 하나가 문자메시지, 또는 비트윈이나 라인 등 다른 앱에서 나눈 대화도 분석할 수 있게 해 달라는 것이다. 특히 문자와 라인에 대한 수요가 높다. 물론, 이는 감정분석 측면에서 어렵지 않다. 카카오톡에서 하는 대화와 라인에서 하는 대화가 다른 건 아니기 때문이다. 다만, 아직 서비스 초기이다 보니, 처음부터 너무 많은 것을 추가하다 보면 사용자들이 UI나 UX에 혼란을 느끼거나 복잡하다고 여길 수 있다. 그래서 카카오톡으로 시작을 했고, 곧 문자메시지와 라인도 추가할 예정이다.

여성 사용자들로부터 동성 친구 간의 대화도 분석하게 해 달라는 요청도 받고 있다. 물론 개발할 의향이 있다. 다만, 현재의 분석 방법을 그대로 쓸 수는 없으니 실제로 테스트를 거쳐야 한다. 이를 통해 동성 친구들의 관계를 개선하는 데도 도움이 되고 싶다.

수익 모델의 경우, 현재 '당근'이라는 모바일 결제 방식으로 받고 있지만 정기권 형태도 고려하고 있다. 어떤 방식을 택하는 것이 사용자들에게도 좋고 회사에도 좋을지 고민하고 있다.

또한, 다른 언어로 개발을 하고 싶다. 특히 일본의 경우 감정분석 서비스가 문화적으로 잘 맞을 것이라 예상한다. 데이터만 있다면 분석 방법 자체는 크게 다르지 않으니, 일본어 데이터가 있다면 가능성이 있다고 본다. 이를 바탕으로 해외 진출도 생각하고 있다.

빅데이터 분석 기술을 토대로 다른 서비스를 만드는 것도 고려하고 있다. 현재 일반 대중들을 상대로 빅데이터를 활용한 서비스가 없는데, 잘 활용한다면 재미있고 실생활에 도움이 될 것으로 본다. 앞으로도 처음 설명을 들었을 때 '그런 게 가능해? 그런 서비스가 있어?'라는 궁금증을 일으킬 만한 서비스들을 만들어나가고 싶다. 국내 모바일 앱 시장은 게임에 치중되어 있는데, 실생활과 밀접한 서비스를 만들어 게임이 아닌 것도 성공할 수 있다는 것을 입증하고 싶다.

글 / IT동아 안수영(syahn@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.