パッケージtm
を使用して、次のドキュメントからストップワードをフィルタリングしようとしています。私はこのコードを実行するとパッケージtm stop-wordパラメータ
library(tm)
documents <- c("the quick brown fox jumps over the lazy dog", "i am the walrus")
corpus <- Corpus(VectorSource(documents))
matrix <- DocumentTermMatrix(corpus,control=list(stopwords=TRUE))
しかし、私はまだDocumentTermMatrix
に次のように取得します。
colnames(matrix)
[1] "brown" "dog" "fox" "jumps" "lazy" "over" "quick" "the" "walrus"
「」tm
用途をパッケージ化し、リスト内のストップワードとして表示されます。 stopwords
パラメータに関して何か問題がありましたか、これはtm
パッケージのバグですか?
EDIT:私はインゴFeinererに連絡し、彼はそれがバグ技術的ではないことに注意:
ユーザーが提供するオプションが最初に処理した後、残りのすべての オプションされています。したがって、ストップワードの削除はトークン化の前に行われます( は既にstackoverflow.comのVincent Zoonekyndによって書かれています)。 という結果が得られます。
したがって、解決策は、明示的に、たとえば、stopwords
パラメータに先立って、デフォルトのトークン化のオプションを一覧表示することです:
library(tm)
documents <- c("the quick brown fox jumps over the lazy dog", "i am the walrus")
corpus <- Corpus(VectorSource(documents))
matrix <- DocumentTermMatrix(corpus,control=list(tokenize=scan_tokenizer,stopwords=TRUE))
colnames(matrix)
質問と回答...ありがとうございました...私の問題ではそれらのどれも全く働いていませんが。 TMのストップワードのように見えるのは、この時点で頭痛に過ぎません。 –