빈도수가 높지 않아도 문맥상 중요한 단어를 찾아내는 방법, TF-IDF를 계산해 봅니다.
| 단계 | 활동 | |
|---|---|---|
| 도입 | 빈도수 벡터의 한계 | 5분 |
| 활동1 | TF, DF, IDF 구하기 | 15분 |
| 활동2 | TF-IDF 계산하고 중요 단어 찾기 | 20분 |
| 활동3 | 다른 문서로 TF-IDF 확인하기 | 10분 |
| 정리 | TF-IDF 기준값과 로그를 이용한 IDF | 5분 |
"그 드라마를 보는 시간은 정말 지루했어요."와 "그 드라마를 보는 시간은 정말 낭비였어요."를 비교해 봅시다. '그', '정말'과 같은 불용어가 각 2번씩, '드라마', '보는', '시간'처럼 의미 파악에 중요하지 않은 단어도 2번씩 등장했지만, 정작 드라마 평가에 해당하는 '지루', '낭비'는 1번씩만 등장했습니다.
어느 치킨집 배달 애플리케이션 후기 A, B, C를 살펴봅시다.
| 후기 | |
|---|---|
| A | 배달도 정말 빨랐고 양은 저한테 살짝 많은 편이었어요. 개인적으로 여기는 프라이드치킨을 추천합니다. |
| B | 배달 빠르고요. 프라이드치킨이 맛있어서 추천합니다. |
| C | 누가 프라이드치킨 먹고 싶다고 할 때마다 추천하는데 양도 많고 맛있습니다. |
불용어를 제거하면 $A=\{$프라이드치킨, 추천, 배달, 빠르다, 양, 많다$\}$, $B=\{$프라이드치킨, 추천, 배달, 빠르다, 맛있다$\}$, $C=\{$프라이드치킨, 추천, 양, 많다, 맛있다$\}$이고 $U=\{$프라이드치킨, 추천, 배달, 빠르다, 양, 많다, 맛있다$\}$(7개)입니다.
TF(단어 빈도수, Term Frequency)는 단어가 문서에 등장하는 횟수, DF(문서 빈도수, Document Frequency)는 단어가 등장하는 문서의 개수, IDF(역문서 빈도수, Inverse Document Frequency)는 상대도수 $\dfrac{\text{DF}}{n}$($n$은 전체 문서 개수)의 역수, 즉 $\text{IDF}=\dfrac{n}{\text{DF}}$입니다.
TF-IDF = TF × IDF입니다. 이 값이 클수록 그 문서에서만 도드라지게 등장하는(중요도가 높은) 단어이고, 값이 작을수록 여러 문서에 고르게 등장해 중요도가 낮은 단어입니다.
위 계산기에서 확인하기 1 · 날씨와 함께하기 1 · 텍스트 마이닝 버튼을 눌러 다른 문서에서도 TF-IDF로 중요 단어를 찾을 수 있는지 확인해 보세요. 각 문서에서 중요도가 높은 단어가 무엇인지 계산기의 ④ 표에서 초록색으로 표시됩니다.
TF-IDF가 크다·작다의 절대적인 기준값은 없습니다. 분석 목적에 따라 문서 내에서 상대적인 기준값을 설정해야 합니다.
오늘은 TF-IDF로 문맥상 중요한 단어를 찾는 방법을 배웠습니다. 다음 시간에는 두 텍스트 데이터가 얼마나 비슷한지를 나타내는 유사도(자카드 유사도, 유클리드 유사도)를 배웁니다.