テキストのキーワードの重みに基づいてネットワークを作成したい。その後、tm_mapに関連するコードを実行するとエラーが発生しました。
library (tm)
library(NLP)
lirary (openNLP)
text = c('.......')
corp <- Corpus(VectorSource(text))
corp <- tm_map(corp, stripWhitespace)
Warning message:
In tm_map.SimpleCorpus(corp, stripWhitespace) :
transformation drops documents
corp <- tm_map(corp, tolower)
Warning message:
In tm_map.SimpleCorpus(corp, tolower) : transformation drops documents
コードは2か月前に機能していましたが、新しいデータを探していますが、もう機能していません。誰でも私が間違っていた場所を教えてください。ありがとうございました。以下のコマンドを試してみましたが、どちらも機能しません。
corp <- tm_map(corp, content_transformer(stripWhitespace))
コードはまだ機能しているはずです。エラーではなく警告が表示されます。この警告は、VCorpusの代わりにCorpusを使用する場合、VectorSourceに基づいたコーパスがある場合にのみ表示されます。
理由は、コーパスコンテンツの名前の数がコーパスコンテンツの長さと一致するかどうかを確認するために、基礎となるコードにチェックがあるからです。テキストをベクトルとして読み取る場合、ドキュメント名はなく、この警告がポップアップします。これは単なる警告であり、ドキュメントは削除されていません。
2つの例の違いを見る
library(tm)
text <- c("this is my text with some other text and some more")
# warning based on Corpus and Vectorsource
text_corpus <- Corpus(VectorSource(text))
# warning appears running following line
tm_map(text_corpus, content_transformer(tolower))
<<SimpleCorpus>>
Metadata: corpus specific: 1, document level (indexed): 0
Content: documents: 1
Warning message:
In tm_map.SimpleCorpus(text_corpus, content_transformer(tolower)) :
transformation drops documents
# Using VCorpus
text_corpus <- VCorpus(VectorSource(text))
# warning doesn't appear
tm_map(text_corpus, content_transformer(tolower))
<<VCorpus>>
Metadata: corpus specific: 0, document level (indexed): 0
Content: documents: 1
tm_map(text_corpus, content_transformer(tolower))