Začněte nyníZačněte zdarma

Aplikuj předpracování na korpus

Balíček tm nabízí funkci tm_map(), která umožňuje aplikovat čisticí funkce na celý korpus najednou – celý proces tím výrazně zjednodušuje.

tm_map() přijímá dva argumenty: korpus a čisticí funkci. Funkce removeNumbers() pochází přímo z balíčku tm.

corpus <- tm_map(corpus, removeNumbers)

Kvůli kompatibilitě je potřeba funkce ze základního R a z balíčku qdap obalit pomocí content_transformer().

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

Pokud stejné funkce aplikuješ na více korpusů, ušetříš si čas (i řádky kódu) tím, že si napíšeš vlastní funkci – například takovou, jakou vidíš v editoru. Funkce clean_corpus() přijímá jeden argument, corpus, postupně na něj aplikuje sérii čisticích funkcí a vrátí upravený korpus.

Na pořadí čisticích kroků záleží. Pokud například nejdřív použiješ removeNumbers() a pak replace_number(), druhá funkce už nebude mít co upravovat! Výsledky vždy pečlivě zkontroluj!

Toto cvičení je součástí kurzu

Dolování textu metodou Bag-of-Words v R

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
}
Upravit a spustit kód