RWeka を使用して trigram と quadgram モデルを作成しています。私が気づく奇妙な動作があります
TrigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 3, max = 3))
tdm <- TermDocumentMatrix(docs, control = list(tokenize = TrigramTokenizer))
> dim(tdm)
[1] 1540099 3
> tdm
<<TermDocumentMatrix (terms: 1540099, documents: 3)>>
Non-/sparse entries: 1548629/3071668
Sparsity : 66%
Maximal term length: 180
Weighting : term frequency (tf)
まばらな用語を削除すると、上記の〜100万行が8307に縮小されます
> b <- removeSparseTerms(tdm, 0.66)
> dim(b)
[1] 8307 3
Quadgram の場合、削除してもまったく影響はありません
quadgramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 4, max = 4))
tdm <- TermDocumentMatrix(docs, control = list(tokenize = QuadgramTokenizer))
<<TermDocumentMatrix (terms: 1427403, documents: 3)>>
Non-/sparse entries: 1427936/2854273
Sparsity : 67%
Maximal term length: 185
Weighting : term frequency (tf)
> dim(tdm)
[1] 1427403 3
> tdm <- removeSparseTerms(tdm, 0.67)
> dim(tdm)
[1] 1427403 3
まばらな用語を削除した後、100 万項目あります。
これは正しくありません。
何か間違ったことをしている場合はお知らせください
よろしくガネーシャ