ComeçarComece de graça

Aplicar etapas de pré-processamento a um corpus

O pacote tm oferece a função tm_map() para aplicar funções de limpeza a um corpus inteiro, facilitando as etapas de limpeza.

tm_map() recebe dois argumentos: um corpus e uma função de limpeza. Aqui, removeNumbers() é do pacote tm.

corpus <- tm_map(corpus, removeNumbers)

Por compatibilidade, funções do base R e do qdap precisam ser encapsuladas em content_transformer().

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

Você pode aplicar as mesmas funções a vários corpora; usar uma função personalizada como a exibida no editor vai economizar seu tempo (e linhas de código). clean_corpus() recebe um argumento, corpus, aplica uma série de funções de limpeza em ordem e retorna o corpus atualizado.

A ordem das etapas de limpeza faz diferença. Por exemplo, se você usar removeNumbers() e depois replace_number(), a segunda função não encontrará nada para alterar! Confira, confira e confira novamente seus resultados!

Este exercício faz parte do curso

Mineração de Texto com Bag-of-Words em R

Ver curso

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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)
}
Editar e executar o código