小编Bil*_*l M的帖子

从R topicmodels中删除DocumentTermMatrix中的空文档?

我正在使用R中的topicmodels包进行主题建模.我正在创建一个Corpus对象,进行一些基本的预处理,然后创建一个DocumentTermMatrix:

corpus <- Corpus(VectorSource(vec), readerControl=list(language="en")) 
corpus <- tm_map(corpus, tolower)
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, removeWords, stopwords("english"))
corpus <- tm_map(corpus, stripWhitespace)
corpus <- tm_map(corpus, removeNumbers)
...snip removing several custom lists of stopwords...
corpus <- tm_map(corpus, stemDocument)
dtm <- DocumentTermMatrix(corpus, control=list(minDocFreq=2, minWordLength=2))
Run Code Online (Sandbox Code Playgroud)

然后执行LDA:

LDA(dtm, 30)
Run Code Online (Sandbox Code Playgroud)

最后调用LDA()返回错误

  "Each row of the input matrix needs to contain at least one non-zero entry". 
Run Code Online (Sandbox Code Playgroud)

我认为这意味着在预处理之后至少有一个文档中没有任何术语.有没有一种简单的方法可以从DocumentTermMatrix中删除不包含任何术语的文档?

我查看了topicmodels包的文档,找到了函数removeSparseTerms,它删除了任何文档中没有出现的术语,但没有类似的删除文档.

r lda topic-modeling topicmodels

40
推荐指数
3
解决办法
3万
查看次数

Haskell - 元组是否有monad序列函数?

假设我有一个类型的值Monad m => (m a, m a),我想"序列"该对以创建一个类型Monad m => m (a, a)的值,它以"序列"函数的相同方式组合两个值的monadic上下文.这样做有一些标准功能或标准方式吗?这项操作甚至有意义吗?

monads haskell tuples sequence

5
推荐指数
3
解决办法
2110
查看次数

可以在newtype定义中使用类型类约束吗?

假设我们有以下newtype定义:

newtype A = A { _run :: Monad m => A -> [Int] -> m Int }
Run Code Online (Sandbox Code Playgroud)

这不能用GHC 8.0.2编译:

error: Not in scope: type variable ‘m’
Run Code Online (Sandbox Code Playgroud)

正如我所料,用m类似的IO或类似的具体类类替换[].鉴于这没关系,为什么GHC不允许上面的签名?在此内部添加类型类约束有什么问题newtype

haskell typeclass newtype

3
推荐指数
2
解决办法
1077
查看次数

标签 统计

haskell ×2

lda ×1

monads ×1

newtype ×1

r ×1

sequence ×1

topic-modeling ×1

topicmodels ×1

tuples ×1

typeclass ×1