robie temat modelowania przy użyciu pakietu topicmodels w R. tworzę obiekt Corpus, robiąc podstawowe wstępne przetwarzanie, a następnie tworząc DocumentTermMatrix:Usunąć puste dokumenty z DocumentTermMatrix w R topicmodels?
corpus <- Corpus(VectorSource(vec), readerControl=list(language="en"))
corpus <- tm_map(corpus, tolower)
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, removeWords, stopwords("english"))
corpus <- tm_map(corpus, stripWhitespace)
corpus <- tm_map(corpus, removeNumbers)
...snip removing several custom lists of stopwords...
corpus <- tm_map(corpus, stemDocument)
dtm <- DocumentTermMatrix(corpus, control=list(minDocFreq=2, minWordLength=2))
a następnie wykonywanie LDA:
LDA(dtm, 30)
to ostateczne wezwanie do LDA() zwraca błąd
"Each row of the input matrix needs to contain at least one non-zero entry".
Zakładam, oznacza to, że istnieje co najmniej jeden dokument t kapelusz nie zawiera żadnych warunków po wstępnym przetworzeniu. Czy istnieje prosty sposób na usunięcie dokumentów, które nie zawierają terminów z DocumentTermMatrix?
Zajrzałem do dokumentacji pakietu topicmodels i znalazłem funkcję removeSparseTerms, która usuwa terminy, które nie pojawiają się w żadnym dokumencie, ale nie ma analogii do usuwania dokumentów.
Kiedy przeprowadzasz kontrolę (korpus), widzisz jakiś dokument emty? a LDA jest w jakiej paczce? – agstudy
Używam funkcji LDA z pakietu topicmodels. Mam około 51 000 dokumentów, więc nie mogę ręcznie sprawdzić przy inspekcji. Możliwe też, że niektóre terminy są usuwane przez parametry minDocFreq = 2, minWordLength = 2, więc to, co naprawdę chcę sprawdzić, to DocumentTermMatrix. Czy istnieje inny sposób na znalezienie pustych dokumentów? –