R 中的文档术语矩阵 - 双字符标记器不起作用
Document-term matrix in R - bigram tokenizer not working
我正在尝试为语料库制作 2 个文档术语矩阵,一个是一元字母组,一个是双字母组。但是,二元矩阵目前与一元矩阵完全相同,我不确定为什么。
代码:
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) 作为分词器,但这也不起作用。如何修复二元词标记化?
分词器选项似乎不适用于语料库 (SimpleCorpus)。使用 VCorpus 解决了这个问题。
我正在尝试为语料库制作 2 个文档术语矩阵,一个是一元字母组,一个是双字母组。但是,二元矩阵目前与一元矩阵完全相同,我不确定为什么。
代码:
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) 作为分词器,但这也不起作用。如何修复二元词标记化?
分词器选项似乎不适用于语料库 (SimpleCorpus)。使用 VCorpus 解决了这个问题。