DBguide 인터뷰 – “플랫폼보다 데이터 분석부터 시작해보세요” –

“플랫폼보다 데이터 분석부터 시작해보세요”

 

데이터 사이언티스트 전희원

전희원 데이터 사이언티스트와 최근에 이슈가 되고 있는 빅데이터와 데이터 분석에 대한 이야기를 나눴다. 자발적인 공부가 오늘날 자신을 만들었다는 전희원 씨는 현재 방송통신대 통계학과 4학년에 재학 중이다.
전희원 씨는 인하대 공대를 나와 고려대에서 머신러닝과 데이터 마이닝으로 석사학위를 받았다. 다음소프트와 야후!코리아에서 근무하면서 기계학습 검색 랭킹, Spelling Suggestion같은 대용량 로그 기반 지능형 서비스 애플리케이션을 개발해 왔다. 현재 NexR에서 데이터 사이언티스트로 일하면서 freesearch.pe.kr 개인 블로그를 운영하고 있다. [실전 예제로 살펴보는 집단지성 프로그래밍]을 번역하였으며, 관련 전문지에 데이터 분석과 관련한 여러 편의 글을 기고하였다.
인터뷰 진행 및 정리: 박세영 12sypark@gmail.com [월간 마이크로소프트웨어] 편집장을 거쳐 IT 마케팅 테크니컬 라이터로 활동하고 있다.

블로그에‘데이터 사이언티스트’라고 자신을 소개하고 있었는데,그동안 어떤 일을 해왔는지 궁금합니다.

검색엔진 개발자로 직장 생활을 시작했어요. 야후코리아에서검색 엔지니어로 일하면서 대용량 데이터 검색 경험을 쌓으면서 데이터와 가까이 할 수 있게 됐어요. 데이터사이언티스트라는 용어는 비교적 최근에 나왔어요. 제 경우에는, 주변에서 (저를) 데이터 사이언티스트라고 부르더군요. 데이터 사이언티스트의 업무를 하고 있기도 하고요(웃음). 인터넷 검색 서비스 업체들에서 데이터를 다루는 담당자라면, 데이터 사이언티스트라고봐도 70%는 맞을 겁니다. ‘빅데이터’라는 용어가 나오기 전에 검색 분야에서는 빅데이터 이슈가 존재했었습니다. 엄청난 데이터 중에서고객에게 최적의 결과를 보여주기 위해서 필요했던 것이죠. 학계에서도 연구가 되고 있었고요. 대용량 데이터 처리 프로젝트를 성공적으로 달성한 구글(빅데이블)이나 아마존(DynamoDB) 등이 이를 오픈소스로 공개하면서 빅데이터가 일반 영역에서도 이슈로 떠오른 것이죠.

데이터 사이언티스트는 전산학을 기반으로 통계학, 인지심리학, 디자인 등 다양한 영역의 전문 지식을 갖춰야 한다고 들었습니다.

첫 직장이었던 검색엔진 개발업체에서 일할 때 머신러닝 학습이나 데이터 마이닝에 대해 공부해야 할 필요성을 절실히 느꼈어요. 그래서 고려대 대학원에 등록해 공부했는데 이게 큰 힘이 됐어요. 석사 논문을 쓸 때 마침, 야후!코리아에서 ‘하둡 기반의 빅데이터 분석을 통한 서비스 개선’ 프로젝트가 진행됐습니다. 이 때 경험을 반영해 논문을 작성해 최고 논문상까지 받았어요. 야후!에서 근무할 때 기계학습 분야의 권위자(사이언티스트)로부터 기계학습과 데이터 마이닝에 대한 실무 노하우를 배운 것도 큰 힘이 됐고요.그 분은 제가 데이터에 대해 눈을 뜨게 해준 고마운 분이었습니다.

최근 블로그에 ‘데이터 비주얼라이제이션’에 대해 글을 올리셨더군요. 그 분야도 별도로 공부하고 있나요?

데이터 분석을 하다 보면 시각화에 자연스럽게 관심을 갖게 될 수밖에 없어요. 대용량 데이터에서 도출한 자료를 대상자에게 알아보기 쉽게 제시하는 게 중요하니까요. 컴퓨터가 분석을 해주지만 패턴을 파악하는 건 사람의 눈만큼 뛰어난 게 없어요. 즉 인간의 뛰어난 인지능력을 발휘하도록 도와주는 게 시각화예요. 그래프로 플로팅해보면 모호했던 것이 분명해집니다. 따라서 비주얼라이제이션은 매우 중요하고 분석 업무를 하려면 어도비 일러스트 같은 디자인툴에도 관심을 가질 필요가 있다고 봅니다.

분석에서 통계학이 기반이 된다고 하는데, 그 부분은 어떻게 접근했나요?

야후!에서 빅데이터 분석 프로젝트를 하면서 데이터 처리에 어느 정도 자신감이 붙자 통계학을 공부해야겠다는 생각이 들더군요. 이리저리 알아봤는데, 방송통신대학의 학부 과정을 많이 추천하더라고요. 지난해에 3학년에 편입해 이제 1년이 됐습니다. 데이터 분석에 근거한 기계학습과 머신러닝은 통계학에 뿌리를 두고 있을 만큼 분석 분야의 기초 학문이 통계학이기 때문에 데이터 분석 업무를 하려면, 통계학을 분명히 공부해두는 건 필수에 가깝다고 생각합니다. 통계학 수업을 들으며, 의외로 다양한 영역의 사람들이 통계학을 공부하러 온다는 것을 알게 됐어요. 사회과학자, 의사, 교수, DB 엔지니어 등 전문가들이 필요에 의해 자발적으로 통계학을 공부하고 있었습니다.

데이터 분석에 관심을 갖고 있는 개발자나 DB 엔지니어에게 조언을 한다면요.

흔히 컴퓨터 분야에서 일하는 사람들은 유행에 매우 민감하다고 합니다. 저도 예외는 아니었죠. 대신 저는 제가 하는 일을 제대로 해보고 싶다는 생각을 했어요. 만약 어떤 아이템이 유행한다고 그걸 따라 다녔다면, 저는 수많은 데이터 분석 경험을 갖지 못했을 겁니다. 한 분야를 물고 늘어졌던 게 저를 공부하게 해줬고 스스로를 동기화해 줬던 거 같습니다. 지난해 겨울에 넥스알로 옮겨올 때 약간의 시간이 나서 요즘 유행하는 안드로이드 모바일 프로그래밍을 일주일 간 집중적으로 공부한 적이 있었습니다. 모바일에 대해 이해 해두는 게 도움이 될 거 같다는 생각에서요. 예전에 셀빅 PDA 프로그래밍을 좀 했는데, ‘안드로이드 모바일 프로그래밍의 기반도 예전의 PDA 프로그래밍과 별 달라진 게 없구나’ 하는 생각을 하게 됐습니다. 공부를 하다 보니, 어느 시점에 이르면, 다른 분야와 연결된다는 느낌으로 다가올 때가 있더군요. 그렇기 때문에 될 수 있으면 ‘베이스’에 대해 다시 공부하는 것을 추천합니다. 새로운 게 나왔다고 불안해 하는 대신 베이스를 다시 한번 되짚어 보면 큰 힘이 될 거라고 생각합니다.

베이스라면 무엇을 의미하나요.

학부 수준의 DB 관련 지식이나 알고리즘에 대한 것이 예입니다. 리마인드 차원에서 다시 공부해 명확히 이해 해두면 ‘유행에 뒤쳐지는 것 아냐?’ 하는 불안한 마음도 누그러지고 스스로 힘이 생긴다는 느낌이 들었습니다. 방송통신대에서 공부할 때, 전공 과목이 시간이 겹쳐 알고리즘 과목을 수강해야 했는데 정말 큰 도움이 됐습니다. 제 기준으로 보면, 앞서 얘기했듯이 학위 취득보다 제가 하고 있는 일에 대한 호기심이나 현업에서 필요한 것을 공부했을 때 강력한 내적 동기화가 됐어요.

데이터 사이언티스트는 사회 현상에 대해서도 관심을 가져야 한다 더군요.

직접적인 답변이 될지 모르겠는데요, 방송통신대 통계학과 동기생들 중에 사회과학자들이 의외로 많다는 데 놀랐어요. 더불어 신문방송학과나 광고?홍보학과 교수들이 데이터 분석 협조 요청을 자주 해와요. 컴퓨터 과학과 통계학을 기반으로 데이터를 분석하지만, 그 결과는 대부분 인간에 대한 이해들이기 때문에 그렇지 않나 싶어요. 개인적으로도 공개된 데이터를 토대로 사람과 관련된 것을 분석해 보면 재미있는 결과들이 나오는 것을 여러 번 경험했어요.

예를 들어서 설명해주실 수 없나요?

트위터에서는 자신의 팔로어들 정보를 불러올 수 있어요. 제가 열심히 트위터를 사용하지 않지만 300명이 넘는 팔로어들이 있더라고요. 그들이 어떤 것에 관심을 갖고 저를 팔로잉했는지 분석해봤는데 역시나 데이터나 분석에 관심을 갖고 찾아온 분들이더군요.

이런 생각을 가진 일반들이 적지 않을 거 같은데 비전문가들이 분석할 수 있는 툴들이 없나요?

아직은 누구나 쉽게 사용할 만큼 쉬운 툴들은 보지 못했습니다. 하지만 그런 시도는 필요하다고 봅니다.

요즘 빅데이터에 대한 관심이 높은데 미리 경험해본 전문가 입장에서 이 분야에 관심을 가진 분들에게 조언을 한다면요.

빅데이터도 웹2.0도 핵심은 데이터라고 생각합니다. 하지만 현재로선 플랫폼에 관심이 더 쏠린 느낌입니다. 데이터 분석과 통계, 마이닝을 공부하면서 필요해지면 플랫폼에 대해 공부하는 방법이 있는데, 플랫폼부터 접근하면 실체를 알 수 없기 때문에 더 막연해질 수 있고 내적 동기화가 덜 되지 않을까 생각해 봤습니다. 물론 사람마다 공부하고 적응하는 방법이 다르지만요. 빅데이터의 핵심이 무엇인지를 늘 생각해보면 좋을 거예요. ‘핵심은 데이터’라고 본다면, 분석과 통계?마이닝 공부를 우선해야 한다는 말이 될 거 같습니다.

데이터 사이언티스트가 되기 위해서는 시간이 많이 필요하다고 하는데 왜 그런가요?

적은 데이터를 다룰 때는 모르겠는데요, 데이터가 커지면서 노하우가 필요했어요. 하나의 예로서 야후!에서 검색엔진을 개발할 때, 대용량 데이터에 색인을 걸어두면 중간에 시스템이 다운되는 거예요. 이 문제의 해결 키는 데이터 클리닝이었어요. 이게 바로 노하우입니다. 이런 경험을 많이 하려면 절대적으로 시간이 필요한데, 그런 시간이 필요하다는 의미가 아닐까 합니다. 더불어 데이터 분석만 했던 사람들은 리눅스 커맨드라인 인터페이스를 낯설어 하더군요. 텍스트 마이닝 단계에서는 맥OS를 포함한 리눅스 등이 주로 사용되는데, 노하우는 여기서 분명히 드러나더군요.
소위 ‘꼼수’가 통할 수 있기 때문이지요. 윈도우 OS는 이런 게 제한적이므로 분석에 입문하려면 리눅스와 친해질 필요가 있습니다. 그런 공부까지 하려면, 시간을 꽤 할애해야 할 겁니다. 최근 한 책에서 봤는데, 사람들이 무언가를 할 때 초조해 하는 이유는 그 일이 해결되는 데 필요한 절대적인 시간을 적게 할애해 놓은 데에 있다고 하더군요. 일단 데이터 분석에 관심을 갖고 흥미로운 지점을 발견하는 데서부터 시작하라고 권하고 싶습니다.

그래서인지 MS 엑셀로 데이터 분석을 한다는 사람들도 봤습니다.

좋다고 봅니다. 실제로 어떤 분은 데이터 분석 대회에서 ‘엑셀’만으로 상위권에 오른 것을 본적이 있어요. 데이터 분석이 핵심이지 도구의 문제는 아니라는 의미입니다. 따라서 R와 같은 전문 데이터 분석 툴을 모르겠으면 엑셀부터 시작해도 좋다고 봅니다. 부족하다고 느끼는 시점부터 R를 공부하는 것이죠.

블로그에서 R에 대한 포스팅이 많았어요. R가 무엇인지 쉽게 소개해주세요.

‘R는 데이터를 다루는 언어’라고 정의하면 아무래도 쉽지 않을까 합니다. 통계학자가 만든 거라서 일반 프로그래밍 언어와 다른 부분이 적지 않습니다. 제 개인적으로 Perl이나 파이선을 배우는 데 걸렸던 시간보다 R를 배우는 데 더 많은 시간이 걸렸어요. 하지만 데이터를 분석하다 보니 왜 그렇게 만들었는지 이해할 수 있게 되더군요. 아무래도 컴퓨터 프로그래머가 만들었더라면 더 명쾌했을텐데, 통계학자가 만들어서인지 아쉬운 점이 보였습니다. 그래도 사용해보면 알겠지만, 대단한 도구라는 점은 분명합니다.

R는 어떤 방법으로 공부했나요?

제가 공부할 때는 번역된 문서나 책이 많지 않았어요. 이라는 책으로 공부했습니다. 이미 통계학 관점에서 R를 소개한 번역서가 나왔기 때문에 컴퓨터 과학 측면에서 접근한 R 책과 함께 보면 좋을 겁니다. 최근 한 출판사에 R 분야의 유명한 책인 을 번역?출간 예정인 걸로 알고 있어요. 통계와 컴퓨터를 동시에 이해하는 저자가 쓴 책이기 때문에 큰 도움이 될 거라고 생각합니다. 대용량 데이터를 다룰 때는 책이나 웹에서 알려준 방법이 통하지 않을 때가 있을 거예요. 이때는 커뮤니티를 통해 전문가들로부터 도움을 받을 수 있으므로 적극적인 커뮤니티 참여도 필요합니다.

요즘 IBM, 오라클, EMC 등이 분석 전문 업체를 인수해 상용 분석툴을 내놓고 있는 걸로 알고 있습니다. R는 이러한 도구와 경쟁관계에 있다고 볼 수 있나요?

이에 대한 직접적인 답보다 각 툴의 도메인이 있다는 것으로 대신하고 싶습니다. SAS나 SPSS는 알고리즘 하나 추가하는 데 수백에서 수천 명이 테스트한다고 들었습니다. R와 같은 오픈소스 제품은 상용 분석툴처럼 전문적으로 정확성 테스트를 하기가 현실적으로 쉽지 않습니다. 따라서 생명과 즉결되는 영역 등 미션크리티컬한 분야의 데이터 분석은 아무래도 상용 툴의 영역으로 남지 않을까 생각합니다. 이런 분야를 제외한다면, 오픈소스인 R를 도입하면 패키지 구입비 절감과 함께 불편함을 겪는 과정 중에 튼튼한 실력까지 갖추게 될 거라고 생각합니다. 더불어 IBM, 오라클, EMC 등이 내놓은 상용 분석툴에서 R API를 제공하기 때문에 더 유리하다고 볼 수 있습니다.

오픈소스 커뮤니티에도 적극 참여하고 있더군요.

파이선과 R를 사용하면서 늘 고맙다는 생각을 했어요. 이렇게 훌륭한 툴을 무료로 공개한 것에 깊은 인상을 받은 것이지요. R는 지난 2010년부터 사용해왔는데, 4000여 개의 R 확장 패키지들이 나왔음에도 불구하고 한글을 지원하는 게 없어서 아쉬웠습니다. 자연어 처리업체인 다음소프트에서 일하면서 한글이 정말 과학적임을 실감했는데, 마침 ‘뿌리 깊은 나무’라는 드라마를 보면서 마음을 잡았습니다. 세종대왕께서 한글을 창제할 때 고민하던 모습을 보면서 ‘한번 만들어 봐야겠다’고 결심한 거지요. KoNLP라는 R 패키지는 이렇게 해서 일주일 만에 내놓을 수 있었습니다. 초기에는 버그도 많았지만 많은 분들의 도움으로 나름대로 틀을 갖춘 패키지로 자리잡을 수 있었습니다. KoNLP를 ‘TwitteR‘ 패키지와 결합하면 분석 결과에 대한 비주얼라이제이션까지 가능해요. 최근 TwitteR의 CJK(Chinese-Japanese?Korean) 지원 문제가 해결돼 직접 ‘트위터 워드 클라우드’를 만들어 볼 수 있을 겁니다. 더불어 오픈소스 커뮤니티에서 활동하면서 문제를 직접 해결해 보고 해결되지 않는 점은 R 코어팀에서 이슈를 제기해 오픈소스 이념에 보답하면 좋겠다고 생각합니다.

우리나라에서 빅데이터 발전을 위해 정책적인 지원을 많이 하는 것으로 알고 있습니다만, 전문가로서 아쉽게 느낀 점은 없나요?

야후!에서 근무할 때 느낀 겁니다만, 거기에서는 개인정보를 제외하곤 방대한 데이터에 대해 자유롭게 접근해 자체 하둡 클러스터에서 직접 분석해볼 수 있는 환경을 제공하는 문화가 있었습니다. 때문에 여기서 많은 실무 경험을 할 수 있었고 실험 결과를 토대로 논문까지 쓸 수 있었습니다. 결국 문화의 문제인데요, 데이터 접근도가 낮으면 그만큼 발전의 기회도 차단된다고 봅니다. 데이터를 다뤄야 하고 혁신적인 아이디어에 의지하는 회사라면, 자유로운 데이터 접근 경로와 이를 분석할 수 있는 플랫폼을 마련해주는 게 중요하다고 봅니다. 더불어 정부나 공공기관에서도 외부에 공개할 만한 대용량 데이터가 있을 경우, 적극 공개해 데이터 분석에 관심을 가진 이들에게 공부할 수 있는 장을 열어줄 필요가 있다고 생각합니다.

데이터 사이언티스트에 관심을 가진 독자께 한마디 부탁드립니다.

데이터베이스와 알고리즘, 프로그래밍 언어를 어느 정도 이해하고 있다면, 분석에 대한 관심부터 가져볼 것을 권합니다. 자신의 목표 지점에 이르려면 벽을 뛰어넘어야 할 순간과 맞닥트릴 건데요, 그때 포기하지 말고 물고 늘어져보세요. 고민하고 힘든 만큼 분명 남는 게 있을 겁니다. 그리고 통계학?데이터 마이밍 등 다양한 분야를 한번에 공부한다고 생각하지 말고 절실히 필요한 시점이 오면 하는 방법이 있습니다. 하나가 해결되면, 공부해야 할 다른 분야가 나타날 겁니다. 그때마다 스스로를 동기화하면서 도전하는 겁니다. 파이팅!

출처 : 한국DB진흥원

제공 : DB포탈사이트 DBguide.net

CC BY-NC 4.0 DBguide 인터뷰 – “플랫폼보다 데이터 분석부터 시작해보세요” – by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.