gensimを使っている際にわからないことがあったので質問させてください。
以下のコードを用いてLSIを実装しようとしています。
python
1lsi_model = models.LsiModel(tfidf_corpus, id2word = dic, num_topics = 300)2lsi_corpus = lsi_model[tfidf_corpus]
この際に出力として得られたlsi_corpusの次元数を確認したところ(1925(=文書数), 300)となっていました。その後このコーパスを機械学習の分類器へのインプットとして持ちいるために以下のようにしてベクトルへと変換を行いました。
python
1from gensim import corpora,matutils 2 3dense = list(matutils.corpus2dense([lsi_corpus[0]], num_terms=len(dic)).T[0])4print(dense)
num_topics = 300としている場合は、denseに変換した後にも1文書の次元数は300となるのかと考えたのですが、5198となっていました。
これは自身のgensim、corpus2denseの理解が間違っているのでしょうか。
どなたか教えていただけるとありがたいです。よろしくお願い致します。
参照先: GENSIMのサイト
0 コメント