텍스트 데이터의 분석 방법인 텍스트 마이닝 분석 절차에 대하여 예시 자료와 함께 개념적인 이해를 도모해보고자 합니다. 중국 경제에 관한 해외 연구 분석 사례를 중심으로 비정형 데이터 분석 방법인 텍스트 마이닝 분석 절차와 방법을 중심으로 정리하겠습니다.
1. 형태소 분석과 불용어 처리
비정형 텍스트 데이터는 대체로 API 호출, 크롤링 등의 방법에 따라 수집됩니다. 전자의 경우는 트위터 R 크롤링 중 "블록체인" 포스팅 등에서 설명한 바 있습니다. 웹 크롤링으로 진행하는 방법 역시 "귀멸의 칼날" 네이버 영화평 크롤링과 감성분석에서 언급한 바 있으므로 관련 포스팅에서 확인 바랍니다.
참고로 webscraper, parsehub 를 이용하여 코딩하지 않고 크롤링하는 방법에 관해서는 앞서 많은 포스팅에서 언급한 바 있으니 아래 링크를 참고하기 바랍니다.
API 호출이든 크롤링이든 비정형 텍스트 데이터가 수집이 되었다면, 본격적인 텍스트마이닝 절차에 들어가게 됩니다. 그중 첫 번째 절차는 수집된 텍스트 데이터의 형태소 분석 혹은 토큰화(token)입니다.
형태소(morpheme)란 의미를 가지는 최소 단위 단어로서 더 이상 두 개 이상의 의미를 가지는 단어로 나눌 수 없는 말 그대로 의미를 가지는 최소 단어 단위입니다. 또한 문서 혹은 문장을 이러한 형태소로 구분하는 과정을 토큰화라고도 합니다.
참고로 텍스트마이닝에서 형태소 분석은 형태소 자체를 분석하는 것이 아니라 텍스트를 형태소로 구분하여 분석하는 것을 뜻합니다.
영어 문장은 단어의 배열이며, 띄어쓰기를 기준으로 토큰화 된 단어들을 이용하여 분석절차에 들어가면 되지만, 한글은 한 단어에 두 개 이상의 형태소가 포함된 경우(가령, "우리는" 의 경우 "대명사 + 조사"로 구성) 가 많아 영어에 비해 형태소 분석이 다소 번거롭습니다.
또한 토큰화 된 단어들 중에는 자주 사용되지만, 의미 없이 관성적으로 사용하는 단어들도 상당히 많습니다. 대표적인 예가 "나", "우리" 등과 같은 대명사가 대표적이지 않을까 싶습니다.
따라서 분석의 효율성 측면에서도 굳이 이런 단어들까지 분석에 포함될 이유는 없기 때문에 데이터를 정제하는 과정에서 제거하고, 해당 단어들을 불용어(stop words) 라고 합니다.
한글의 경우 9개(명사, 대명사, 수사, 조사, 동사, 형용사, 관형사, 부사, 감탄사)의 품사 중 명사가 분석 대상 문서 혹은 문장내 가장 많은 정보를 담고 있는 품사라는 점에서 정규화 과정을 통해 명사만 추출하여 분석하기도 하며, 감성 분석을 실행하는 경우 동사, 형용사, 부사처럼 실질적인 의미를 가지는 품사들만 별도로 추출하여 분석하는 것이 통상적입니다.
2. 키워드 분석
텍스트 데이터의 정제작업 혹은 전처리가 끝나면, 단어-문서(term-document matrix, 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 분석의 장점은 하나의 단어(uni-gram) 보다 연속된 2개 이상의 단어들의 집합을 통해 문서의 내용을 상대적으로 보다 분명히 이해할 수는 있으나, 단어의 순서 배열이 중요한 경우 문서 내용을 엉뚱하게 해석할 수도 있다는 점은 유념해야 합니다.
3. 사회 네트워크 분석
개인, 집단 그리고 사회의 관계를 네트워크로 분석, 파악하는 방법으로서 사회 연결망 분석 혹은 소셜 네트워크 분석이 많이 활용됩니다. 텍스트마이닝 분야에서도 사회 연결망 분석 기법을 적용하여 단어 등에 대한 네트워크 분석을 통해 중심성 등을 계측하고, 이에 기초한 핵심 내용 혹은 정보들을 추론할 수 있으며, 같은 맥락에서 의미망 분석이라고도 합니다.
위 그림은 1990년부터 2019년까지 SCOPUS DB에서 "chinese economy" 를 키워드로 하는 논문들을 10년 단위로 구분하여 gephi를 활용한 의미망 분석결과를 구현한 것입니다. 각 색상별로 동일한 색상으로 묶인 단어들은 유사한 논문 주제들로 묶을 수 있음을 의미합니다. 그럼에도 불구하고, 지난 30년 간 중국 경제에 대한 해외 연구자들의 주요 관심사는 "개발", "경제"라는 점을 알 수 있습니다.
4. 토픽 분석
토픽 분석은 간단히 말하면, 문서를 구성하는 단어들을 통해 해당 문서 내 잠재된 주제를 탐색하는 방법이라 할 수 있습니다. 토픽들이 독립적인가 혹은 그렇지 않은가에 따라 몇 가지 토픽 분석을 구현하는 알고리듬이 있습니다만, 흔히 잠재 디리클레 할당(Latent Dirichlet Allocation, LDA)에 기초한 토픽 분석을 많이 실행합니다.
아래 그림 역시 LDA에 기초한 토픽 분석 결과를 구현한 것입니다. 일단 분석 절차는 dtm을 구성한 후, 문서 내 존재한다고 가정된 토픽 수와 단어 수를 결정하고, 모형을 추정하게 됩니다.
가령, 제시된 분석 결과는 "chinese economy" 에 대한 문서들을 사전에 3개의 주제와 10개 단어로 결정하고, 토픽 분석 결과를 구현한 것으로 X 축의 베타값은 해당 토픽에서 각 단어들이 출현할 확률을 의미합니다. 이처럼 토픽 분석 결과가 도출되면, 각 토픽 내 단어들을 이용하여 각 토픽의 이름을 결정하는데요. 가령, 첫 번째 토픽의 경우는 "중국 경제성장과 무역, 투자 시장 정책" 정도로 명명할 수 있겠습니다.
'교육' 카테고리의 다른 글
국제 뉴스 데이터 수집과 분석│News API in R (0) | 2021.07.31 |
---|---|
카카오 쇼핑 쿨링 팩 구매후기 워드클라우드 (0) | 2021.07.29 |
구글 설문 챗봇 │fobi.io (0) | 2021.06.23 |
#보라해 │Rtweet │트위터 R크롤링 │연습문제 (0) | 2021.06.04 |
트위터 크롤링 │콜드체인 │twitteR│Cold chain issues in Korea (0) | 2021.06.03 |