首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R text2vec中绘制文档剪枝对文本语料库的影响

在R text2vec中绘制文档剪枝对文本语料库的影响
EN

Stack Overflow用户
提问于 2017-03-07 02:59:23
回答 1查看 344关注 0票数 0

text2vec包中应用prune_vocabulary后,是否可以检查语料库中还剩下多少文档?

下面是一个获取数据集和修剪词汇表的示例

代码语言:javascript
复制
library(text2vec)
library(data.table)
library(tm)

#Load movie review dataset
data("movie_review")
setDT(movie_review)
setkey(movie_review, id)
set.seed(2016L)

#Tokenize
prep_fun = tolower
tok_fun = word_tokenizer
it_train = itoken(movie_review$review, 
              preprocessor = prep_fun, 
              tokenizer = tok_fun, 
              ids = movie_review$id, 
              progressbar = FALSE)


#Generate vocabulary
vocab = create_vocabulary(it_train
                      , stopwords = tm::stopwords())

#Prune vocabulary
#How do I ascertain how many documents got kicked out of my training set because of the pruning criteria?
pruned_vocab = prune_vocabulary(vocab, 
                            term_count_min = 10, 
                            doc_proportion_max = 0.5,
                            doc_proportion_min = 0.001)

# create document term matrix with new pruned vocabulary vectorizer
vectorizer = vocab_vectorizer(pruned_vocab)
dtm_train  = create_dtm(it_train, vectorizer)

有没有一种简单的方法来理解term_count_mindoc_proportion_min参数对我的文本语料库的影响程度。我正在尝试做一些类似于stm包让我们使用plotRemoved函数来处理这件事的事情,该函数会生成如下所示的图:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-08 20:49:25

vocab $vocab是一个包含大量关于语料库的统计信息的data.table。带有term_count_mindoc_proportion_min参数的prune_vocabulary只过滤这个data.table。例如,以下是如何计算已删除令牌数的方法:

代码语言:javascript
复制
total_tokens = sum(v$vocab$terms_counts)
total_tokens
# 1230342
# now lets prune
v2 = prune_vocabulary(v, term_count_min = 10)
total_tokens - sum(v2$vocab$terms_counts)
# 78037
# effectively this will remove 78037 tokens

另一方面,您可以使用不同的词汇表创建文档术语矩阵,并使用colMeans(), colSums(), rowMeans(), rowSums()Matrix包中的函数检查不同的统计数据。我相信您可以获得上面的任何指标。

例如,下面是如何查找空文档的方法:

代码语言:javascript
复制
doc_word_count = Matrix::rowSums(dtm)
indices_empty_docs = which(doc_word_count == 0)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42633472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档