2016-07-29 6 views
0

私はわずか15,000を超えるテキスト文書を持つコーパスを持っています。 removeSparseTerms機能が動作しません。コーパスが大きい文書用語行列のスパース性を減らす方法(R)

dtm 

<<DocumentTermMatrix (documents: 15095, terms: 12811)>> 
Non-/sparse entries: 140286/193241759 
Sparsity   : 100% 
Maximal term length: 37 
Weighting   : term frequency (tf) 

dtms <- removeSparseTerms(dtm, 0.1) 
dtms 

<<DocumentTermMatrix (documents: 15095, terms: 0)>> 
Non-/sparse entries: 0/0 
Sparsity   : 100% 
Maximal term length: 0 
Weighting   : term frequency (tf) 

私も仕事をdidntのこれ、これを試してみました:

colTotals<- col_sums(dtm) 
dtm2 <- dtm[,which(colTotals>20)] 
dtm2 

<<DocumentTermMatrix (documents: 15095, terms: 1387)>> 
Non-/sparse entries: 100867/20835898 
Sparsity   : 100% 
Maximal term length: 26 
Weighting   : term frequency (tf) 

私はスパース性を低下させるために行うことができます何かはありますか?私は周波数シートをExcelで開くことができるようにしたいが、今はあまりにも多くのメモリを必要とするため、開くことができない(これが希薄さを減らす理由)。

答えて

0

私は同様の問題を抱えていましたが、私の場合、スパース性が向上しました(ドキュメントの用語の頻度がかなり低いため)。代わりにdtms <- removeSparseTerms(dtm, 0.1)のこれを試してください:dtms <- removeSparseTerms(dtm, 0.99)

スパース性の明確な定義のためのhttps://stats.stackexchange.com/questions/160539/is-this-interpretation-of-sparsity-accurateを参照してください(「スパース性は、用語が削除されますそれを超える期間、のための相対的な文書頻度のしきい値を指します。」)