develop

TF-IDF, 코사인 유사도

reko_ 2022. 5. 10. 12:06

TF(Term Frequency)

: 문서 내 특정 단어의 빈도

 

 

 

IDF(Inverse Document Frequency)

: 문서내 특정 단어 빈도의 역수 - 문서의 수가 많아질 수록 기하급수적으로 커지는 문제가 있기 때문에 전체값에 log

 

 

 

TF - IDF

: 위의 두 수치를 곱한 값으로 특정 단어가 한 문서에서는 몇 번 언급되었으며, 문서군에서는 얼마나 유니크 한가’를 표현한 가중치

 

 

 

예제

https://blog.naver.com/PostView.naver?blogId=myincizor&logNo=221823805086&parentCategoryNo=&categoryNo=6&viewDate=&isShowPopularPosts=false&from=postView 

 

[실습 예제로 배우는 자연어 처리]TF-IDF, 코사인 유사도 (2) - TF-IDF 계산

저번 포스트에서 TF-IDF의 공식과 그 의미에 대해 알아보았습니다. 이번 포스트에서는 소설 ‘해리포...

blog.naver.com

 

 

 

코사인 유사도

: 텍스트 데이터의 유사도를 구하는 방법 중 하나로, 두 벡터 사이의 코사인 각도를 구해 서로의 유사도를 구하는 방식

 

- 두 벡터의 방향이 완전히 동일하며 각 또한 0도일 경우 : 코사인 유사도 = 1

- 두 벡터의 방향이 완전히 다르고 각도 또한 180도일 경우 : 코사인 유사도 = -1

- 각도가 증가, 감소하고 방향이 달라질 수록 1 과 -1 사이의 값을 가진다

 

 

코사인 유사도 계산

 

분자 : 두 벡터의 내적(dot product)

내적을 통해 두 벡터의 길이, 혹은 각도를 파악, 내적은 각 벡터 요소들(여기서는 문서별 각 단어의 TF-IDF 수치)을 곱한 값들의 합

 

분모 : 각 벡터의 노름 공간(Norm Space)을 곱한 것으로, 각각의 벡터 공간을 표현

노름 공간은 다양한 방식으로 계산할 수 있는데, 여기서는 유클리드 거리 계산을 통해 노름 공간을 구현

 

예제

https://blog.naver.com/PostView.naver?blogId=myincizor&logNo=221825602031&parentCategoryNo=&categoryNo=6&viewDate=&isShowPopularPosts=false&from=postView 

 

 

[실습 예제로 배우는 자연어 처리]TF-IDF, 코사인 유사도 (3) - 코사인 유사도

이전 포스트에서 저희는 TF-IDF의 개념과, 해리포터 소설 시리즈를 통해 TF-IDF의 계산 방식과 ...

blog.naver.com