텍스트

문서 안의 단어(텍스트)는 자유로운 형태이고, 차례대로 나오며, 각 문서는 하나의 객체로 보지만, 특징에 대해선 알 수 없습니다. 데이터의 또 다른 형태이며, 데이터로 활용하기 위해선 변환이 필요합니다. 텍스트는 '비구조 데이터'라 컴퓨터는 텍스트를 인식하기 어렵습니다. 때문에 컴퓨터가 인식할 수 있도록 가공을 할 필요가 있습니다. 텍스트를 컴퓨터가 인식할 수 었도록 데이터로 표현(변환)하는 방법은 특징 벡터 형태로 변환하는 것입니다. 


텍스트 처리 기본 용어

토큰 : 하나의 단어

코퍼스 : 문서를 모아 놓은 것, 문서의 묶음

단어주머니 : 개별적인 단어의 집합(문법, 단어순서, 문장구조, 무시). 단어주머니는 모든 단어가 문서의 키워드가 될 가능성이 있습니다. 표현이 매우 간단하며, 생성하는데 연산이 적게 소요됩니다. 단어주머니를 사용하면 여러  종류의 작업에 잘 맞습니다. 컴퓨터의 단어 인식하는 방법으로는 문서에 토큰이 있으면 1, 없으면 0으로 표현합니다.


단어빈도

단어의 횟구(빈도) : 문서 안에서 단어가 나오는 횟수 - 해당 단어의 중요도

위의 표를 만들기 위해 어근을 기준으로 단어 변화가 필요합니다. 방법은 아래와 같습니다.

ⓐ 모든 단어를 소문자로 표기합니다.

ⓑ 형용상 복수형의 단어를 단어 어근으로 변경합니다.

ⓒ 불용어 제거합니다. 불용어란 인터넷 검색 시, 검색용어로 사용되지 않는 용어(관사/전치사/조사/접속사 등)를 뜻합니다.


앞서 말한대로, 단어빈도는 하나의 문서 안에서 어떤 단어가 얼마나 많이 나오는 지를 측정하는 것으로 단어와 문서 간의 관계를 나타내기 위한 것입니다. 문서 안에서 단어의 비중을 결정 시, 특정 단어가 너무 빈번하게 나오면 안됩니다. 그래서 2가지 측면에서 추가적으로 검토가 필요합니다.

ⓐ 단어가 너무 희귀하면 안됩니다.

ⓑ 단어가 너무 흔해도 안됩니다.


단어가 나온 문서의 수가 적을수록 단어가 문서에 중요할 가능성이 더 높기 때문에 코퍼스 안에서 단어의 분산도 고려해야하는데, 단어의 역문서빈도(IDF)라는 방정식으로 어떤 단어 t의 희박성, 문서 안에서 드문 정도를 측정 가능합니다.


IDF

IDF(역문서빈도) : 어떤 단어의 희박성을 측정하는 방정식



[1000개의 문서가 들어있는 코퍼스에서 단어 t에 대한 IDF 그래프]

단어가 희귀한 경우, IDF가 상당히 높게 나옵니다. 단어 t가 나오는 문서의 수가 증가할 수록, IDF가 급격히 감소해 점근선 1.0에 접근합니다. 대부분의 불용어는 거의 모든 문서에 나오므로 IDF가 거의 1에 가깝습니다.


단어빈도와 역문서 빈도의 결합(TFIDF)

TFIDF : 단어 빈도와 역문서 빈도(단어의 희소성)을 결합한 것입니다.

IDF : 문서(코퍼스) 전체에서 t라는 단어의 희소성을 의미하며, 코퍼스 전체 기준의 특징 벡터 집합입니다.

TFIDF : 어떤 문서에서 t라는 단어가 나오는 횟수로, 문서 기준의 특징 벡터입니다.


단어 주머니 표기법은 문서 안에 있는 모든 단어가 독립적인 특징이 될 수 있다고 가정합니다. 단어의 빈도와 희귀도에 따라 문서에 값을 할당합니다. TFIDF는 단어에 적용하기 위해 널리 사용되는 방법이지만 꼭 최적의 값은 아닙니다.



2017/06/18 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.10 증거와 확률(베이즈규칙)

2017/06/17 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.9 좋은 모델은 무엇인가?(비용과 효과)

2017/06/12 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.8 좋은 모델은 무엇인가?(기댓값)

2017/06/10 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.7 좋은 모델은 무엇인가?(분류자평가)

2017/06/07 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.6 유사도

2017/06/03 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.5 과적합화

2017/05/28 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.4 데이터에 대한 모델 적합화(수학 함수를 이용한 회귀분석과 로지스틱 회귀분석)

2017/05/27 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.3 데이터에 대한 모델 적합화(수학 함수를 통한 분류)

2017/05/24 - [Cyong's 마케팅/Data Science] - [Data Science] Ch2. 트리구조모델

2017/03/25 - [Cyong's 마케팅/Data Science] - [Data Science] Ch1. 예측모델링_정보전달하는 속성 찾아내기

+ Recent posts