728x90
1. 유사도
- 자카드 유사도(Jaccard Similarity): 집합 기반
A, B 두 개의 집합이 있다고 할 때, 합집합에서 교집합의 비율을 구하는 것
0~1 사이의 값을 가짐 (두 집합이 동일하면 1, 두 집합의 교집합이 없다면 0 값을 가짐)
값이 1에 가까울수록 두 문장이 유사한 문장, 0에 가까울수록 유사하지 않은 문장으로 분류
각 아이템(단어)들을 Binary값(0,1)으로 변환하여 교집합/합집합을 구함
- 코사인 유사도(Cosine Similarity): 벡터(각도) 기반
두 벡터(방향성)간의 코사인 각도를 이용하여 구하는 두 벡터의 유사도를 의미
-1~1 사이의 값을 가짐
값이 1에 가까울수록(두 벡터의 방향이 같을수록) 유사성이 높음
(두 벡터가 서로 90°의 각을 이루면 코사인 유사도 값=0, 180° 이면 벡터가 서로 반대방향이므로 -1)
방향성이 있어서 성능이 좋고 Word2Vec, BoW기반(DTM, TF-IDF) 모델에서 문서의 유사도 구할 때 사용
- 유클리드 거리 유사도(Euclidean Distance(Similarity)): 거리 기반
n차원 공간에서 두 점 사이의 최단 거리를 구하는 방식
좌표를 기준으로 생각했을때, 가까운 좌표에 있는 점들이 유사도가 높다고 봄
값이 0에 가까울수록 두 자료가 유사하다고 판단
텍스트의 유사도를 구할 때 자카드/코사인 유사도만큼 효율적인 방법은 아님
728x90
'SeSAC 금융데이터 분석가 > 자연어 처리' 카테고리의 다른 글
10/28 금 (0) | 2022.11.01 |
---|---|
10/27 목 (0) | 2022.10.28 |