시작하기무료로 시작하기

코퍼스에 전처리 단계 적용하기

tm 패키지는 전체 코퍼스에 정리(클리닝) 함수를 적용하는 tm_map() 함수를 제공해 전처리를 더 쉽게 해줘요.

tm_map()은 코퍼스와 정리 함수 두 가지 인수를 받아요. 여기서 removeNumbers()tm 패키지의 함수예요.

corpus <- tm_map(corpus, removeNumbers)

호환성을 위해 base R와 qdap 함수는 content_transformer()로 감싸야 해요.

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

여러 코퍼스에 동일한 함수를 반복해서 적용할 수도 있으니, 에디터에 제시된 것처럼 사용자 정의 함수를 만들어 두면 시간(그리고 코드 줄 수)을 아낄 수 있어요. clean_corpus()는 하나의 인수 corpus를 받아 일련의 정리 함수를 순서대로 적용한 뒤, 업데이트된 코퍼스를 반환해요.

정리 단계의 순서는 중요해요. 예를 들어, removeNumbers()를 먼저 적용한 뒤 replace_number()를 실행하면, 두 번째 함수는 바꿀 숫자를 찾지 못하겠죠! 결과를 꼭 여러 번 확인하세요.

이 연습은 강의의 일부입니다

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)
}
코드 편집 및 실행