NLP/Text Similarity & Categorization

[NLP] Text Similarity

데이터 세상 2021. 3. 15. 13:36

Text Similarity

텍스트가 얼마나 유사한지는 표현하는 방식

  • 같은 단어의 개수를 사용해서 유사도를 판단하는 방법
  • 형태소로 나누어 형태소를 비교하는 방법
  • 자소 단위로 나누어 단어를 비교하는 방법
  • 딥러닝을 기반으로 텍스트의 유사도를 측정하는 방법

 

Jaccard Similarity

자카드 유사도 또는 자카드 지수는 두 문장을 각각 단어의 집합으로 만든 뒤 두 집합을 통해 유사도를 측정하는 방식

두 집합의 교집합인 공통된 단어의 개수를 합집합(전체 단어의 수)로 나눔

유사도 값은 0 ~ 1, 1에 가까울수록 유사도가 높음을 의미

 

Cosine Similarity

두 개의 벡터값에서 코사인 각도를 구하는 방법

유사도 값은 -1 ~ 1, 1에 가까울수록 유사도가 높음을 의미

두 벡터간의 각도를 구해 방향성의 개념이 더해지기 때문에 다른 접근법에 비해 일반적으로 성능이 좋음

 

Euclidean Similarity

가장 기본적인 거리를 측정하는 유사도 공식

n-차원 공간에서 두 점 사이의 최단 거리를 구하는 접근법

L2 distance: 단순 거리 측정으로 값의 범위가 정해져 있지 않음.

유클리디언 유사도를 측정할 때는 편의를 위해 정규화한 후 측정하는 방법도 있음

 

Manhattan Similarity

맨하탄 거리를 통해 유사도를 측정하는 방법

L1 Distance라고도 불림

맨하탄 거리

사각형 격자로 이뤄진 지도에서 출발점에서 도착점까지를 가로지르지 않고 갈 수 있는 최단거리를 구하는 공식

유클리디언 거리(L2거리)SMS 초록색 선을 의미

맨하탄 거리는 노란색 선을 의미

 

출발점에서 도착점까지의 가로, 세로 길이를 더하여 맨하탄 거리 계산

반응형

'NLP > Text Similarity & Categorization' 카테고리의 다른 글

[NLP] Text Classification  (0) 2021.03.15