Zettelkasten

TF-IDF는 문서에서 단어의 중요도를 측정한다

·수정 1

요약

  • TF(단어 빈도) * IDF(역문서 빈도)로 특정 문서에서 단어의 중요도를 수치화

본문

TF-IDF = TF * IDF

TF: Terms Frequency

  • 특정 문서 d에서 특정 단어 t의 출현 빈도

참고 DTM, Bag of Words

  • 띄어쓰기 기준으로 토큰화

DF : Document Frequency

  • DF 전체 문서 D에서 특정 단어 t가 등장한 문서 개수
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(df['processed_text'])
word_freq = X.toarray().sum(axis=0)
doc_freq = np.sum(X > 0, axis=0)
total_docs = len(df)
# IDF 및 NIDF 계산 
idf_values = np.log(total_docs / (doc_freq + 1))
min_idf = np.min(idf_values)
max_idf = np.max(idf_values)
nidf_values = (idf_values - min_idf) / (max_idf - min_idf)
  • 전체 코퍼스에서 유저가 얼마나 다양한 단어를 쓰는지 평균 점수로 나타낼 수 있음

참고