본문 바로가기

AI LLM

[NLP - 벡터 변환 알고리즘] TF-IDF

728x90

TF-IDF 기법이란?

TF(Term Frequency, 단어 빈도) 와 IDF(Inverse Document Frequency, 역문서 빈도) 두 가지를 사용한다.

특정 단어가 얼마나 많이 등장하는지특정 단어가 포함된 문장의 수 를 가지고 희귀도를 나타낼 수 있다.

 

아래와 같이 계산할 수 있다.

TF = (문장 내 특정 단어 개수 / 문장 내 전체 단어 개수)

IDF = loge(전체 문장 개수 / 특정 단어가 등장하는 문장 개수) 

 

아래 3개의 문장이 있다고 가정해보자.

S1 : good boy

S2 : good girl

S3 : boy girl good

 

그럼 TF와 IDF는 다음과 같이 계산될 것이다.

 

 

그리고 TF-IDF의 최종 계산은 TF 곱하기 IDF 이다.

각 문장마다 곱해주면 다음과 같은 결과가 나온다.

 

0과 1이 아닌 특정 숫자로 표시되는 것을 볼 수 있다.

 

장점

1. 직관적이다.

2. 고정된 사이즈를 가지고 있다.

3. 단어의 중요도를 처음으로 표시할 수 있게 되었다. binary로 표시되지 않기 때문이다.

 

하지만 아래와 같은 단점이 여전히 남아있기 때문에 앞으로 알아볼 Word2Vec를 통해 해결할 수 있다.

단점

1. 희소 행렬 문제가 여전히 발생한다. 규모가 커질수록 벡터의 차원이 커지기 때문이다.

2. 없는 단어에 대해서 여전히 표현할 수 있는 방법이 없다.

728x90