2016-07-27 3 views
0

Я использую Gensim для задачи NLP, и в настоящее время у меня есть корпус, который содержит пустые документы. Я не хочу повторно запускать свой код, хотя это вариант и просто хотел бы удалить документы, у которых нет содержимого. Документы уже сохранены в качестве TF-IDF-корпусов и задаются вопросом, есть ли способ удалить эти пустые документы. Я могу выяснить, какие документы пустые, но корпоративный файл - это итератор, а не какой-либо тип структуры данных, т. Е. Список. Спасибо,Удаление документов в Gensim

Cameron

ответ

1

Вы можете попробовать преобразовать корпус в Numpy матрицы, например, так:

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

Затем удалите соответствующие столбцы (те, со всеми нулевыми элементами). Затем преобразовать обратно в gensim корпуса для продолжения:

corpus = gensim.matutils.Dense2Corpus(numpy_matrix) 

Если вы планируете строить какие-либо еще в вашем корпуса текущего контекста, это может быть хорошей идеей, чтобы изменить процесс создания корпуса, так что вам не нужно делать это каждый раз, но я уверен, что вы об этом подумали.

Смежные вопросы