문장 유사도 분석: 단어와 단어 사이, 문장과 문장 사이에 얼마나 유사성이 있는지
벡터 유사도: Cosin Metric
※ 벡터: 크기와 방향이 있는 성분
벡터의 내적과 norm
[1,1,0]
[1,0,-1]
내적: 1*1 + 1*0 + 0*(-1) = 1
norm(제곱해서 합): root(1+1+0), root2
둘의 유사도 : 1=root2 * root2 * cos, cos=0.5
Python np linalg norm 함수 있다
예제
1. I love apple
2. Apple is delicious which I love too
3. I want a delicious food, but not an apple
4. Deep learning is difficult
want, not, difficult 제외하고 단어 빈도수 체크한다
love apple delicious love food Deep learning
1. 1 1 0 0 0 0
2. 1 1 1 0 0 0
3. 0 1 1 0 1 0
4. 0 0 0 0 0 1
norm값 root2, roo3, roo3,1
1번과 2번 1등
cos=2/root6
2번과 4번 3등
cos=0/root3
1번과 3번 2등
cos=1/root6
벡터 유사도: Euclidean Metric
Levenshtein Distance: 단어 사이의 거리를 나타내는 대표적인 척도
- 단어 a를 단어 b로 수정하기 위한 최소 횟수
- 삽입 1, 삭제 2, 변경 3
Jaccard Distance: 교집합/합집합
- 집합 사이의 원소특징을 파악한다
A={0,1,2,3} B={2,3,4,5} C={6,7,8,9}
A ∩ B={2,3}
A U B={0,1,2,3,4,5}
Jaccard =1/3
자료출처
'머신러닝' 카테고리의 다른 글
[머신러닝] 미리 학습된 언어 모델과 트랜스포머 (0) | 2023.02.17 |
---|---|
[머신러닝] 자연어 처리: 문장을 작은 단위로 쪼개기 (2) | 2023.02.14 |
[머신러닝] 자연어 처리 개요 (0) | 2023.02.10 |
댓글