Kkma는 자연어 처리를 위해 개발한 한국어 형태소 분석기다. 흔히 '꼬꼬마'라고 한다.
KoNLPy의 꼬꼬마 형태소 분석기를 사용하기 위해서는 konlpy.tag 패키지의 Kkma 모듈을 불러와야 한다.
from konlpy.tag import Kkma
Kkma를 이용하면 간단한 한국어 문장을 형태소 단위로 토크나이징 할 수 있다고 한다.
Kkma 모듈의 함수 설명
1) morphs(phrase)
- 인자로 입력한 문장을 형태소 단위로 토크나이징함
- 토크나이징된 형태소들은 리스트 형태로 반환됨
2) nouns(phrase)
- 인자로 입력한 문장에서 품사가 명사인 토큰만 추출
3) pos(phrase, flatten=True)
- POS tagger라 부름
- 인자로 입력한 문장에서 형태소를 추출한 뒤, 품사 태깅을 함
- 추출된 형태소와 그 형태소의 품사가 튜플 형태로 묶여서 리스트로 반환됨
4) sentences(phrase)
- 인자로 입력한 여러 문장을 분리해주는 역할
- 분리된 문장은 리스트 형태로 반환됨
꼬꼬마 형태소 분석기 사용 예제
# 꼬꼬마 형태소 분석기 사용
from konlpy.tag import Kkma
# 꼬꼬마 형태소 분석기 객체 생성
kkma = Kkma()
text = '아버지가 방에 들어갑니다.'
1) 형태소 추출 - morphs(phrase)
# 형태소 추출
morphs = kkma.morphs(text)
print(morphs)
결과
['아버지', '가', '방', '에', '들어가', 'ㅂ니다', '.']
2) 형태소와 품사 태그 추출 - pos
# 형태소와 품사 태그 추출
pos = kkma.pos(text)
print(pos)
결과
('아버지', 'NNG'), ('가', 'JKS'), ('방', 'NNG'), ('에', 'JKM'), ('들어가', 'VV'), ('ㅂ니다', 'EFN'), ('.', 'SF')]
3) 명사만 추출 - nouns
# 명사만 추출
nouns = kkma.nouns(text)
print(text)
결과
아버지가 방에 들어갑니다.
4) 문장 분리 - sentences
# 문장 분리
sentences = '오늘 날씨는 어때요? 내일은 업다던데.'
s = kkma.sentences(sentences)
print(s)
결과
['오늘 날씨는 어 때요?', '내일은 업다 던데.']
Kkma 품사 태그
- NNG : 일반 명사
- JKS : 주격 조사
- JKM : 부사격 조사
- VV : 동사
- EFN : 평서형 종결 어미
- SF : 마침표, 물음표, 느낌표
이 외에도 총 56개의 품사 태그를 지원한다고 한다.
+) Kkma는 분석 시간이 다른 형태소 분석기에 비해 느리다고 한다. 하지만, 속도가 느리더라도 정확한 품사 정보가 필요할 때는 Kkma를 많이 사용한다고 한다.
[출처] 처음 배우는 딥러닝 챗봇
'데이터 사이언스 > 데이터 분석' 카테고리의 다른 글
[토크나이징] Okt (0) | 2021.12.21 |
---|---|
[토그나이징] Komoran (0) | 2021.12.14 |
변수 선택(Feature Selection) (0) | 2021.10.05 |
[NIPA AI 교육/기본] 데이터 분석하기(3) (0) | 2021.08.20 |
[NIPA AI 교육] 데이터 분석하기(2) (0) | 2021.08.18 |