2016-07-27 129 views
0

我正在使用Gensim進行NLP任務,目前我有一個包含空白文檔的語料庫。我不想重新運行我的代碼,儘管這是一個選項,並且只想刪除沒有任何內容的文檔。這些文件已經被保存爲TF-IDF語料庫,並且想知道是否有辦法刪除這些空白的文件。我可以計算出哪些文檔是空的,但是corpora文件是一個迭代器而不是任何類型的數據結構,即列表。謝謝,刪除Gensim中的文檔

卡梅倫

回答

1

你可以嘗試語料庫轉換爲numpy的矩陣,就像這樣:

numpy_matrix = gensim.matutils.corpus2dense(corpus, num_terms=number_of_corpus_features) 

然後刪除相應的列(這些所有零個條目)。然後轉換回gensim語料庫繼續:

corpus = gensim.matutils.Dense2Corpus(numpy_matrix) 

如果您打算在目前情況下建立更多的語料庫,這可能是一個好主意,修改語料庫創建過程,這樣你就不必做這每一次,但我相信你已經想到了。