始める無料で始める

コーパスに前処理ステップを適用する

tm パッケージには、コーパス全体にクリーニング関数を適用できる tm_map() 関数があり、クリーニング作業を簡単にしてくれます。

tm_map() は引数を2つ取ります。コーパスとクリーニング関数です。ここで removeNumbers()tm パッケージの関数です。

corpus <- tm_map(corpus, removeNumbers)

互換性のため、base R や qdap の関数は content_transformer() でラップする必要があります。

corpus <- tm_map(corpus, content_transformer(replace_abbreviation))

同じ関数を複数のコーパスに適用することもあるので、エディタに表示されているようなカスタム関数を使うと、時間(とコード行数)を節約できます。clean_corpus() は引数として corpus を1つ取り、一連のクリーニング関数を順番に適用して更新後のコーパスを返します。

クリーニング手順の順番は重要です。たとえば、先に removeNumbers() を実行してから replace_number() を実行すると、2つ目の関数は変更対象を見つけられません。結果は必ずチェック、再チェック、再々チェックしましょう!

この演習はコースの一部です

Rで学ぶBag-of-Wordsによるテキストマイニング

コースを見る

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Alter the function code to match the instructions
clean_corpus <- function(corpus) {
  # Remove punctuation
  corpus <- tm_map(corpus, ___)
  # Transform to lower case
  corpus <- tm_map(corpus, ___)
  # Add more stopwords
  corpus <- tm_map(corpus, removeWords, words = c(stopwords("en"), "coffee", ___))
  # Strip whitespace
  ___
  return(corpus)
}
コードを編集して実行