Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you initialize a gensim corpus variable with a csr_matrix?

I have X as a csr_matrix that I obtained using scikit's tfidf vectorizer, and y which is an array

My plan is to create features using LDA, however, I failed to find how to initialize a gensim's corpus variable with X as a csr_matrix. In other words, I don't want to download a corpus as shown in gensim's documentation nor convert X to a dense matrix, since it would consume a lot of memory and the computer could hang.

In short, my questions are the following,

  1. How do you initialize a gensim corpus given that I have a csr_matrix (sparse) representing the whole corpus?
  2. How do you use LDA to extract features?
like image 420
IssamLaradji Avatar asked Mar 27 '13 22:03

IssamLaradji


1 Answers

Gensim has a semi-well-hidden function that can kind of do this for you:

http://radimrehurek.com/gensim/matutils.html#gensim.matutils.Sparse2Corpus

"class gensim.matutils.Sparse2Corpus(sparse, documents_columns=True) Convert a matrix in scipy.sparse format into a streaming gensim corpus."

I've had some success with it using a corpus extracted with CountVectorizer, then loaded into gensim.

like image 160
Fred Avatar answered Sep 17 '22 18:09

Fred