Text Mining 이란 무엇인가? - written by Monolab
텍스트 마이닝 (Text Mining)은 이러한 문제를 풀고자 시작된 연구 분야이다. 일반적으로 텍스트 마이닝은 대용량의 데이터에서 사용자가 관심을 가지는 정보를 찾아내는 프로세스를 의미한다. 텍스트 마이닝 기법을 통해서 대용량의 데이터는 컴퓨터에 의해서 “이해”되어진 상태로 분류되고 처리될 수 있다. 지금까지 사람의 영역으로만 남아있던 데이터 의미에 대한 “이해”를 컴퓨터가 직접 함으로서 정보의 폭발적인 증가가 초래한 많은 문제들을 해결할 수 있을 것이다. 또한 더 나아가 텍스트 마이닝은 대용량의 데이터 속에서 값어치 있는 숨겨진 패턴을 발견하고 특정 주제와 연관된 데이터를 검색하는데도 사용될 수 있다. 지금까지의 인터넷 검색 엔진이 단순히 사용자가 입력한 단어에만 의지하여 검색을 수행하였다면, 텍스트 마이닝을 활용한 지능형 검색 엔진은 사용자의 의도와 의미를 분석한 검색을 제공할 수 있을 것이다.
그림 1 은 검색 엔진과 텍스트 마이닝이 어떻게 통합될 수 있는지를 보여주고 있다. 검색 엔진이 단순히 구조화 되어 있지 않는 데이터들 속에서 키워드에 기반을 두어 문서를 찾아 준다면 텍스트 마이닝 엔진은 그 같은 검색 결과들 속에서 사용자가 필요로 하는 데이터를 의미를 중심으로 한 구조화된 형태로 제공할 수 있다.
텍스트 마이닝은 정보 검색 (Information Retrieval), 기계 학습 (Machine Learning), 통계학, 자연언어처리 (Natural Language Processing), 그리고 데이터 마이닝 (Data Mining)과 같은 여러 학문 분야의 연구 성과들에 기반을 둔 학제간 연구의 성격이 큰 학문이다. 여기서는 텍스트 마이닝의 구성 요소에 대한 기술적 개요와 텍스트 마이닝을 활용한 응용 분야를 살펴보고자 한다.

2. Technology Overview


그림 3. 인터넷 사이트의 직업 공고에서 추출된 정보
텍스트 전처리는 일반적인 텍스트 데이터들을 컴퓨터가 처리하기 쉽도록 변환하는 작업이다. 전처리를 거친 텍스트 데이터는 컴퓨터가 처리할 수 있는 다양한 방식으로 표현되는데 예를 들어 문서의 단어들이 벡터 공간 속에서 표현되기도 한다. 좀 더 좋은 성능을 위하여 품사 정보와 의미 정보를 고려한 텍스트 전처리 작업도 가능하다.
텍스트 마이닝은 많은 부분 데이터 마이닝과 유사하다고 할 수 있다. 특히 데이터 분석에 사용되는 알고리즘은 데이터 마이닝에서 사용되는 알고리즘과 거의 동일하다. 한 가지 다른 점은 데이터 마이닝이 데이터베이스에 저장되어 있는 잘 구조화된 데이터(structured data)를 대상으로 마이닝을 수행한다면 텍스트 마이닝은 컴퓨터에 저장되어 있는 문서, 이메일, 웹 페이지를 대상으로 마이닝을 수행한다는 점이다. 텍스트 전처리 작업은 이 같이 다양한 종류의 문서를 텍스트 마이닝이 분석할 수 있도록 해주는 처리 단계라고 할 수 있다.
텍스트 전처리 작업은 텍스트 마이닝 알고리즘의 성능을 결정짓는 핵심적인 요소이다. 최근 자연 언어 처리와 기계 학습을 응용하여 텍스트 전처리를 처리하는 연구가 활발히 진행되고 있는데, 뒤에 언급될 IBM의 WebFountain 프로젝트도 그 중 하나라고 할 수 있다.
2.2 텍스트 마이닝 기법들
정보 추출은 컴퓨터를 이용한 자연 언어 처리의 제한된 형태라고 할 수 있다. 자연 언어 처리가 인간이 사용하는 언어 자체를 입력으로 받아 전체를 이해하려는 시도라면, 정보 추출은 사용자가 원하는 의미 있는 정보에만 관심을 가진다. 일반적인 정보 추출 작업은 앞서 언급된 텍스트 전처리 작업을 거친 뒤에 파싱 (parsing)된 단어, 구문, 문장들에 대해 의미적인 분석을 통하여 관련된 영역을 탐지하고 추출하게 된다.
문서 분류는 주어진 키워드에 따라 문서를 분류하는 기법으로서 주어진 키워드 집합에 따라 이 문서가 해당 카테고리로 분류될지 안 될지를 결정하게 된다. 문서 클러스터링은 문서들을 분석하여 동일한 내용의 문서들을 묶는 기법이라고 할 수 있다. 문서 분류/클러스터링은 문서를 관련된 내용 별로 자동으로 구조화함으로써 사용자가 많은 양의 문서들을 좀 더 편리하게 접근할 수 있게 해준다. 문서 분류/클러스터링 서비스로 가장 유명한 구글의 뉴스 서비스 (www.google.co.kr/news) 는 문서 분류/클러스터링 알고리즘을 통해서 여러 뉴스 사이트에 게재된 뉴스를 자동으로 편집하여 사용자에게 제공하고 있다.
토픽 트랙킹 시스템은 하루에도 수만 개의 문서가 새롭게 생성되고 있는 인터넷에서 유용하게 활용될 수 있다. 시스템은 사용자의 프로필에 따라 사용자가 관심 가질 것으로 예상되는 문서들만을 추출하여 사용자에게 제공해준다. 예를 들어 이 시스템을 통해서 회사는 경쟁 업체의 동향을 좀 더 손쉽게 관찰 할 수 있을 것이고, 의료업계에서는 최신 연구 결과와 신약 정보를 놓치지 않고 제공받을 수 있을 것이다.
이미 야후와 구글 같은 검색 엔진 업체에서는 사용자의 프로필에 따라 사용자가 관심 있어 할 새로운 웹 문서 또는 뉴스를 발견하게 되면 사용자의 이메일로 알려주는 토픽 트랙킹 서비스를 지원하고 있다.
웹 마이닝은 다음과 같은 점에서 기존의 텍스트 마이닝과 다르다고 할 수 있다. 우선 웹 상의 문서 데이터는 계속해서 동적으로 변해간다. 하루에도 수많은 웹 페이지가 새로 생성되고 사라지기 때문에 정적인 인덱싱에 기반한 텍스트 마이닝 알고리즘을 직접 적용하기 힘든 문제점이 있다. 또한 웹 상의 문서들은 하이퍼링크로 연결되어 있기 때문에 마이닝 수행 시 각 문서간의 연결 구조를 고려한다면 좀 더 좋은 성능을 기대할 수 있을 것이다.
웹 마이닝 연구는 크게 3가지 분야로 나뉘어 진다. 첫 번째로 web usage mining 으로서 웹 서버에 보관되어 있는 로그를 분석하는 마이닝 기법이다. 웹 서버에 저장된 로그에는 사용자들의 웹 페이지 접속 패턴이 담겨 있는데, 이것을 통해 사용자들이 웹 페이지를 어떻게 사용하고 있는지 분석하여 웹 페이지 설계와 웹 페이지상의 광고 배치 등의 최적화에 활용할 수 있다. 두 번째로 web structure mining 이 있는데 하이퍼링크로 연결된 웹 페이지들간의 관계를 분석하려는 시도 이다. 마지막으로 web content mining 이 있는데 웹 페이지의 문서 데이터에 대해 다양한 텍스트 마이닝 알고리즘을 적용하여 값어치 있는 정보를 추출하려는 목적이다.
웹 마이닝의 흥미로운 점은 엄청난 분량의 다양한 정보를 무료로 접근할 수 있는 웹을 대상으로 한다는 것이다. 특히 웹 상에는 단순히 정적인 데이터와 정보만이 있는 것이 아니라 사람들이 올린 다양한 의견과 사람들 간의 상호작용까지 담고 있기 때문에 웹 마이닝은 앞으로 유용한 정보 공급원의 역할을 수행할 수 있을 것이다.
MIT에서 최초로 구현된 웹 상의 데이터에 기초한 질의응답 시스템인 START 는 특정 전문 영역만을 다룰 수 있는 현재의 질의응답 시스템보다 좀 더 일반화된 주제의 질의응답 시스템의 무한한 가능성을 보여 주고 있다..
Concept Linkage 시스템이 활발히 적용될 수 있는 분야는 생명 의학 연구 분야이다. 전 세계의 수많은 연구자들은 하루에도 수십 편의 생명 의약 분야의 논문을 발표하고 있기 때문에 한 연구자가 발표 되는 모든 논문을 다 읽고 자신의 연구 분야와의 관련성을 판별하기는 이미 불가능해졌다고 할 수 있다. Concept Linkage 시스템을 활용한다면 연구자는 손쉽게 자신의 연구 분야와 관련된 논문들을 검색할 수 있을 것이고 자신의 연구 분야와 전혀 다른 분야이지만 같은 주제로 연구를 수행하는 연구 결과를 참조 할 수 있게 되어 연구 성과를 향상시킬 수 있을 것이다.
2.2.7 문서 요약(Summarization)
문서를 요약하는 가장 큰 목적은 요약을 대상으로 한 긴 글이 사용자가 필요로 하는 정보를 닮고 있어 긴 글을 읽을만한 값어치가 있느냐를 판단하려는 것이다. 따라서 문서 요약 알고리즘은 글의 핵심 요점과 전체적인 의미를 놓치지 않으면서 글의 양을 줄여야 한다. 이 같은 목표를 달성하기 위해서는 문서 요약을 수행할 때 의미 분석이 필요로 하지만 현재의 자연 언어 처리 알고리즘은 인간 수준의 의미 분석과는 거리가 먼 단계이다.
현재 문서 요약 시스템에서 사용되는 주된 기법은 글의 중요 문장으로 예상되는 문장들을 추출하여서 구성하는 방식이다. 여기에 더하여 휴리스틱 (heuristic) 방법을 적용할 수 있는데 예를 들어 “결론은”과 같은 단어가 나온 문장은 해당 글의 주제가 담겨있는 문장으로 예상하여 요약 문서에 추가할 수 있다.
예를 들어 CRM 을 수행하려는 통신회사에서는 단순히 고객의 월간 통화량만을 데이터 마이닝 기법으로 분석하여 CRM 을 위한 고객군을 추출할 수도 있겠지만, 고객이 서비스 센터에 요청한 내역을 텍스트 마이닝 기법으로 분석하여 얻어진 정보를 함께 활용한다면 월간 사용량은 많으면서 현재 통신회사의 서비스에 불만을 가진 고객들을 불만 유형별로 나누어 관리할 수 있게 된다.
3. 텍스트 마이닝의 응용 분야
기업과 고객의 상호작용에 기반을 두어 구축되는 CRM 데이터베이스는 방대하고 다양한 형식의 문서 데이터를 저장한다. 텍스트 마이닝은 이 같은 CRM 데이터베이스를 분석하는 유용한 툴이라고 할 수 있다.
최근 HP 는 SAS 의 Text Miner 툴을 고객 서비스 데이터베이스에 적용하여서 비즈니스 의사 결정에 필요한 양질의 핵심 정보를 많이 얻을 수 있었다고 발표했다. HP 는 전화로 이루어진 고객의 서비스 요청을 문서형태로 데이터베이스에 저장하였는데 이 같이 저장된 수백만 건의 서비스 요청을 텍스트 마이닝 기법으로 분석하여 고객 서비스를 향상 시킬 수 있었다.
또한 텍스트 마이닝은 범죄 수사 분야에도 응용되고 있는데 애리조나 대학에서 개발된 COPLINK 시스템은 각 지역 경찰서의 데이터베이스에 저장된 사건 기록들을 분석하여서 범죄 사건들 중 관련되었다고 의심되는 사건들을 찾아내는 작업을 수행한다. 동일인에 의해 여러 지역에 걸쳐서 일어난 범죄의 경우 각 지역 경찰서가 다른 지역에서 일어난 관련 범죄를 인지 못하는 경우가 많았기 때문에 이 같은 텍스트 마이닝 시스템은 경찰의 범죄 수사 시에 많은 도움을 줄 것으로 예상된다.
3.3 IBM의 WebFountain
IBM 에서 개발한 WebFountain 은 웹 페이지, 이메일, 채팅과 같은 온라인 데이터를 컴퓨터가 분석할 수 있는 포맷으로 변경하여 저장하는 시스템이다. 분석이 용이하게 저장된 데이터는 다양한 마이닝 툴을 통해 손쉽게 분석할 수 있다.
WebFountain은 구조도의 하단부에 위치한 웹, IRC, 기업 데이터베이스, 뉴스그룹, 블로그 등의 다양한 데이터로부터 정보를 공급받는다. 웹 사이트와 블로그등의 정보를 수집하기 위해서 WebFountain은 특별히 설계된 크라울러(spiders)를 사용하여 데이터를 수집한다. 실시간으로 변하는 웹 상의 데이터를 WebFountain에 반영하기 위해서는 고성능의 하드웨어와 지능적으로 설계된 클라울링 (crawling) 알고리즘이 필요하다. WebFountain 은 효율적인 데이터 수집을 위해서 해당 페이지의 업데이트 지속 유무, 해당 웹 페이지가 시스템 사용자들이 관심을 가지는 주제를 포함했는지 등에 따라 가중치를 둬서 데이터를 수집하게 된다. 이렇게 수집된 정보는 annotation engine 을 통해 컴퓨터가 처리할 수 있는 규격화된 데이터 형태로 변환되게 된다. Annotation engine은 WebFountain 시스템이 텍스트 마이닝을 수행할 수 있도록 하는 기반 프로세스로서 해당 문서가 어떤 언어와 문자 셋으로 구성되었는지 분석하는 단순한 형태의 annotation 부터 이미 구축된 데이터베이스에 기초하여서 문서의 의미 정보를 분석하여 문서에 추가적인 정보를 삽입하는 복잡한 형태의 annotation까지 수행하게 된다. WebFountain 에는 다양한 토픽을 담당하는 annotation engine이 존재하는데 예를 들어 “우리는 설악산에 가서 사진을 찍습니다.”라는 문장을 지역 정보를 담당하는 annotation engine은 “우리는 <geo-ref=137E lat=38N> 설악산 </geo-ref>에 가서 사진을 찍었습니다.” 과 같이 지역 정보 tag을 포함한 형태로 변경하여 저장하게 된다. 분석 과정을 거치면서 표준화된 포맷으로 변경된 문서는 평균적으로 원본 문서의 10배 정도 길이가 되는데 이와 같이 첨가된 XML tag 정보는 데이터 분석 시에 매우 유용한 정보를 제공하게 된다. 기본적으로 WebFountain 의 비즈니스 모델은 일반 인터넷 사용자가 아닌 기업을 대상으로 하고 있다. 이미 많은 기업들은 다양한 분석 모델을 사용해서 자신들이 구축한 데이터베이스를 분석하고 있지만 이 같은 분석은 인터넷상의 방대한 자료들을 반영하고 있지 못하는 문제가 있다. WebFountain 은 이 같은 기업들의 문제를 풀어줄 플랫폼을 제공한다. 기업들은 자신의 비즈니스 영역에 관해 WebFountain 시스템이 생성한 최신의 정보 리포트를 주기적으로 전달받을 수 있다. 예를 들어 한 가전 업체에서 새로운 디지털카메라를 출시했을 때 수많은 사용자들은 새롭게 출시된 디지털 카메라를 구입하여 상품 평을 여러 웹사이트들에 개시할 것이다. WebFountain 은 이 같은 상품 평을 수집, 분석하여서 고객들의 새로운 디지털 카메라에 대한 만족도를 가전 업체에 제공해 줄 수 있다. 동적으로 변하는 온라인 데이터를 컴퓨터 쉽게 분석할 수 있는 포맷으로 변경함으로써 WebFountain 은 비즈니스의 의사 결정에 필요로 하는 유용한 정보를 제공하는 역할을 수행하게 된다. 온라인상의 데이터를 분석할 수 있는 플랫폼을 제공한다는 측면에서 WebFountain 은 텍스트 마이닝 분야의 가장 흥미진진한 프로젝트 중 하나라고 할 수 있다.

그림 4. WebFountain 의 구조
4. 결론
텍스트 마이닝의 또 다른 매력은 이미 구축된 방대한 데이터베이스로부터 우리가 알아채지 못했던 값어치 있는 정보를 찾아낼 수 있다는 점이다. 기업의 입장에서 작은 투자비용으로 큰 효과를 기대할 수 있기 때문에 텍스트 마이닝에 대한 기업의 수요는 더욱더 늘어날 것으로 예상된다.
References
[1] 그림4: a fountain of knowledge, IEEE Specture January 2004
[2] What Is Text Mining?, Marti Hearst, New York Times 2003
[3] Survey of Text Mining: Clustering, Classification, and Retrieval, Michael W. Berry, Springer 2003
[4] Mining the Web: Analysis of Hypertext and Semi Structured Data, Soumen Chakrabarti, Morgan Kaufmann 2002
[5] A Brief Survey of Text Mining, Andreas Hotho and Andreas Nu"rnberger and Gerhard Paaß, Journal for Computational Linguistics and Language Technologie 2005
[6] Tapping into the Power of Text Mining, W. Fan, L. Wallace, S. Rich, Z. Zhang, Communications of ACM 2005
[7] How to build a WebFountain: An architecture for very large-scale text analytics, D. Gruhl, L. Chavet, D. Gibson, J. Meyer, P. Pattanayak, A. Tomkins, J. Zien, IBM SYSTEMS JOURNAL, VOL 43, NO 1, 2004
[8] Johannes Furnkranz, Web Mining, The Data Mining and Knowledge Discovery Handbook 2005
이 글은 스프링노트에서 작성되었습니다.
댓글 없음:
댓글 쓰기