私はニュース記事のコーパスをトピックモデル化するためにRのtm
andパッケージを使用しています。ただし、トピックを台無しにしているlda
「文字以外の」問題が発生しています。""
これが私のワークフローです:
text <- Corpus(VectorSource(d$text))
newtext <- lapply(text, tolower)
sw <- c(stopwords("english"), "ahram", "online", "egypt", "egypts", "egyptian")
newtext <- lapply(newtext, function(x) removePunctuation(x))
newtext <- lapply(newtext, function(x) removeWords(x, sw))
newtext <- lapply(newtext, function(x) removeNumbers(x))
newtext <- lapply(newtext, function(x) stripWhitespace(x))
d$processed <- unlist(newtext)
corpus <- lexicalize(d$processed)
k <- 40
result <-lda.collapsed.gibbs.sampler(corpus$documents, k, corpus$vocab, 500, .02, .05,
compute.log.likelihood = TRUE, trace = 2L)
残念ながら、私がldaモデルをトレーニングすると、最も頻繁に出現する単語が ""であることを除いて、すべてが見栄えがします。以下に示すように語彙から削除し、上記のようにモデルを再推定することで、これを改善しようとしています。
newtext <- lapply(newtext, function(x) removeWords(x, ""))
しかし、それはまだそこにあります。
str_split(newtext[[1]], " ")
[[1]]
[1] "" "body" "mohamed" "hassan"
[5] "cook" "found" "turkish" "search"
[9] "rescue" "teams" "rescued" "hospital"
[13] "rescue" "teams" "continued" "search"
[17] "missing" "body" "cook" "crew"
[21] "wereegyptians" "sudanese" "syrians" "hassan"
[25] "cook" "cargo" "ship" "sea"
[29] "bright" "crashed" "thursday" "port"
[33] "antalya" "southern" "turkey" "vessel"
[37] "collided" "rocks" "port" "thursday"
[41] "night" "result" "heavy" "winds"
[45] "waves" "crew" ""
これを削除する方法について何か提案はありますか?ストップワードのリストに追加""
しても役に立ちません。