5

我正在尝试为语料库制作 2 个文档术语矩阵,一个带有 unigrams,一个带有 bigrams。但是,二元矩阵目前与一元矩阵完全相同,我不知道为什么。

编码:

docs<-Corpus(DirSource("data", recursive=TRUE))

# Get the document term matrices
BigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 2, max = 2))
dtm_unigram <- DocumentTermMatrix(docs, control = list(tokenize="words", 
    removePunctuation = TRUE, 
    stopwords = stopwords("english"), 
    stemming = TRUE))
dtm_bigram <- DocumentTermMatrix(docs, control = list(tokenize = BigramTokenizer,
    removePunctuation = TRUE,
    stopwords = stopwords("english"),
    stemming = TRUE))

inspect(dtm_unigram)
inspect(dtm_bigram)

我还尝试使用 ngram 包中的 ngram(x, n=2) 作为标记器,但这也不起作用。如何修复二元标记化?

4

1 回答 1

6

tokenizer 选项似乎不适用于 Corpus (SimpleCorpus)。改用 VCorpus 解决了这个问题。

于 2017-03-28T18:30:48.850 回答