2017-10-19 17 views
2

방금 ​​R에서 tm 패키지로 시작 했으므로 문제를 해결할 수 없습니다. 심지어 내 토크 나이 기능을하지만 바로 작동하는 것 : 나는 biTDM에서 2 그램을 끌어하려고 할 때TermDocumentMatrix in R - 단 1 그램 생성

uniTokenizer <- function(x) NGramTokenizer(x, Weka_control(min=1, max=1)) 
biTokenizer <- function(x) NGramTokenizer(x, Weka_control(min=2, max=2)) 
triTokenizer <- function(x) NGramTokenizer(x, Weka_control(min=3, max=3)) 

uniTDM <- TermDocumentMatrix(corpus, control=list(tokenize = uniTokenizer)) 
biTDM <- TermDocumentMatrix(corpus, control=list(tokenize = biTokenizer)) 
triTDM <- TermDocumentMatrix(corpus, control=list(tokenize = triTokenizer)) 

, 단 1 그램은 동일한에서 ...

findFreqTerms(biTDM, 50) 

[1] "after" "and"  "most" "the"  "were" "years" "love" 
[8] "you"  "all"  "also" "been" "did"  "from" "get"  

을 올의 문제가 여기에 무엇을

x <- biTokenizer(corpus) 
head(x) 

[1] "c in"    "in the"   "the years"  
[4] "years thereafter" "thereafter most" "most of"  
+2

(https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)의 당신의 기회를 증가 할 것이다 당신의 질문에 대답을 얻는 것. – jsb

답변

0

난 단지 추측 할 수 있습니다하십시오보다는 VCorpus 객체를 필요로 NGramTokenizer 2 그램 기능은 재치있는 것으로 나타납니다210 개체. A [최소한의 재현 예]를 포함

library(tm) 
library(RWeka) 

# some dummy text 
text <- c("Lorem ipsum dolor sit amet, consetetur sadipscing elitr", 
      "sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat", 
      "sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum", 
      "Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet") 

# create a VCorpus 
corpus <- VCorpus(VectorSource(text)) 


biTokenizer <- function(x) NGramTokenizer(x, Weka_control(min=2, max=2)) 


biTDM <- TermDocumentMatrix(corpus, control=list(tokenize = biTokenizer)) 

print(biTDM$dimnames$Terms) 

[1] "accusam et"   "aliquyam erat"   "amet consetetur"  "at vero"    "clita kasd"   "consetetur sadipscing" "diam nonumy"   "diam voluptua"   "dolor sit"    "dolore magna"   
[11] "dolores et"   "duo dolores"   "ea rebum"    "eirmod tempor"   "eos et"    "est lorem"    "et accusam"   "et dolore"    "et ea"     "et justo"    
[21] "gubergren no"   "invidunt ut"   "ipsum dolor"   "justo duo"    "kasd gubergren"  "labore et"    "lorem ipsum"   "magna aliquyam"  "no sea"    "nonumy eirmod"   
[31] "sadipscing elitr"  "sanctus est"   "sea takimata"   "sed diam"    "sit amet"    "stet clita"   "takimata sanctus"  "tempor invidunt"  "ut labore"    "vero eos"    
[41] "voluptua at"