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
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)
}