텍스트는 어떻게 분석되는가

2017 WINTER

이 슈

김도훈 | 아르스 프락시아 대표

텍스트
어떻게 분석되는가

텍스트 마이닝이란

비정형 데이터 분석이 각광을 받고 있다. 그도 그럴 것이, 빅데이터가 넘쳐나는 요즘 세상에서 세상에 존재하는 데이터의 80% 이상이 비정형 데이터로 추산된다(Chakraborty and Pagolu, 2014). 그 중에서도 텍스트는 가장 기본적이고 광범위한 비중을 차지하는 비정형 데이터이다. 이런 텍스트를 언어학, 수학, 통계학, 컴퓨터공학 등의 학문적 지식을 이용하여 특정 목적에 맞게 유의미한 정보를 추출하는 분석 및 처리 과정을 텍스트 마이닝(text mining)이라고 한다. 비록 요즘 텍스트 마이닝이 빅데이터의 신기원을 여는 기술인 양 각광을 받고 있지만, 그에 활용되는 학문적 지식들은 사실 1970년대부터 활성화된 것으로, 대체로 반세기 정도의 역사를 갖고 있다고 볼 수 있다. 반대로 얘기하면, 지난 50여 년간 축적되어 온 지식들이 최근의 빅데이터 시대에 어느 정도의 현실 정합성과 효과성을 가지는지 새로운 경험적 관점과 평가를 요한다.
필자는 비정형 데이터 분석에 전문성을 갖고 있는 리서치/컨설팅 회사를 운영하고 있다. 유럽에서 공부할 당시 사회심리학, 네트워크 과학, 사회과학 방법론으로서의 텍스트 분석이 주 전공이었고, 한국에 돌아와서는 수학, 통계, 컴퓨터공학 등의 전문가들과 함께 데이터 분석에 기반한 컨설팅을 10여년 가까이 업으로 하고 있다. 그 과정에서 느꼈던 텍스트 마이닝 방법론의 실제적 효용과 한계, 앞으로의 도전 과제에 대해 짤막하게나마 언급해 보고자 한다.

텍스트를 분석하는 다양한 방법들

텍스트는 다루기 어려운 데이터다. 허스트(Hearst, 1999)는 텍스트가 모호하고 추상적인 단어로 가득차 있고, 같은 단어도 문맥에 따라 개념이 변하며, 유사한 개념(동의어, 유의어)도 표현하는 다양한 방법이 존재하고, 통계적 관점에서 단어 하나하나가 각각의 차원을 이루기 때문에 쉽게 처리하기 힘든 고차원성을 가진다고 지적한다. 분석한 주요 특징을 시각화하기 어려운 것은 덤이다.

이러한 어려운 특징을 가진 텍스트의 핵심 의미를 캐내는 방법을 정형화하기 위해 수십 년간 다학제적(mu ltidisciplinary) 연구가 이루어져 왔다고 이해할 수 있다. 그 결과, 몇 가지 방법들이 널리 통용되게 되었다. 다음은 그런 자연어 처리의 주요 개념과 방법들의 예시이다.

자연어 처리의 주요 개념과 방법들의 예시

형태소(단어) 분석 의미의 최소단위인 형태소(morpheme)이나 단어에 대한 분석은 텍스트를 분석하는 가장 보편적인 방법으로, 문법적 규칙 혹은 확률에 의한 품사 태깅(part of speech tagging), 개체명 인식(named entity recognition), 철자 교정, 단어 식별(tokenization) 기법 등을 이용한다.
 
문자열 분석 영어의 음운이나 한국어의 글자의 개수(n-gram)를 지정하여 전체 텍스트 코퍼스를 분석함으로써 해당 문자열이 나왔을 때 그 다음에 어떤 글자가 나올지를 확률분포를 통해 예측한다.
 
핵심 어구 추출 텍스트를 어휘적으로 상호 관련 있는 단어들로 나누는 청킹(chunking)을 통해 핵심 어구를 추출하거나, 개체명 인식, 관계 추출(relation extraction) 등에 활용한다.
 
벡터 공간 모델 요즘 머신러닝 등에서도 종종 언급되는 벡터 공간 모델은 솔튼 등(Salton et al, 1975)에 의해 1970년대에 주창되었고, 지금도 활발히 활용되는 방법이다. 벡터 공간 모델에서 문서(document)와 단어(term)를 각각 벡터(vector)와 차원(dimension)에 대응시켜 통계적 가중치를 구한다. TF-IDF, 카이제곱 검정, 코사인 유사도 등을 통해 단어의 빈도수 분포에서 중요하지 않은 단어를 걸러내고, 문서의 유사도를 구한다.
 
동시출현 단어 분석 단어들 사이의 의미상의 관계성을 파악하기 위해 일정한 문맥 내에서 두 단어가 동시 출현하는 빈도를 구한 후, 다양한 통계적 방법을 활용하여 유의미한 단어 쌍을 추출해 낼 수 있다.
 
토픽 모델링 구조화되지 않은 대량의 텍스트로부터 숨겨져 있는 주제 구조를 발견하고 카테고리화 하기 위한 통계적 추론 알고리즘으로, LDA (Latent Dirichlet Allocation) 모델이 주로 활용된다. 각각의 창발적인(emergent) 주제를 각 행에 배열되는 단어들의 확률분포를 통해 표현한다.
 
텍스트의 감성 분석 감성 사전을 기반으로 분석 대상이 되는 전체 텍스트의 감성 비율을 정량화하는 기법이다. 통상적으로 긍정, 중립, 부정 등의 ‘평가어’ 분석이 감성분석으로 이해되나 이는 실제론 기쁨, 우울, 화남 등 심리학적인 감성 카테고리에 기반한 정량화의 한 특수한 사례이다.
 
의미연결망 분석 키워드 동시출현 분석 기법에 기반하거나 그 한계를 넘어1) 단어 간의 의미 혹은 맥락상의 연결 관계를 정의하고, 해당 연결 관계를 시각화하거나 중요한 컨셉을 네트워크 속의 위상(centrality)에 따라 추출하는 방법이다.
 
머신러닝 최근 ‘인공지능’이라는 마케팅 용어를 통해 텍스트 분석에서 활용되는 머신러닝 기법을 설명하는 경우들이 있으나, 엄밀히 얘기하면 머신러닝의 여러 기법들 역시 대부분 학계에서 이미 수십 년간 알려진 것들이다. SVM(Support Vector Machine), 의사결정트리(Decision Tree, 랜덤 포레스트(Random Forest) 등이 대표적이고, 최근에는 딥 러닝(Deep Learning) 기법이 활용되고 있다.

텍스트 마이닝 기술 이렇게 활용된다

실시간으로 데이터를 다루고, 고객에게 실제 도움이 되는 높은 품질의 분석 결과를 전달해야 하는 업계에서는 해당 기술들을 어떻게 활용하고 있을까? 사실, 행위자(업체, 연구자)에 따라 그 수준과 퍼포먼스가 천차만별이기 때문에 ‘업계’의 경험적 관점을 일반화하기는 어렵다. 그럼에도 불구하고, 나름 이 분야의 최전선에서 기존의 방법론을 테스트하고 새로운 방법론을 개발해 온 입장에서 몇 가지 생각들을 정리해 본다.
 
첫째, 자연어 처리(Natural Language Processing)는 데이터 전처리-프로세싱-분석-해석으로 이어지는 텍스트 마이닝에서 제일 앞단을 차지하는 과정이다. 사회에서 사람들을 만나면, 자연어 처리 자체가 복잡한 데이터의 분석을 위한 프로세싱을 하는 전가의 보도인양, 잘못 이해하는 경우가 많다.
둘째, 앞서 설명한 벡터 공간 모델, 동시출현 단어, 토픽 모델링은 복잡한 텍스트의 모래에서 대강의 특징만을 추출한, 매우 거친 체와도 같다. 그 자체만으론 현실세계에서의 상식과 경험을 능가하는 통찰을 찾아내기 어렵다.
셋째, 감성분석, 의미연결망 분석, 머신러닝은 서로 융합되면서 보다 정교하게 발전할 여지가 많다. 단, 빅데이터의 크기가 방법론적으로 산적한 과제들을 자동적으로 해결해 주진 않는다. 새로운 이론적 가정과 방법론적 숙고가 필요하다.
마지막으로, 같은 맥락에서 머신러닝 역시 보다 나은 수퍼비전(supervision)을 위한 방법론적 천착과 데이터 테스트의 축적이 필요하다. 우리의 경험으로 봤을 때, 인공지능의 학습을 위한 초기의 데이터(seed data)를 정제하고, 인간의 통찰력과 가정을 적용하여 피드백을 받는 과정이 머신러닝의 품질과 실제 필드에서의 해석적 가치를 결정하기 때문이다.