어간 추출과 어간 복원 소개
또 하나 유용한 전처리 단계로는 바로 어간 추출과 어간 복원이 있습니다. 어간 추출은 단어를 축약해 문서 간 표현을 통일합니다. 예를 들어 "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_doc에stemCompletion()을 적용해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