머신러닝 스터디/텍스트마이닝

자연어 처리 유사도 분석 정리

hozy연 2023. 4. 22. 16:41

참고: 메가코드M https://www.youtube.com/watch?v=9ea7Ja52ezQ 

 

단어와 단어 사이에 문장과 문장 사이의 관계가 얼마나 비슷한가?

벡터의 유사도가 중요하다!!

*(기본) 코사인 유사도를 알아보자

 

직접 코사인 세타를 구해보자 (내적 = 길이 *길이 * cos세타)

 

 

본격적으로 유사도 분석 유형을 알아보자

 

1) Bag of words

 

1) I love apple. (Norm: root 2)

2) Apple is delicious which I love too. (Norm: root 3)

3) I want a delicious food, but an apple. (Norm: root 3)

4) Deep learning is difficult. (Norm: root 1)

각 문장 단어 빈도를 매트릭스로 표현

 

각 문장의 유사도를 보면! (겹치는 갯수/Norm곱)

1번 문장과 2번 문장이 가장 비슷하고, 그 다음에 1번과 3번문장, 2번과 4번 문장이 비슷하다는 걸 알 수 있다

 

 

2) Euclidean Metric

 

 

 

2) Levenshtein Distance _ 전처리에 있어 중요한 역할을 한다.!

단어 사이의 거리를 나타내는 대표적인 척도 (최소의 수를 뜻함) 

- 단어A를 단어B로 수정하기 위한 최소 횟수 (단어 삽입(1로 인코딩), 삭제(2), 삽입(3))

총 5번 변경이 필요함

Tabular Method로 구해봅시다

가장 작은 수인 1을 채택하게 된다!

 

3) Jaccard Distance

 

'머신러닝 스터디 > 텍스트마이닝' 카테고리의 다른 글

토픽모델링  (0) 2023.11.05
Word Embedding_Word2Vec  (0) 2023.04.28
자연어 전처리 과정  (0) 2023.04.28
RNN 단점 보완! GRU/LSTM  (0) 2023.04.22
RNN 작동원리  (0) 2023.04.22