Zacznij terazZacznij za darmo

Zastosuj kroki przetwarzania wstępnego do korpusu

Pakiet tm udostępnia funkcję tm_map(), która pozwala zastosować funkcje czyszczące do całego korpusu, co znacznie upraszcza ten proces.

tm_map() przyjmuje dwa argumenty: korpus i funkcję czyszczącą. Poniżej removeNumbers() pochodzi z pakietu tm.

corpus <- tm_map(corpus, removeNumbers)

Aby zapewnić zgodność, funkcje z bazowego R i pakietu qdap muszą być opakowane w content_transformer().

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

Często te same funkcje stosuje się do wielu korpusów – użycie własnej funkcji, takiej jak ta widoczna w edytorze, pozwala zaoszczędzić czas (i wiersze kodu). Funkcja clean_corpus() przyjmuje jeden argument – corpus – i kolejno stosuje do niego szereg funkcji czyszczących, a następnie zwraca zaktualizowany korpus.

Kolejność kroków czyszczenia ma znaczenie. Na przykład jeśli najpierw użyjesz removeNumbers(), a potem replace_number(), druga funkcja nie znajdzie już nic do zmiany! Sprawdzaj, sprawdzaj i jeszcze raz sprawdzaj wyniki!

To ćwiczenie jest częścią kursu

Eksploracja tekstu metodą Bag-of-Words w R

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
}
Edytuj i uruchom kod