비정형 데이터 기반 텍스트 마이닝
- 쇼셜이노베이션융합전공
- 조회수1121
- 2021-04-28
일반인들에게도 이제 귀에 익숙해진 빅데이터는 통상 숫자로 표현되는 정형 데이터(structured data)와 오디오, 텍스트 문서, 이미지, 비디오 등과 같은 비정형 데이터(unstructured data)로 대별된다. 즉, 빅데이터는 바로 숫자로 표현되지 않은, 다양한 유형의 구조화 되지 않은 비정형 데이터를 포함한다. 최근의 빅데이터는 기존의 비정형데이터가 90% 이상으로 압도적인 비중을 차지하고 있으며, 그 비중은 점점 높아지고 있다.
따라서 빅데이터 분석은 엄청난 크기의 비정형성, 그리고 불확정성에 대한 도전이라고도 할 수 있다. 날마다 트위터와 페이스북, 스마트폰의 메신저 앱, 인스타그램, 유투브 등에서 엄청난 양으로 쏟아져 나오고 공유되는 텍스트, 이미지, 동영상을 수학 모델과 자동화 알고리즘으로 분석하여 그 사회적 의미를 파악하고 정치, 행정, 외교, 안보, 홍보, 그 외 각종 비즈니스 전략에 효과적으로 적용하는 일은 단순한 기술적 요구를 뛰어넘는다. 대부분의 경우 단지 엄청나게 커지기만 한 데이터는 그 자체로 답을 주지 않는다. 처리할 수 있는 데이터의 양에 집착하기 보다는, 빅데이터가 불러온 새로운 도전에 직면하여 보다 포괄적이고 심원하게 데이터가 표상(represent)할 수 있는 세상의 본질을 꿰뚫는 이론적, 방법론적 통찰이 필요하다.
텍스트마이닝의 기본과정은 Text -> Parse -> Weight -> Transform -> Classification / Cluster 로 구분된다. 텍스트마이닝의 통계적 분석 기법으로는 주어진 키워드(or query)에 근거하여 문서들을 할당하는 분류기법으로 의사결정나무, 신경망분석, 베이지안 분류, 최근접 분류, SVM 등이 있으며, 사전 정보 없이 비슷한 문서들을 집단으로 묶는 군집기법에는 K-means, SOM, EM cluster 등이 있다.
텍스트(Text)를 수집하는 방법은 크롤링(crawling) 혹은 스크래핑(scraping)으로 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위로, 크롤링하는 소프트웨어는 크롤러(crawler)라고 부릅니다.
파싱(Parsing)은 어떤 페이지(문서, HTML 등)에서 사용자가 원하는 데이터를 특정 패턴이나 순서로 추출하여 정보를 가공하는 것으로 예를들면, HTML 소스를 문자열로 수집한 후 실제 HTML 태그로 인식할 수 있도록 문자열을 의미있는 단어로 분해하고, 계층적인 트리 구조를 만드는 과정으로 다음 그림과 같이 매트릭스 형태로 정형화된 데이터 구조로 변환하는 것을 의미한다.
출처: 비정형 데이터를 기반으로 한 빅데이터 필요기술 및 적용사례
Weight(가중치) 단계에서는 각 단어의 특징을 반영한 가중치를 사용하여 단어와 문서간에 상호 관계를 더 잘 나타내고자 Weighted Matrix를 구조화한다. 이때, 지역적 가중치(Local Weight)는 어떤 문서(document)가 전체 문서(corpus) 중에서 차지하는 정보를 반영하지 못하기 때문에 해결책으로 단어 가중치(Term Weigths = Global Weights)를 동시에 고려해야 한다.
* 전역적 가중치(Global Weights = Term Weights) : 전체 문서(Corpus)에서 어떤 단어(term)의 분포를 반영
Frequency weigth와 term weight를 결합하면 문서 내, 문서 간 정보를 다 얻을 수 있으며, 행렬 안에 들어가는 값들은 frequency weight와 term weight의 곱으로 계산할 수 있다. 가중치를 사용하여 비구조화 텍스트 파일을 숫자의 배열로 이루어진 구조로 변환된 형태로 구조화가 가능하며, Matrix에서 row(낱말)의 차원을 줄이기 위해서 그 해결 방안으로 Transformation(변환) 과정이 필요하다.
출처: 비정형 데이터를 기반으로 한 빅데이터 필요기술 및 적용사례
차원축소(Dimension Reduction)는 문서들을 본래 정의된 단어 공간보다 훨씬 작은 차원에 나타내고자 할 때 사용하며, 방법으로는 특이값 분해(SVD)를 통한 차원 축소와 Roll up term을 이용한 차원 축소가 있다.
1. 특이값 분해(Singular Value Decomposition)를 이용한 차원 축소
출처: 비정형 데이터를 기반으로 한 빅데이터 필요기술 및 적용사례
- Step 1) D라는 단어-문서 행렬을 차원 축소하여 Dk라는 행렬을 만든다.
Step 2) 양변에 Uk의 전치행렬을 곱해준다.
Step 3) UTkDk는 단어의 차원을 축소한 행렬로서 각 문서는 단어의 선형 결합으로 표현된다.
Step 4) Step 3의 행렬에 데이터 마이닝 기법들을 적용하여 분석한다.
SVD 개수에 대한 Guideline
1. 분석목적이 데이터 탐색용(exploration)이라면 (e.g. Clustering) SVD 수는 2개에서 50개 사이가 적당함.
2. 분석목적이 데이터 예측용(prediction)이라면 (e.g. Classification) SVD 수는 30개에서 200개 사이가 적당함.
차원축소과정을 거친 후 분류 및 군집 분석(Classification/Cluster)을 실시하여 결과를 해석할 수 있다. 군집분석은 각 객체(대상)의 유사성을 측정하여 유사성이 높은 대상집단을 분류하고, 군집에 속한 객체들의 유사성과 서로 다른 군집에 속한 객체간의 상이성을 규명하는 분석 방법이다.
출처: 비정형 데이터를 기반으로 한 빅데이터 필요기술 및 적용사례
텍스트마이닝에 대한 자세한 내용은 아래 링크에서 확인할 수 있습니다.
* 텍스트마이닝에서의 정형화 절차
https://dbrang.tistory.com/1230
* 군집분석
https://analysis-flood.tistory.com/46
* 출처: 비정형 데이터를 기반으로 한 빅데이터 필요기술 및 적용사례 비정형 데이터 어떻게 분석하나 |