표제어 추출과 어간 추출, 정확도와 속도의 트레이드오프

형태소·형태학 개념부터 표제어 추출과 어간 추출의 차이, 한국어 활용 처리, 언어별 구현 도구까지 비교한다

2026-08-14 · 최초 발행 2025-05-23

동일한 단어의 여러 활용형을 하나의 형태로 모으는 일은 텍스트 데이터의 차원을 줄이고 분석 효율을 높이는 데 필수적이다. 표제어 추출(Lemmatization)과 어간 추출(Stemming)은 이 작업을 수행하는 두 가지 접근이며, 정확도와 계산 비용에서 서로 다른 선택지를 제공한다.

형태소와 형태학이 다루는 것

형태소(Morpheme)는 의미를 가진 가장 작은 언어 단위이고, 형태학(Morphology)은 형태소를 기반으로 단어의 구조와 형성 과정을 연구하는 언어학의 한 분야다. 형태학적 분석은 단어의 내부 구조를 파악하는 과정으로, 서로 다른 형태를 가진 단어들을 하나의 표준 형태로 변환하는 데 필요하다.

표제어 추출은 문맥을 읽는다

표제어 추출은 단어의 표제어(Lemma), 즉 사전형을 찾아내는 과정이며 단어의 문법적 특성과 문맥을 고려해 이루어진다. 문맥을 분석하기 때문에 원래 단어의 품사 정보를 유지하고, 언어학적 지식을 바탕으로 정확한 기본형을 도출한다.

- "am", "are", "is" → "be"
- "has", "have", "had" → "have"
- "better", "best" → "good"
- "running", "ran" → "run"

표제어 추출은 품사 태깅(POS tagging)과 같은 추가적인 언어 처리 과정을 필요로 하는 경우가 많다. 영어의 "better"라는 단어는 문맥에 따라 "good"의 비교급 형용사일 수도 있고 "well"의 비교급 부사일 수도 있어서, 정확한 표제어를 추출하려면 문장 내 사용 맥락을 분석해야 한다.

어간 추출은 규칙만 본다

어간 추출은 단어에서 접사(affix)를 제거해 어간(stem)만 남기는 과정이다. 미리 정의된 규칙에 따라 접사를 제거하기 때문에 복잡한 형태론적 분석 없이 수행할 수 있지만, 결과는 원래 단어의 품사 정보를 잃는 경우가 많고 때로는 과도하게 단순화되어 의미적 차이가 사라질 수 있다.

- "running", "runner", "runs" → "run"
- "historically", "history", "historic" → "histor"
- "argument", "arguing", "argued" → "argu"

어간 추출은 종종 유사한 의미를 가진 단어들을 같은 어간으로 통합하지만, "organize"와 "organ"처럼 서로 다른 의미를 가진 단어들도 같은 어간("organ")으로 묶어버리는 오류를 범할 수 있다.

어간과 접사를 가르는 형태학적 파싱

형태학적 파싱은 단어를 어간(stem)과 접사(affix)로 분리하는 과정이다.

단어어간 추출표제어 추출어간 - 의미 핵심 부분접사 - 추가 의미 부여표제어 - 사전 기본형단순화된 단어 표현문법적으로 정확한 기본형

어간은 단어의 의미적 핵심을 담고 있는 기본 부분이다(예: "running"에서 "run", "painter"에서 "paint"). 접사는 어간에 추가되어 문법적 기능이나 부가적인 의미를 부여하는 부분으로, 접두사(prefix)·접미사(suffix)·중간첨사(infix) 등이 있다(예: "unhappy"의 "un-", "running"의 "-ing").

한국어는 어간에 어미가 붙는다

한국어는 교착어로서 어간에 다양한 어미와 조사가 결합하는 특성을 가진다. 특히 용언(동사, 형용사)은 어간과 어미의 결합으로 구성된다.

용언의 어간이 어미를 취하는 현상을 활용(Conjugation)이라 하는데, 어간이 어미를 취할 때 형태가 변하지 않는 규칙 활용(예: "먹다" → "먹고", "먹어", "먹으니")과 어간이나 어미의 형태가 변하는 불규칙 활용(예: "듣다" → "듣고"(규칙), "들어"(불규칙); "긋다" → "긋고"(규칙), "그어서"(불규칙))으로 나뉜다.

불규칙 활용과 다양한 어미 결합 패턴 때문에 한국어의 표제어 추출은 영어보다 복잡할 수 있어, 정확한 표제어 추출을 위해서는 형태소 분석기 같은 고급 NLP 도구를 활용하는 것이 일반적이다.

- "살았다", "살고", "살겠다" → "살다"
- "예쁘다", "예쁜", "예뻐서" → "예쁘다"

표제어 추출과 어간 추출을 나란히 놓고 보면

특징 표제어 추출(Lemmatization) 어간 추출(Stemming)
결과물 사전에 존재하는 단어(표제어) 단어의 일부분(어간)으로, 실제 단어가 아닐 수 있음
분석 수준 문맥과 품사 고려 단순 규칙 적용
정확도 높음 상대적으로 낮음
계산 복잡성 높음 낮음
속도 상대적으로 느림 빠름
언어학적 지식 필요 최소한으로 필요

검색부터 요약까지, 실제로 쓰이는 곳

검색 엔진은 사용자 쿼리와 문서 내용을 매칭할 때 표제어 추출이나 어간 추출을 활용한다. "running"으로 검색하면 "run", "ran" 등을 포함한 문서도 검색 결과에 포함시킬 수 있다. 소셜 미디어 텍스트의 감정 분석에서는 다양한 형태의 단어들을 기본형으로 통합해 정확도를 높이고, 문서 클러스터링과 분류에서는 단어 공간의 차원을 줄여 계산 효율성을 높인다. 자동 텍스트 요약 시스템에서도 단어의 다양한 변형을 기본형으로 통합해 핵심 개념을 더 정확하게 식별한다.

언어별 구현 도구

영어권에서는 파이썬 자연어 처리 라이브러리인 NLTK가 Porter 스테머와 WordNet 기반 표제어 추출기를 제공하고, spaCy는 고성능 표제어 추출 기능을 제공하며, 자바 기반의 Stanford CoreNLP도 고급 표제어 추출 기능을 갖추고 있다. 한국어권에서는 형태소 분석과 품사 태깅을 함께 제공하는 KoNLPy, 한국어를 위한 고속 형태소 분석기 Mecab, 자바 기반 형태소 분석기 Komoran을 쓴다.

표제어 추출은 언어학적 정확성을 추구하고, 어간 추출은 계산적 효율성을 우선시한다. 특정 NLP 작업의 요구사항과 언어적 특성에 따라 적절한 기법을 선택하는 것이 중요하며, 한국어처럼 활용 패턴이 복잡한 교착어라면 단순한 어간 추출보다 정교한 형태소 분석과 표제어 추출이 더 효과적일 수 있다. 실제 응용에서는 단일 기법보다 여러 방법을 결합하는 하이브리드 접근이 종종 더 나은 결과를 낸다.

표제어 추출어간 추출형태소 분석LemmatizationStemming