Q . 텍스트 마이닝 기술의 절차를 설명하세요.
텍스트 마이닝 절차
비정형 텍스트 데이터는 대체로 API 호출, 크롤링 등의 방법에 따라 수집됩니다.
API 호출이든 크롤링이든 비정형 텍스트 데이터가 수집이 되었다면, 본격적인 텍스트 마이닝 절차에 들어가게 됩니다. 그중 첫 번째 절차는 수집된 텍스트 데이터의 형태소 분석 혹은 토큰화입니다.
형태소(morpheme)란 의미를 가지는 최소 단위 단어로서 더 이상 두 개 이상의 의미를 가지는 단어로 나눌 수 없는 말 그대로 의미를 가지는 최소 단어 단위입니다. 또한 문서 혹은 문장을 이러한 형태소로 구분하는 과정을 토큰화라고도 합니다. 텍스트 마이닝에서 형태소 분석은 형태소 자체를 분석하는 것이 아니라 텍스트를 형태소로 구분하여 분석하는 것을 뜻합니다.
영어 문장은 단어의 배열이며, 띄어쓰기를 기준으로 토큰화 된 단어들을 이용항여 분석절차에 들어가면 되지만, 한글은 한 단어에 두 개 이상의 형태소가 포함된 경우(가령, “우리는”의 경우 “대명사 + 조사”로 구성)가 많아 영어에 비해 형태소 분석이 다소 번거롭습니다.
또한 토큰화 된 단어들 중에는 자주 사용되지만, 의미 없이 관성적으로 사용하는 단어들도 상당히 많습니다. 대표적인 예가 “나”, “우리” 등과 같은 대명사가 대표적입니다.
따라서 분석의 효율성 측면에서도 굳이 이런 단어들까지 분석에 포함될 이유는 없기 때문에 데이터를 정제하는 과정에서 제거하고, 해당 단어들을 불용어(stop words) 라고 합니다.
한글의 경우 9개(명사, 대명사, 수사, 조사, 동사, 형용사, 관형사, 부사, 감탄사)의 품사 중 명사가 분석 대상 문서 혹은 문장내 가장 많은 정보를 담고 있는 품사라는 점에서 정규화 과정을 통해 명사만 추출하여 분석하기도 하며, 감성 분석을 실행하는 경우 동사, 형용사, 부사처럼 실질적인 의미를 가지는 품사들만 별도로 추출하여 분석하는 것이 통상적입니다.
키워드 분석
텍스트 데이터의 정제작업 혹은 전처리가 끝나면, 단어-문서(term—document matric, tdm) 행렬 혹은 문서-단어 행렬(document-term matrix, dtm)을 구성하고, 이후 다양한 텍스트 마이닝 분석 기법을 적용하여 정보와 지식을 획득합니다.
먼저 다음 첫번째 그림은 단순 빈도(term frequency) 기준 tdm과 이를 기초로 구현한 워드 클라우드입니다.
우선 tdm은 그림처럼 문서가 행 기준, 단어가 열 기준으로 구성된 행렬을 말하며, dtm은 반대로단어가 행 기준, 문서가 열 기준으로 구성된 행렬을 의미합니다.
또한 그림은 “Chinese economy” 라는 키워드를 이용하여 해외 저널 DB(SCOPUS)에서 1990년부터 2019년까지 총 30년간 수집한 영어 초록을 기초로 합니다. 분석 결과처럼 문서수는 총 1700개, 단어 수는 58,000개가 조금 넘습니다.
워드 클라우드는 빈도수 기준으로 빈도가 많은 단어는 상대적으로 크게 시각화되도록 구현하는 텍스트 마이닝의 대표적인 분석 방법입니다. 분석 결과에 따르면 총 30년간 중국 경제에 대한 해외 연구들의 최대 관심사는 “개발”, “성장”, “에너지” 등등 이었음을 알 수 있습니다.
위 분석결과는 단어 빈도-역문서 빈도 분석(term frequency-inverse document frequency, TF-IDF) 결과이며, 이에 기초한 워드 클라우드를 구현한 것입니다. TF-IDF는 한마디로 이야기하면, 분석 대상 모든 문서에 자주 등장하는 단어보다는 특정 문서에 자주 등장하는 단어들의 출현에 방점을 두는 분석 방법이라 할 수 있습니다.
핵심은 단순이 빈도수 많은 단어가 반드시 중요한 단어는 아닐 수 있다는 점이 핵심 포인트입니다. 워드클라우드 분석 결과 역시 앞서 단순 빈도 분석 결과는 조금 다르게 “에너지”, “탄소” 등의 단어들이 핵심 키워드로 출현하고 있음을 알 수 있습니다.
n-gram 분석은 n개의 연속된 단어들의 집합을 의미합니다. 가령, 앞서 단어 빈도 분석 혹은 단어 빈도-역문서 빈도 분석처럼 단어가 하나인 경우 uni-gram, 두 개인 경우 bi-gram, 세 개인 경우 tri-gram이라고 합니다. 즉 하나의 단어로 분석하는 경우 “경제”, “성장”, “빠른”, “개발” 등으로 개별적인 빈도 분석 결과만 알 수 있습니다만, 가령, 위 그림의 좌측 분석 결과인 bi-gram 워드 클라우드 분석 결과를 보면, “경제 성장”, “빠른 개발” 등으로 분석 결과가 구현되어 문서와 문장을 이해하는 것이 좀 더 용이하게 됩니다.
이처럼 n-gram 분석의 장점은 하나의 단어보다 연속된 2개 이상의 단어들의 집합을 통해 문서의 내용을 상대적으로 보다 분명히 이해할 수는 있으나, 단어의 순서 배열이 중요한 경우 문서 내용을 엉뚱하게 해석할 수도 있다는 점은 유념해야 합니다.
네트워크 분석
개인, 집단 그리고 사회의 관계를 네트워크로 분석, 파악하는 방법으로서 사회 연결망 분석 혹은 소셜 네트워크 분석이 많이 활용됩니다. 텍스트 마이닝 분야에서도 사회 연결망 부석 기법을 적용하여 단어 등에 대한 네트워크 분석을 통해 중심성 등을 계측하고, 이에 기초한 핵심 내용 혹은 정보들을 추론 할 수 있으며, 같은 맥락에서 의미망 분석이라고도 합니다.
위 그림은 1990년부터 2019년까지 SCOPUS DB에서 “Chinese economy”를 키워드로 하는 논문들을 10년 단위로 구분하여 gephi를 활용한 의미망 분석결과를 구현한 것입니다. 각 색상별로 동일한 색상으로 묶인 단어들은 유사한 논문 주제들로 묶을 수 있음을 의미합니다. 그럼에도 불구하고, 지난 30년 간 중국 경제에 대한 해외 연구자들의 주요 관심사는 “개발”, “경제”라는 점을 알 수 있습니다.
토픽 분석
토픽 분석은 간단히 말하면, 문서를 구성하는 단어들을 통해 해당 문서 내 잠재된 주제를 탐색하는 방법이라 할 수 있습니다. 토픽들이 독립적인가 혹은 그렇지 않은가에 따라 몇 가지 토픽 분석을 구현하는 알고리즘이 있습니다만, 흔히 잠재 디리클레 할당(Latent Dirichlet Allocation, LDA)에 기초한 토픽 분석을 많이 실행합니다.
아래 그림 역시 LDA 에 기초한 토픽 분석 결과를 구현한 것입니다. 일단 분석 절차는 dtm을 구성한 후, 문서 내 존재한다고 가정된 토픽 수와 단어 수를 결정하고, 모형을 추정하게 됩니다.
가령, 제시된 분석 결과는 “Chinese economy”에 대한 문서들을 사전에 3개의 주제와 0개 단어로 결정하고, 토픽 분석 결과를 구현한 것으로 x 축의 베타값은 해당 토픽에서 각 단어들이 출현할 확률을 의미합니다. 이처럼 토픽 분석 결과가 도출되면, 각 토픽 내 다어들을 이용하여 각 토픽의 이름을 결정합니다.
'R' 카테고리의 다른 글
[R] R , R studio 설치 (웹 연동 준비) (2) | 2022.12.12 |
---|---|
웹 크롤링 (0) | 2022.01.06 |
오피니언마이닝 기술 적용 (0) | 2022.01.04 |
기존 데이터와 빅데이터를 처리하는 방법의 차이점 (0) | 2022.01.04 |
댓글