표제어 처리(Lemmatization)란?
표제어 처리는 단어의 형태가 변해도 그 의미를 파악할 수 있도록 단어의 기본형(표제어)으로 변환하는 과정입니다. 한국어에서는 용언(동사, 형용사)의 어간과 어미를 분리하여 어간만 추출하는 작업이 대표적입니다.
예를 들어:
-
"먹었다", "먹는다", "먹겠다" → "먹다"
-
"예쁘다", "예쁜", "예뻤다" → "예쁘다"
-
의미
- 원래의 뜻은 언어적 표준화(normalization)이다. 문장 속에 다양한 형태로 표현된 동의어를 하나의 단어로 통일하여 표현하는 작업. 보통 표제어로 통일하는 작업을 표제화라고 하나, 실제 작업에서는 사전에 나오지 않는 하지만 의미를 포함하고 있는 단어나 기호들도 통일화 작업을 해주어야 한다. 때문에 표제어라는 표현보다는 단어의 통일화라고 표현하는 것이 더 바람직하다. 표현이 통일화된다면, 반드시 사전 식 표현을 쓸 필요는 없다.
-
표제화 대상이 되는 표현들은 무엇이 있나?
- 오타
- 동일 의미를 가지고 있는 유사어
- 은어
- 축약어
- 복수형
- 영어 표제화 할 것.
- 복수형을 단수형으로 전환
- ****s와 ******ing 처럼 앞에 특정 단위는 공통. 뒤가 달라지는 경우.
표제어 처리 방법 설명
1안: 형태소 분석기 이용한 표제어 처리
- KoNLPy 라이브러리의 다양한 형태소 분석기(Okt, Komoran, Hannanum, Kkma)를 사용
- 추천: Okt, Mecab
- 형태소 분석 > 품사 태그 이용, 용언의 경우 어간을 추출하여 기본형으로 변환
2안: 직접 사용자 정의 사전 활용
- 본인 사전 따로 만들기
- 빈도 분석 후
- 표제어 리스트 작성 > 표제화 사전 파일 만들기 (어떤 형식이건 상관없음.)
- 특정 단어를 다른 단어로 변환하는 함수 작성
- 실행
3안: JLab 전용 코드 (추후 소개)