SpaCy를 활용하여 텍스트에서 단어의 어간 추출(Stemming)

SpaCy는 자연어 처리를 위한 강력한 라이브러리로, 텍스트 처리 작업에 많이 사용됩니다. 이번 포스트에서는 SpaCy를 사용하여 텍스트에서 단어의 어간을 추출하는 방법을 알아보겠습니다.

어간 추출(Stemming)이란?

어간 추출은 단어에서 접사를 제거하고 어간을 추출하는 과정을 말합니다. 어간은 단어의 핵심 부분으로, 단어의 의미를 담고 있는 부분입니다. 예를 들어, “running”, “runs”, “ran”은 모두 “run” 이라는 어간을 가지고 있습니다.

SpaCy를 사용한 어간 추출

SpaCy에서는 lemmatize 함수를 사용하여 어간 추출을 수행할 수 있습니다. 아래는 예제 코드입니다.

import spacy

nlp = spacy.load('en_core_web_sm')
text = "I am running in the park"

# 텍스트를 SpaCy 문서로 변환합니다
doc = nlp(text)

# 각 토큰의 어간을 추출하여 출력합니다
for token in doc:
    print(token.text, "-", token.lemma_)

위의 코드는 “I am running in the park”라는 텍스트에서 각 단어의 어간을 추출하여 출력하는 예제입니다. 실행 결과는 다음과 같습니다.

I - -PRON-
am - be
running - run
in - in
the - the
park - park

요약

이번 포스트에서는 SpaCy를 사용하여 텍스트에서 단어의 어간을 추출하는 방법에 대해 알아보았습니다. SpaCy는 강력한 자연어 처리 라이브러리로, 실제 프로젝트에서 다양한 텍스트 처리 작업에 사용될 수 있습니다.

#NLP #자연어처리