1. 형태소 분석이란?
- 형태소 분석은 텍스트를 구성하는 기본 단위인 형태소(morpheme)를 분석하는 과정을 말합니다.
- 이때 형태소란, 의미를 가지는 가장 작은 언어 단위로 단어 또는 단어의 일부분 일 수 있습니다.
- 형태소는 크게 자립 형태소와 의존 형태소로 나눌 수 있습니다.
1) 자립 형태소 : 단독으로 사용될 수 있는 형태소
* 명사 : 사람, 책, 학교
* 동사 : 먹다, 가다
* 형용사 : 예쁘다, 크다
* 부사 : 빨리, 천천히, 정말
* 감탄사 : 아!, 야!, 우와!
2) 의존 형태소 : 혼자서 사용될 수 없고 다른 형태소와 결합해야 의미를 가지는 형태소
* 조사 : 이, 가, 을, 를, 에, 에게
* 어미 : 다, 요, 니, 습니다. 겠, 고
- 예시를 통해서 알아보면
"철수는 학교에 갔다" 라는 문장에서
* 철수 : 자립형태소(명사) / 는 : 의존 형태소(조사) / 학교 : 자립형태소 (명사) / 에 : 의존 형태소(조사) / 가 : 자립형태소(동사 어간) / 았 : 의존형태소(과거 시제 선어말 어미) / 다 : 의존 형태소(종결어미) 입니다.
2. 형태소 분석 절차
1) 텍스트 전처리(Text Preprocessing)
* 분석할 텍스트를 정제하고, 불필요한 공백이나 특수문자를 제거
* ex. 안녕하세요! 반갑습니다 -> 안녕하세요 반갑습니다.
2) 토큰화(Tokenization)
* 텍스트를 단어 단위로 분할
* ex. 안녕하세요 반갑습니다 -> [안녕하세요, 반갑습니다]
3) 형태소 분리(Morpheme Segmentation)
* 각 단어를 형태소 단위로 분리
* ex. 안녕하세요 -> [안녕, 하세요] / 반갑습니다 -> [반갑, 습니다]
4) 품사 태깅(Part-of-Speech Tagging)
* 분리된 형태소에 품사 정보를 부여
* ex. 안녕/NNG 하세요/BB, 반갑/VA 습니다/EF
(NNG(Noun General) : 일반 명사, VA(Adjective) : 형용사, EF(Ending Final) : 종결 어미 등...)
3. 파이썬을 라이브러리를 활용한 형태소 분석
- 한국어 분석에 활용되는 대표적인 라이브러리는 Kkma, Komoran, Hannanum, Twitter(Konlpy 라이브러리의 Okt) 등이 있습니다.
이를 통해 각 라이브러리들이 어떻게 형태소를 분리하는지 알아보겠습니다.
예시 문장은 "안녕하세요 반갑습니다" 입니다.
먼저 konlpy 라이브러리를 설치해줍니다.
(저는 코랩환경을 활용했습니다)
다음은 주어진 단어들을 각 라이브러리를 활용해 분석해줍니다.
각 라이브러리의 특징에 따라 조금씩 다르게 형태소를 도출하고 품사를 태깅하고 있습니다.
분석을 활용하실때 해당 분석 목적과 데이터의 특성을 잘 확인해서 적절한 형태소 분석을 진행하면 좋을 것 같습니다.
'딥러닝 with Python' 카테고리의 다른 글
[개념정리] 인코딩과 임베딩의 차이(Encoding vs Embedding) (0) | 2024.07.28 |
---|---|
[개념 정리] N-gram이란? N-gram 언어 모델이란? (0) | 2024.07.27 |
[개념정리] MLE(Maximum Likelihood Estimation)와 MAP(Maximum A Posteriori Estimation) (0) | 2024.07.25 |
[딥러닝 with Python] Multiple Instance Learning을 활용한 이미지 분류[개념 정리] (0) | 2024.07.23 |
[딥러닝 with Python] Vision Transformer를 활용한 이미지 분류 (2) | 2024.07.23 |
댓글