2016-07-27 14 views
0

Ich benutze Gensim für eine NLP-Aufgabe und derzeit habe ich ein Korpus, das leere Dokumente enthält. Ich möchte meinen Code nicht erneut ausführen, obwohl dies eine Option ist, und möchte nur die Dokumente entfernen, die keinen Inhalt haben. Die Dokumente sind bereits als TF-IDF-Korpora gespeichert und haben sich gefragt, ob es eine Möglichkeit gibt, diese leeren Dokumente zu entfernen. Ich kann herausfinden, welche Dokumente leer sind, aber die Korpora-Datei ist ein Iterator und nicht irgendeine Art von Datenstruktur, dh Liste. Danke,Entfernen von Dokumenten in Gensim

Cameron

Antwort

1

Sie könnten versuchen, den Korpus zu einer numpy Matrix konvertieren, etwa so:

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

dann die entsprechenden Spalten entfernen (die mit allen Null-Einträgen). Dann wandeln auf einen GENSIM Korpus zurück, um fortzufahren:

corpus = gensim.matutils.Dense2Corpus(numpy_matrix) 

Wenn Sie auf den Aufbau von noch mehr Korpora im aktuellen Kontext planen, könnte es eine gute Idee sein, das corpus Erstellungsprozess zu ändern, so dass Sie nicht zu tun haben, das jedes Mal, aber ich bin mir sicher, dass du daran gedacht hast.

Verwandte Themen