한국어 텍스트 데이터의 특성
영어 텍스트의 경우, 띄어 쓰기를 기준으로 토큰화하면 단어가 비교적 깔끔하게 분리되어 나오기 때문에 전처리의 결과가 대부분 좋다. 그러나 한국어 텍스트의 경우, 띄어 쓰기로 구분되는 “어절”이 반드시 “단어”와 일치하지가 않는다. 이는 “교착어”로써의 특성 때문으로, 한국어는 영어와 달리 조사가 존재하고, 이러한 조사가 띄어 쓰기 없이 붙어 있게 되어 이를 전부 분리해 주는 전처리 과정이 필요하다. 즉, 한국어 전처리와 토큰화의 핵심은 조사를 잘 분리하여 토큰화하는 것으로, 이를 위해서는 형태소 (morpheme), 특히 자립 형태소를 잘 추출할 수 있어야한다. 또 하나의 어려운 점은 한국어의 경우 영어에 비해 띄어 쓰기가 잘 지켜지지 않는 경향이 존재한다. 이는 한국어의 경우 띄어 쓰기가 잘 지켜지지 않더라도 의미가 잘 전달 되기 때문이라는 의견이 있다.
그 대안으로 Python 라이브러리에 내장된 “형태소 분석기”를 잘 활용하여 전처리 수행한다. 영어 텍스트의 경우, 어간 추출 등에서 형태소가 활용되지만 한국어 텍스트는 좀 더 일찍 형태소 개념을 활용하여 전처리를 진행한다. Okt, 꼬꼬마, 한나눔, 코모란 등 다양한 형태소 분석기가 존재하고, 성능이나 속도에 따라 다소 차이가 있다.
Bag of Words
국소 표현 (local representation) 접근의 대표적인 방식이다. 문서 내에 들어있는 단어를 하나의 가방 (bag)에 전부 집어 넣는 방식이다. 단어의 출현 빈도 (frequency)에 주목하는 방식으로, 단어의 순서나 맥락을 반영하지 못한다. 한계로는 단어의 맥락적 의미가 중요하거나, 한 문서 내에 여러 주제나 의견이 들어 있을 경우 문서 내의 유의미한 의미를 제대로 포착하지 못할 수 있다.
Document-Term Matrix (DTM)
Bag of words는 단어의 빈도수 기반이므로 각 문서 (행)와 각 단어 (열)로 이루어진 행렬로써 표현 가능하다. 각 문서를 단어 기반으로 수치화하여 비교할 수 있는 가장 간단한 텍스트 마이닝 중 하나이다. 불용어 등을 제거하여 좀 더 단순한 행렬로도 표현 가능하다.
TF-IDF (Term Frequency-Inverse Document Frequency)
단어의 빈도 + 역문서 빈도를 이용하여 문서 내 특정 단어의 중요도를 구하는 작업 등에사용한다. 문서 집합 내 핵심어 추출이나 문서간 유사도를 계산하는데 응용가능하다. 문서 내에 등장하는 모든 단어에 대해 빈도를 표시하는 것이 비효율적이라면, 중요한 단어에 대해 가중치를 줄 수 있다. 역문서 빈도 (Inverse documen tfrequency)는 특정 단어 w가 등장한 문서의 수에 반비례 하는 값이다. 원리로는 불용어 (the, it, as 등)는 거의 모든 문서에 자주 등장하게 된다. 즉, 일부 문서에만 등장하는 일종의 “희귀 단어”들이 의미 파악에 중요하고, 거의 모든 문서에 등장하는 단어들은 중요성이 떨어질 것이라고 가정하여 단어의 중요도 가중치를 조정하는 방법이다.
문서 d, 단어 w, 문서의 총 개수가 n일 때
|
감성 분석 (Sentiment Analysis)
텍스트에 들어 있는 작성자의 의견이나 평가 등 주관적인 정보를 추출한다. 예를 들어, 소비자 리뷰에 담긴 정보를 비교적 단순하게 추출하고 싶을 때 유용하게 사용될 수 있다. 해당 문서가 긍정 (positive)인지 부정 (negative)인지 판단하는 것이 대부분이다 (상황에 따라 중립 (neutral)을 반영하는 경우도 있음).
|
LDA Topic Model
잠재 디리클레 할당 모형 (Latent Dirichlet Allocation, LDA)는 특정 문서가 여러 토픽의 혼합으로 구성되어 있다고 가정한다. 문서의 집합을 구성하는 토픽의 잠재 구조를 추정하는 모형이다. 단어 빈도기반의 bagofwords를 가정하되, 베이지안 확률 모형을 기반으로하여 잠재 토픽의 구조를 추정한다.
사람이 글을 쓸 때 어떤 과정을 거쳐 글을 쓰는지 고려해야 한다. 첫 째, 글로 옮기고자 하는 주제 (topic)를 선정한다. 그 다음, 주제와 관련이 있는 단어 (word)들 결정한다. 마지막으로, 해당 단어들의 조합으로서 하나의 문서 (document)가 탄생한다. LDA는 이 과정을 역순으로 따라 올라가는 방식으로 잠재된 주제를 추출한다. 특정 문서 내 단어의 동시 출현 정보를 학습한다. 자주 함께 출현하는 단어들은 특정 주제와 밀접한 연관이 있을 것으로 간주한다. 잠재 토픽을 추출하고 토픽과 단어의 확률 분포를 계산한다.
장점 | 단점 |
|
|
주요 가정은 다음과 같다.
|
'Data-driven Methodology > DS (Data Science)' 카테고리의 다른 글
[Data Science] 문서의 행렬 표현 (DTM and TF-IDF) (0) | 2022.09.29 |
---|---|
[Data Science] Text Preprocessing (0) | 2022.09.29 |
[Data Science] Text Data (1) (0) | 2022.09.29 |
[Data Science] 회귀 모델 (0) | 2022.09.29 |
[Data Science] 빅 데이터 (Big Data) (0) | 2022.09.28 |