在 Gensim 中删除文档
Removing documents in Gensim
我正在使用 Gensim 执行 NLP 任务,目前我有一个包含空文档的语料库。我不想重新运行我的代码,虽然这是一个选项,但我只想删除没有任何内容的文档。这些文件已经保存为 TF-IDF 语料库,想知道是否有办法删除这些空文件。我可以找出哪些文档是空的,但语料库文件是一个迭代器,而不是任何类型的数据结构,即列表。谢谢,
卡梅隆
您可以尝试将语料库转换为 numpy 矩阵,如下所示:
numpy_matrix = gensim.matutils.corpus2dense(corpus, num_terms=number_of_corpus_features)
然后删除相应的列(所有条目均为零的列)。然后转回gensim语料库继续:
corpus = gensim.matutils.Dense2Corpus(numpy_matrix)
如果您打算在当前上下文中构建更多语料库,那么修改语料库创建过程可能是个好主意,这样您就不必每次都这样做,但我相信您已经想到了。
我正在使用 Gensim 执行 NLP 任务,目前我有一个包含空文档的语料库。我不想重新运行我的代码,虽然这是一个选项,但我只想删除没有任何内容的文档。这些文件已经保存为 TF-IDF 语料库,想知道是否有办法删除这些空文件。我可以找出哪些文档是空的,但语料库文件是一个迭代器,而不是任何类型的数据结构,即列表。谢谢,
卡梅隆
您可以尝试将语料库转换为 numpy 矩阵,如下所示:
numpy_matrix = gensim.matutils.corpus2dense(corpus, num_terms=number_of_corpus_features)
然后删除相应的列(所有条目均为零的列)。然后转回gensim语料库继续:
corpus = gensim.matutils.Dense2Corpus(numpy_matrix)
如果您打算在当前上下文中构建更多语料库,那么修改语料库创建过程可能是个好主意,这样您就不必每次都这样做,但我相信您已经想到了。