본문 바로가기

SeSAC 금융데이터 분석가/자연어 처리

11/2 수

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