시작하기무료로 시작하기

어간 추출과 어간 복원 소개

또 하나 유용한 전처리 단계로는 바로 어간 추출과 어간 복원이 있습니다. 어간 추출은 단어를 축약해 문서 간 표현을 통일합니다. 예를 들어 "computational", "computers", "computation"의 어간은 "comput"입니다. 하지만 "comput"는 실제 단어가 아니므로, "computational", "computers", "computation"이 모두 인식 가능한 단어인 "computer"로 이어지도록 단어를 다시 복원하고자 합니다. 이 복원 단계를 어간 복원이라고 합니다.

tm 패키지에는 단어의 어근을 찾는 stemDocument() 함수가 있습니다. 이 함수는 문자 벡터를 입력받아 문자 벡터를 반환하거나, PlainTextDocument를 입력받아 PlainTextDocument를 반환합니다.

예를 들어,

stemDocument(c("computational", "computers", "computation"))

"comput" "comput" "comput"를 반환합니다.

이제 stemCompletion()을 사용해 이러한 어근을 알려진 용어로 다시 복원해 보겠습니다. stemCompletion()은 문자 벡터와 완성 사전을 인수로 받습니다. 완성 사전은 문자 벡터일 수도 있고 Corpus 객체일 수도 있습니다. 어떤 형태이든, 이 예시의 완성 사전에는 "computer"가 포함되어 있어야 모든 "comput"가 복원될 수 있습니다.

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

R로 배우는 Bag-of-Words 텍스트 마이닝

강의 보기

연습 안내

  • "complicated", "complication", "complicatedly"를 이 순서대로 담은 complicate라는 벡터를 만드세요.
  • complicate의 어간을 추출한 결과를 stem_doc 객체에 저장하세요.
  • 단어 하나, "complicate"를 담는 comp_dict를 만드세요.
  • stem_docstemCompletion()을 적용해 complete_text를 만드세요. 단어 복원 시 기준 코퍼스로 comp_dict를 사용하세요.
  • complete_text를 콘솔에 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create complicate
complicate <- ___

# Perform word stemming: stem_doc
stem_doc <- ___

# Create the completion dictionary: comp_dict
comp_dict <- ___

# Perform stem completion: complete_text 
complete_text <- ___

# Print complete_text
complete_text
코드 편집 및 실행