정규화의 목적은 코퍼스의 복잡성을 줄이는 일입니다.
어간 추출 및 표제어 추출은 단어가 다르게 표기 됐지만, 하나의 단어로 일반화시킬 수 있다면 하나의 단어로 일반화시켜서 문서 내의 단어 수를 줄이는 것을 목적으로 합니다.
1. 표제어 추출(Lemmatization)
표제어 추출은 단어들이 다른 형태를 가지더라도, 그 뿌리 단어를 찾아 단어의 개수를 줄일 수 있는지 판단합니다.am, are, is => be
표제어 추출은 형태학적 파싱을 먼저 진행합니다. 형태학적 파싱은 어간(stem)과 접사(affix)를 분리하는 작업을 말합니다.
형태소란 '의미를 가진 가장 작은 단위'이며, 두 가지 종류가 있습니다.
1) 어간(stem): 단어의 의미를 담고 있는 단어의 핵심 부분.
2) 접사(affix): 단어에 추가적인 의미를 주는 부분.
형태학(morphology)이란, 형태소로부터 단어들을 만들어가는 학문입니다.
형태학적 파싱은 이 두 가지 구성 요소를 분리하는 작업을 말합니다.
NLTK에서는 표제어 추출을 위한 도구인 WordNetLemmatizer를 지원합니다.
2. 어간 추출(Stemming)
어간(Stem)을 추출하는 작업으로, 어간 추출은 단순 규칙에 기반하여 이루어지기 때문에 어간 추출 후에 나오는 결과 단어는 사전에 존재하지 않는 단어일 수도 있습니다.NLTK에서는 포터 알고리즘 외에도 랭커스터 스태머(Lancaster Stemmer) 알고리즘을 지원합니다.
두 스태머는 다른 알고리즘을 사용하므로, 결과가 다르게 나옵니다. 따라서 어떤 스태머가 코퍼스에 적합한지를 판단한 후에 사용하여야 합니다.
3. 한국어 어간 추출
한국어는 아래의 표와 같이 5언 9품사의 구조를 가지고 있습니다.언 | 품사 |
체언 | 명사, 대명사, 수사 |
수식언 | 관형사, 부사 |
관계언 | 조사 |
독립언 | 감탄사 |
용언 | 동사, 형용사 |
이중 용언이 어간(stem)과 어미(ending)의 결합으로 구성됩니다.
(1) 활용(conjugation)
활용이란 용언(동사, 형용사)의 어간(stem)이 어미(ending)를 가지는 일을 말합니다.어간(stem) : 용언에서 모양이 변하지 않는 부분으로 어미에 선행하는 부분. 때론 어간의 모양도 바뀔 수 있음(예: 긋다, 긋고, 그어서, 그어라).
어미(ending): 어간 뒤에 붙어서 활용하면서 변하는 부분.
a) 규칙 활용
규칙 활용은 어간이 어미를 취할 때, 어간의 모습이 변하지 않으며, 어미를 단순히 분리해주면 어간 추출이 됩니다.잡/어간 + 다/어미
b) 불규칙 활용
불규칙 활용은 어간이 어미를 취할 때 어간의 모습이 바뀌거나 취하는 어미가 특수한 어미일 경우로, 좀 더 복잡한 규칙으로 어간 추출을 합니다.어간의 형식이 달라지는 경우: 돕/도우-, 곱/고우-, 잇/이-, 올/올-, 노랗/노라
특수한 어미를 취하는 경우: 오르+ 아/어→올라, 하+아/어→하여, 이르+아/어→이르러, 푸르+아/어→푸르러
감사합니다.
Reference: https://wikidocs.net/21698
댓글
댓글 쓰기