1. 스테밍(Stemming)
- 정의: 스테밍은 단어에서 접미사나 어미를 단순히 잘라내는 방법으로, 어근(stem)을 추출하는 기법입니다.
- 특징:
- 단순하고 빠른 방식.
- 어근이 반드시 실제 단어일 필요는 없습니다.
- 규칙 기반으로 접미사나 어미를 제거하여 단어를 변환합니다.
- 문법적 정보나 의미는 고려하지 않습니다.
- 예시:
- "running" → "run"
- "fishing" → "fish"
- "automate" → "automat" (정확한 단어 형태가 아님)
- 장점: 빠르고 대규모 데이터에서 사용하기에 적합.
- 단점: 정확도가 낮고, 단어의 문법적 의미를 무시하며, 결과적으로 비정상적인 어근을 추출할 수 있습니다.
2. 레마타이제이션(Lemmatization)
- 정의: 레마타이제이션은 단어를 **사전형(lemma)**으로 변환하는 기법입니다. 즉, 단어의 문법적 형태를 분석하여 정확한 기본형으로 변환합니다.
- 특징:
- 정확성을 중시하며, 어근이 항상 실제 단어입니다.
- 단어의 문법적 정보(예: 품사)를 고려하여 변환합니다.
- 언어 학적 규칙에 기반하여 변환을 수행합니다.
- 예시:
- "am", "are", "is" → "be" (동사 원형)
- "better" → "good" (형용사의 원형)
- "children" → "child"
- 장점: 단어의 정확한 형태를 유지하고, 문법적 의미를 반영하기 때문에 정확도가 높습니다.
- 단점: 스테밍보다 복잡하고 느리며, 더 많은 리소스를 사용합니다.
차이점 요약:
구분스테밍(Stemming)레마타이제이션(Lemmatization)
변환 방식 | 단순히 어미/접미사를 제거하여 어근을 추출 | 단어의 문법적 정보와 사전형(lemma)을 기반으로 변환 |
결과의 정확성 | 정확하지 않은 어근이 나올 수 있음 | 항상 정확한 기본형을 반환 |
언어학적 처리 | 문법적 정보나 의미를 고려하지 않음 | 문법적 정보(품사 등)를 고려하여 변환 |
예시 | "running" → "run" | "am", "is" → "be" |
주요 장점 | 단순하고 빠름 | 정확한 단어 형태를 유지 |
주요 단점 | 정확하지 않은 어근을 반환할 수 있음 | 속도가 느리고 리소스가 많이 필요함 |
예시로 정리:
- **"running"**이라는 단어가 있을 때:
- 스테밍: "run" (정확한 어근)
- 레마타이제이션: "run" (정확한 어근)
- **"automates"**라는 단어가 있을 때:
- 스테밍: "automat" (정확하지 않은 어근)
- 레마타이제이션: "automate" (정확한 기본형)
정리:
- 스테밍은 단순한 규칙을 기반으로 단어의 접미사를 잘라내는 방식이고, 레마타이제이션은 언어학적 정보를 고려해 정확한 사전형으로 변환합니다.
- 스테밍은 빠르지만 정확성이 떨어질 수 있으며, 레마타이제이션은 정확도가 높지만 더 복잡하고 느립니다.