Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 누적합
- 우선순위큐
- GroupBy
- 공공데이터
- 전처리
- 재귀
- 비트마스킹
- dp
- 코사인유사도
- 그래프이론
- 수학
- 백준
- 건축물대장정보
- 너비우선탐색
- Geocoding
- pandas
- cosine
- 분할정복
- 지진대피소
- NLP
- xmltodict
- 유클리드
- geopy
- 깊이우선탐색
- TF-IDF
- 자연어처리
- 유사도
- 구현
- 그래프탐색
- 그리디
Archives
- Today
- Total
정리용
[NLP] 문서의 유사도 측정 방법 ( 유클리드 거리 / 코사인 유사도 ) 본문
문서의 유사도를 측정하는 방법은 2가지가 대표적이다
하나는 유클리드 거리를 사용하는 방법과 나머지는 코사인 유사도를 사용하는 방법이다.
1. 유클리드 거리 (Euclidean distance)
유클리드 거리는 벡터의 거리를 기준으로 유사도로 측정하는 방법이다
피타고라스 정리를 이용한 빗변의 길이를 구하는 것으로 거리가 가까울수록 유사도가 크다.
B- C 의 거리(베타) 가 A-B 의 거리(알파) 보다 크기 때문에 A - B 의 유사도가 더 크다
2. 코사인 유사도
코사인 유사도는 벡터 사이 각도를 기준으로 유사도를 측정하는 방법이다.
벡터의 크기는 배제하고 방향만 보는 것으로 백터 사이각이 좁을수록, 즉 코사인값이 클수록 유사도가 높다.
또한 이때 벡터 사이 각도는 0도~ 90도의 값을 가지게 되는데
이는 횟수를 기반으로 벡터를 생성했기 때문에 음수가 나올수 없기 때문이다. ( 벡터는 1사분면에서만 생성됨 )
따라서 코사인 유사도는 0 ~ 1 사이의 값을 가지게 된다.
유클리드 거리로 유사도를 측정한 것과 달리 B-C 의 유사도가 A-B 의 유사도보다 큰 것을 알 수 있다.
단어사전을 생성했을 경우 벡터는 무수히 많은 0 을 가지게 되는데
코사인 유사도 측정법의 장점은 0 x 0 을 계산하지 않는다는 것이다.
'딥러닝 > 이론' 카테고리의 다른 글
[NLP] word2vec ( CBOW , Skip-gram) (0) | 2022.01.27 |
---|---|
[NLP] LSA (잠재 의미 분석 ), SVD ( 특이값 분해 ) (0) | 2022.01.26 |
[NLP] TF-IDF (0) | 2022.01.24 |
[NLP] BOW ( Bag of Word ) (0) | 2022.01.21 |
[NLP] 자연어 처리의 고전적인 방법 0 (개요) (0) | 2022.01.18 |
Comments