tf와 idf를 계산할 수있는 다양한 방법이 있습니다. LSA 모델에서 gensim이 어떤 수식을 사용하는지 알고 싶습니다. 나는 소스 코드 lsimodel.py
을 살펴 보았지만 문서 - 용어 행렬이 만들어지는 곳은 분명하지 않다. (아마 메모리 최적화 때문에).tf-idf의 수식은 gensim의 LSA 모델을 사용합니까?
가 one LSA paper에서 I 문서 기간 행렬의 각각의 셀은 그 단어의 엔트로피로 나누어 그 문서 내의 그 단어의 로그 - 주파수이라고 읽어 그러나
tf(w, d) = log(1 + frequency(w, d))
idf(w, D) = 1/(-Σ_D p(w) log p(w))
,이 보인다 tf-idf의 아주 특별한 형식 일 수 있습니다. TF-IDF의 익숙한 형식은 다음과 같습니다
tf(w, d) = frequency(w, d)
idf(w, D) = log(|D|/|{d ∈ D: w ∈ d}|)
나는 또한 question on how the TfIdfModel
itself is implemented in gensim이 있음을 알 수 있습니다. 그러나 을 가져 오는 lsimodel.py
을 보지 못했기 때문에 lsimodel.py
에 고유 한 tf-idf 구현이 있다고 가정 할 수 있습니다.