IDF와 엔트로피의 관계

엔트로피는 어떤 집합에 적용해 무질서 정도를 측정합니다. 엔트로피는 데이터를 분류할 때 사용합니다. 순수하게 한가지 속성에 대해 데이터를 분류하고자 할 때 ,이 데이터가 우리가 분석하려는 속성에 대해 다른 값들이 얼마나 뒤섞여 있는 지를 나타내는 것이 무질서라고 하며, 이런 무질서 정도를 측정하는 것이 엔트로피입니다.


는 집합 안에서 속성 i의 확률

이면 집합 안의 모든 항목이 i속성을 가진 경우

이면, 집합 안에서 i속성을 가진 원소가 하나도 없는 경우


IDF와 엔트로피는 둘 다 집합 안에서 속성이 얼마나 섞여 있는지를 측정하기 때문에 비슷합니다.


p(t) : 단어 t가 문서에서 나타날 확률

p(t) 추정확률 : p로 표시

문서 집합에서 단어 t의 유무에 대한 확률로 생각하면 T가 들어있을 확률은 p이고 T가 없을 확률은 1-p입니다.

not_t라는 가짜 단어를 만들어 본다면, not_t는 단어 t가 없는 문서에 가상으로 존재하는 단어를 의미합니다.

위의 식을 그래프로 표현하면, p(t)=.5를 축으로 서로 대칭을 나타냅니다.

2진 계층인 p₂=1-p₂의 엔트로피 공식 

t단어가 포함되어 있는 확률 : p

t단어가 포함되어 있지 않은 확률 : 1-p

을 대입하면

여기에 IDF(t)와 IDF()not_t)로 대체하면,


코퍼스에 단어 t가 나타날 확률에 기반해 IDF(t)와 IDF(not_t)의 기댓값으로 엔트로피를 표현한 것입니다.


엔트로피를 그래프로 그려보면 IDF 단어 t의 희박성을 나타내는 방정식의 그래프는 엔트로피 곡선과 일치합니다.

    


단어주머니보다 정교한 기법

더 정교하게 문서 안의 텍스트, 단어를 처리하는 방법으로 n-그램 순열이 있습니다.

n-그램은 단어 순서가 중요한 경우, 단어 순서에 대한 정보를 보관할 수 있도록 인접한 단어들의 순서까지 포함하는 표현 기법입니다.

ex) The quick brown fox jumps

단어주머니 - quick, brown, fox, jump 라는 단어 집합

n-그램 - quick_brown, brown_fox, fox_jump 3개의 토큰으로 변환

n-그램은 개별단어보다 특정 문장이 중요한 경우에 사용합니다. 단, 특징 집합의 크기가 상당히 커진다는 단점이 있습니다.

※ 바이그램 : 인접한 쌍, 토큰


개체명 추출기

문장 추출 시, 문서에서 많이 볼 수 있는 개체명을 인식해야 하는 경우가 발생합니다. 예를 들어 Silicon Valley / New York Mets / Game of Thrones 등 의 고유명사말이죠. 이런 어구를 인식할 수 있도록 개체명 추출기라는 전처리기를 사용합니다. 개체명 측정기가 제대로 작동하기 위해서는 커다란 코퍼스를 갖고 있거나, 수작업으로 고유한 명사들을 입력해야 합니다. 개체명 추출기는 고유명사를 개체명으로 인식하기 위해 풍부한 고유명사 입력하는 것이 필요하고 또는 학습이 필요합니다.


주제모델

문서에 등장하는 단어나 개체명으로 직접 모델을 만드는 방법은 언제나 최적의 결과가 나오는 것은 아닙니다.

주제모델 : 코퍼스 안에서 먼저 주제들을 별도로 모델링하는 것, 단어들을 직접 사용하지 않고 각 주제에 맞게 단어들을 묶어 맵핑하는 것을 말합니다. 예를 들어 Korean War라는 주제를 중심으로 연관성 있는 단어들을 묶는 것입니다. 주제모델을 만드는 기법으로는 잠재의미 색인과 같은 행렬 인수분해 기법과 잠재 디리클레 할당과 같은 확률적 주제 모델이 있습니다.



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

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

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

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

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

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

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

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

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

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

2017/07/02 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.11 텍스트 표현 및 마이닝(IDF와 TFIDF)


텍스트

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


텍스트 처리 기본 용어

토큰 : 하나의 단어

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

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