IR/Vector: TF-IDF

ㅁ IR/Vector

ㅇ 정의:
정보 검색(Information Retrieval)에서 문서와 쿼리 간의 유사도를 계산하기 위해 벡터 공간 모델을 사용하는 기법.

ㅇ 특징:
– 문서의 단어 빈도와 단어의 중요도를 동시에 고려.
– 단순하지만 효율적이며, 계산 비용이 낮음.
– 대규모 데이터셋에서도 빠르게 적용 가능.

ㅇ 적합한 경우:
– 간단한 검색 시스템 구현 시.
– 문서 간의 유사도를 빠르게 계산해야 할 때.
– 대규모 데이터셋에서 키워드 기반 검색이 필요한 경우.

ㅇ 시험 함정:
– TF와 IDF의 계산식 혼동.
– 로그 스케일링 사용 여부와 그 효과에 대한 이해 부족.
– 단순 TF와 TF-IDF의 차이를 명확히 구분하지 못함.

ㅇ 시험 대비 “패턴 보기” 예시:
1. TF-IDF는 문서의 길이에 따라 가중치를 조정한다. (X)
2. IDF는 특정 단어가 드문 경우 높은 값을 갖는다. (O)
3. TF는 단어의 빈도를 정규화하지 않는다. (O)
4. TF-IDF는 단어의 순서를 고려한다. (X)

================================

1. TF-IDF

ㅇ 정의:
문서 내 특정 단어의 빈도(Term Frequency, TF)와 해당 단어가 전체 문서에서 얼마나 희귀한지(Inverse Document Frequency, IDF)를 결합하여 단어의 중요도를 계산하는 방법.

ㅇ 특징:
– TF는 특정 문서에서 단어가 얼마나 자주 등장하는지를 나타냄.
– IDF는 해당 단어가 전체 문서 집합에서 얼마나 희소한지를 나타냄.
– 두 값을 곱하여 단어의 가중치를 계산.

ㅇ 적합한 경우:
– 검색 엔진에서 문서와 쿼리 간의 유사도를 계산할 때.
– 텍스트 마이닝에서 중요 단어를 추출할 때.

ㅇ 시험 함정:
– IDF 계산에서 로그를 적용하지 않는 경우 결과가 왜곡될 수 있음.
– 단어의 빈도와 희소성을 혼동하여 잘못된 가중치를 부여할 가능성.

ㅇ 시험 대비 “패턴 보기” 예시:
1. TF-IDF는 단어의 문맥을 분석한다. (X)
2. IDF가 높은 값일수록 단어는 드물게 등장한다. (O)
3. TF는 단어의 출현 빈도를 정규화한다. (O)
4. TF-IDF는 단어 간의 상호작용을 고려한다. (X)

================================

ㅁ 추가 학습 내용

1. TF-IDF의 한계를 보완한 발전된 모델:
BM25는 TF-IDF의 한계를 개선한 정보 검색 모델로, TF-IDF의 단순한 빈도 기반 접근법을 보완하기 위해 등장했습니다. BM25는 문서 길이에 따른 가중치를 조정하여 긴 문서가 과도하게 높은 점수를 받는 문제를 해결합니다. 또한, TF와 IDF를 비선형적으로 처리하여 검색 결과의 품질을 향상시킵니다. BM25는 검색어와 문서 간의 관련도를 더 정교하게 평가할 수 있는 모델로 널리 사용됩니다.

2. TF-IDF의 계산 과정에서 로그 스케일링과 정규화:
TF-IDF는 Term Frequency(TF)와 Inverse Document Frequency(IDF)를 곱하여 계산합니다. TF는 특정 단어가 문서 내에 등장하는 빈도를 나타내며, IDF는 해당 단어가 전체 문서 집합에서 얼마나 희귀한지를 측정합니다. 로그 스케일링은 TF와 IDF 값의 스케일 차이를 줄이기 위해 사용되며, 일반적으로 다음과 같이 표현됩니다:
TF = 1 + log(단어 등장 횟수), 단 로그(단어 등장 횟수)가 0보다 작으면 TF를 0으로 설정합니다.
IDF = log(총 문서 수 / (1 + 해당 단어가 포함된 문서 수)).
정규화는 문서의 길이에 따른 영향을 줄이기 위해 TF-IDF 값들을 벡터로 간주하고, 해당 벡터의 크기를 1로 조정하는 방식으로 이루어집니다.

3. TF-IDF와 딥러닝 기반 임베딩 기법의 차이점:
TF-IDF는 단어의 빈도와 가중치를 기반으로 한 통계적 기법으로, 단어 간의 의미적 관계를 고려하지 않습니다. 반면, Word2Vec, GloVe, BERT와 같은 딥러닝 기반 임베딩 기법은 단어의 의미를 벡터 공간에 매핑하여 단어 간의 유사성과 문맥적 관계를 학습합니다. 이들 모델은 대규모 코퍼스를 학습하여 단어의 의미적 표현을 생성할 수 있으며, 문맥에 따라 단어의 의미가 달라지는 문제도 처리할 수 있습니다. TF-IDF는 계산이 간단하고 빠르지만, 의미적 풍부함과 문맥적 이해가 부족한 반면, 딥러닝 기반 기법은 더 높은 계산 비용이 들지만 더 정교한 의미 표현이 가능합니다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*