Mathematics2021. 3. 21. 23:35

 

'인공지능의 수학' 교재의 아래 섹션을 공부하다가 추가로 알아봐야 할 내용들이 있어 따로 포스팅을 해본다.

 

6장 자연어 처리(7절:단어 벡터에 가중치 주기) - 응용편 - 인공지능을 위한 수학

※ 교재에 없는 말뭉치(corpus)와 문서(document) 등의 설명을 아래 포스트에 따로 담았다. TF-IDF 이모저모 - 말뭉치(corpus), 문서(document), 상용로그... '인공지능의 수학' 교재의 아래 섹션을 공부하다가

swjman.tistory.com

 

 

말뭉치(corpus)

인공지능 기술 중 특별히 언어 관련 분야에서 데이터셋(dataset)이나 테스트셋을 뜻하는 용어다.

원래, corpus라는 단어는 라틴어로 몸(body)이라는 뜻을 가지고 있다. 그래서인지 의학계에서 주로 쓰인 것 같고, 그외 다양한 분야에서 은유적으로 사용되다가 점점 formal한 기술 용어로 굳어진 것으로 보인다.

 

 

문서(document)

너무도 애매한 용어다. 우리나라에서는 다큐먼트라는 단어를 아무리 요리보고 조리봐도 문서라는 의미 밖에 떠오르지를 않는다. 다행히 조사를 좀 해보니, 아래와 같이 좀 더 구체적으로 뜻 풀이가 가능해졌다.

TF-IDF에서 D를 지칭하는 Document(문서)는 '기승전결이 완성된 하나의 글'을 뜻하는 것이 아니라 그냥 하나의 데이터 단위이며, 형태 상으로는 문단(paragraph)에 가깝다. 그러므로, 문장(sentence)을 하나 또는 그 이상 포함한다면 document로 볼 수 있겠다.

 

이를 토대로 다시 정리를 하자면 우리가 일반적으로 생각하던 문서는 말뭉치에 가깝고(물론 말뭉치는 문서 다발인 경우가 대부분이겠지만), 문서 내의 문장들이 여기서 말하는 document가 되겠다. 예를 들어, 어떤 문서가 100문장으로 되어 있고 문장끼리 특별한 묶음이 없다면 그 문서는 '100개의 문서로 구성된 말뭉치'라고 표현할 수 있다.

여담으로, 구글링을 좀 해보면 이 혼란함은 영어권 국가에서도 동일하게 겪는 문제로 보이기에, 상당히 난해한 용어 임에 틀림없다.

 

 

IDF의 상용로그(common log)

IDF의 공식을 보면 아래와 같이 밑이 10인 상용로그를 씌워놓았다.

$$ IDF = \log{ \frac{D}{1+d} } $$

로그를 씌운 이유는 IDF 값이 너무 커지는 걸 막기 위해서다. 예를 들어, corpus 내의 document가 총 10,000개 있고 특정 단어가 나타난 document는 10개라고 할때 로그 없이 IDF를 구하면 IDF = 10000/10 = 1000 이 된다. 이 상태로 TF-IDF를 구하면 필시 1보다 큰 가중치가 나올 것이고, 이를 이용한 계산 과정에서 계속 값이 커지는 문제가 생길 것이다.

이렇게 로그를 씌워 출력값을 제어하는 기법을 특별히 로그 스케일(logarithmic scale)라고 부른다.

 

 

Posted by JMAN