2016-10-14 4 views
0

제 질문은 간단합니다. R의 Quanteda 패키지에는 문서 빈도 (dfm)의 용어 빈도 (Tf)를 계산하는 함수가 있습니다. ? tf로 tf 함수의 설명을 보면, 네 개의 인수가 있다고합니다. 제 질문은 '계획안'주장에 관한 것입니다. 나는 maxCount 옵션을 사용하는 방법, 즉 tf의 정규화에 대한 약수로 문서 당 최대 기능 개수를 사용하는 방법을 이해하지 못합니다. 'usage'를 볼 때 scheme 인수의 유일한 옵션은 "count", "prop", "propmax", "boolean", "log", "augmented"및 "logave"입니다. maxCount 옵션은 무엇입니까?R Quanteda 패키지의 maxCount 체계 사용 방법

답변

1

짧은 대답은이 옵션이 함수에서 제거되었지만 문서에서 제거 되었기 때문에 설명서의 "버그"(quanta 0.9.8.0-0.9.8.2)입니다. 가중치를 적용

txt <- c(doc1 = "This is a simple, simple, simple document.", 
     doc2 = "This document is a second document.") 
(myDfm <- dfm(txt, verbose = FALSE)) 
## Document-feature matrix of: 2 documents, 6 features. 
## 2 x 6 sparse Matrix of class "dfmSparse" 
##  features 
## docs this is a simple document second 
## doc1 1 1 1  3  1  0 
## doc2 1 1 1  0  2  1 

:

tf(myDfm, scheme = "prop") 
## Document-feature matrix of: 2 documents, 6 features. 
## 2 x 6 sparse Matrix of class "dfmSparse" 
##  features 
## docs  this  is   a simple document second 
## doc1 0.1428571 0.1428571 0.1428571 0.4285714 0.1428571 0   
## doc2 0.1666667 0.1666667 0.1666667 0   0.3333333 0.1666667 

propmax이 문서 내에서 가장 자주 수에 각각 카운트 상대의 비율을 계산하도록되어 새로운 구문은 propMax 인수 등이있다. 예를 들어 doc1의 경우 최대 기능 개수는 3이므로 해당 문서의 각 용어는 3으로 나눕니다. 그러나 < = 0.9.8.2의 버그이 발생하여 이 잘못 계산되었습니다. : quanteda v0.9.8.3에서

tf(myDfm, scheme = "propmax") 
## Document-feature matrix of: 2 documents, 6 features. 
## 2 x 6 sparse Matrix of class "dfmSparse" 
##  features 
## docs  this  is   a simple document second 
## doc1 1.0000000 1.0000000 1.0000000  3 1.0000000 0   
## doc2 0.3333333 0.3333333 0.3333333  0 0.6666667 0.3333333 

,이 고정되어

tf(myDfm, scheme = "propmax") 
## Document-feature matrix of: 2 documents, 6 features. 
## 2 x 6 sparse Matrix of class "dfmSparse" 
##  features 
## docs  this  is   a simple document second 
## doc1 0.3333333 0.3333333 0.3333333  1 0.3333333 0 
## doc2 0.5000000 0.5000000 0.5000000  0 1.0000000 0.5 

참고 : 0.9.8.3에 고정한다.

+1

빠른 답변 감사드립니다. 나는 또 다른 질문을 가지고 있지만, quantea에서 'idf'를 계산하는 방법이 있습니까? 나는 'tf'와 tfidf '기능 만 볼 수 있지만'idf '는 볼 수 없다. – csmontt

+1

? docfreq를 참조하십시오. 당신은 항상 그것 (로그, 역 등)을 idf로 변환 할 수 있습니다. –