我有一个 dfmSparse 对象(大,2.1GB),它被标记化并使用 ngrams(unigrams、bigrams、trigrams 和fourgrams),我想将它转换为数据框或数据表对象,其中包含以下列:内容和频率.
我试图取消列出...但没有用。我是 NLP 的新手,我不知道使用方法,我没有想法,也没有在这里或谷歌找到解决方案。
关于数据的一些信息:
>str(tokfreq)
Formal class 'dfmSparse' [package "quanteda"] with 11 slots
..@ settings :List of 1
.. ..$ : NULL
..@ weighting : chr "frequency"
..@ smooth : num 0
..@ ngrams : int [1:4] 1 2 3 4
..@ concatenator: chr "_"
..@ Dim : int [1:2] 167500 19765478
..@ Dimnames :List of 2
.. ..$ docs : chr [1:167500] "character(0).content" "character(0).content" "character(0).content" "character(0).content" ...
.. ..$ features: chr [1:19765478] "add" "lime" "juice" "tequila" ...
..@ i : int [1:54488417] 0 75 91 178 247 258 272 327 371 391 ...
..@ p : int [1:19765479] 0 3218 3453 4015 4146 4427 4637 140665 140736 142771 ...
..@ x : num [1:54488417] 1 1 1 1 5 1 1 1 1 1 ...
..@ factors : list()
>summary(tokfreq)
Length Class Mode
3310717565000 dfmSparse S4
谢谢!
编辑:这就是我从语料库创建数据集的方式:
# tokenize
tokenized <- tokenize(x = teste, ngrams = 1:4)
# Creating the dfm
tokfreq <- dfm(x = tokenized)