텍스트마이닝(Text Mining) 관련 자료를 보다 보면 TDM과 DTM 단어가 나옵니다.

단어 순서만 바뀌어 있어서 헷갈리지만 둘 다 알 필요는 없고

TDM ... T 로 시작하는 것만 우선 이해를 하시면 됩니다.

다음과 같은 자료를 참고로 했습니다. 

 

참고문헌:

(1) R을 이용한 빅데이터 분석(임동훈 지음, 자유아카데미)

(2) R를 이용한 텍스트마이닝(백영민 지음,한울)

그외 구글링

 

1. TDM 의 형태

우선 Matrix 이니까 2차원 데이터인 모양이다.

Term은 단어이고          세로 방향, 행

Document 문서이니까   가로방향, 열

 

문서마다 들어있는 단어의 빈도수

그리고 각 셀마다 빈도수가 나타나 있습니다. 문서1에는 단어 1이 8개 들어가 있는 것을 볼 수 있습니다.

단어 1은 각 문서(DOC) 마다 많이 들어가 있어 공통으로 많이 사용된 단어입니다.

그런데 단어 1이 중요한 듯 보이지만 "a, the" 와 같은 전치사이거나, "우리는" "나는" 과 같이 별 의미도 없어면서
공통으로 많이 들어가 있는 단어들로서,
문서들을 구분하는데에는 오히려 별로 중요하지 않을 수도 있습니다.

2. TF-IDF - Term Frequency - Inverse Document Frequency 단어 빈도수

고려해 볼만 사항

"각 단어가 얼마나 중요한가?"를 결정하는데 "우선 많이 나오는 단어"가 중요합니다.

그러면 무조건 빈도가 많으면 중요 단어일까요?

문서 3이 문서 1에 비하여 크기가 크기 때문에 자연히 단어수가 많이 나올 것입니다.

그래서 각 문서마다 나온 단어의 개수를 합친 다음(빈도합계를 이용) 상대 빈도를 고려해야 합니다.

문서에 단어가 없는 경우(()) 으로 표시, 문서마다 들어있는 단어 빈도수 합계

* 일단 각 단어가 문서 몇개에 공통으로 나오는지를 조사합니다.(노란 부분은 해당 단어가 없으므로 제외)
 그것이 DF(Documnet Freq) 입니다.
  좀 헷갈리는 부분인데 이 DF가 작을수록 (단어의) 중요도가 커진다고 합니다.(곰곰히 과연 그럴까?)

  그래서 DF 가 분모로 들어갑니다...

  그리고 이 값에 log2 를 계산한 것이 IDF 입니다... 이렇게 되면 한 고비를 넘긴 셈입니다.

DF: 문서마다 나타난 단어가 들어있는지의 여부 * '5'는 문서 5개에 해당 단어가 다 들어있음을 의미

3. 표준화

IDF 에 문서의 가중치를 곱하면 됩니다. 각 문서의 가중치는 각 단어빈도수/전체단어수 로 구하면 됩니다.

이렇게 구한 가중치를 표준화시켜서 텍스트의 계량화가 완료됩니다.

(문서마다 단어빈도)/(문서마다 단어빈도의 합계) -> 그리고 난 다음 표준화(평균을 빼고 표준편차로 나눔)

그리고 이 표준화된 값과 IDF 를 곱하면 TF-IDF 행렬이 나타남

이것이 텍스트마이닝에서 텍스트를 계량화하는 작업이 끝!!!

+ Recent posts