NoNLPy는 기본적인 한국어 자연어 처리를 위한 파이썬 라이브러리이고 공식 사이트에 따르면 코엔엘파이라고 읽는다. KoNLPy는 오픈소스 소프트웨어이며, GPL v3 라이센스에 따라 자유롭게 사용할 수 있어 한국어 자연어 처리 분야에서 많이 사용하는 라이브러리이다.
NLP (Natural Language Processing, 자연어처리)는 텍스트에서 의미있는 정보를 분석, 추출하고 이해하는 일련의 기술집합이다.
출처 https://konlpy-ko.readthedocs.io/ko/v0.4.3/start/
install
Mac OS
$ pip install konlpy # Python 2.x
$ pip3 install konlpy # Python 3.x
$ bash <(curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh)
Kkma 모듈 사용하기
from konlpy.tag import Kkma
from konlpy.utils import pprint
if __name__ == '__main__':
kkma = Kkma()
message = '안녕하세요 저는 홍길동입니다.'
hello = "안녕하세요. 저는 홍길동이며 고등학교 3학년입니다. 오늘 자연어 처리 공부를 시작한 학생이며 앞으로 앱에 자연어 처리 기술을 응용하며 개발을 진행할 예정입니다. 앞으로 많은 관심과 응원 부탁드립니다. 감사합니다."
# 형태소 추출
pprint("morphs : " + str(kkma.morphs(message)))
# 형태소와 품사 태그 추출
pprint("nouns : " + str(kkma.nouns(message)))
# 명사만 추출
pprint("pos : " + str(kkma.pos(message)))
# 문장 분리
sentences = kkma.sentences(hello)
pprint("sentences : " + str(sentences))
for i in sentences:
print(i)
결과
"morphs : ['안녕', '하', '세요', '저', '는', '홍길동', '이', 'ㅂ니다', '.']"
"nouns : ['안녕', '저', '홍길동']"
("pos : [('안녕', 'NNG'), ('하', 'XSV'), ('세요', 'EFN'), ('저', 'NP'), ('는', 'JX'), "
"('홍길동', 'NNG'), ('이', 'VCP'), ('ㅂ니다', 'EFN'), ('.', 'SF')]")
("sentences : ['안녕하세요.', '저는 홍길동이며 고등학교 3 학년입니다.', '오늘 자연어 처리 공부를 시작한 학생이며 앞으로 "
"앱에 자연어 처리 기술을 응용하며 개발을 진행할 예정입니다.', '앞으로 많은 관심과 응원 부탁 드립니다.', '감사합니다.']")
안녕하세요.
저는 홍길동이며 고등학교 3 학년입니다.
오늘 자연어 처리 공부를 시작한 학생이며 앞으로 앱에 자연어 처리 기술을 응용하며 개발을 진행할 예정입니다.
앞으로 많은 관심과 응원 부탁 드립니다.
감사합니다.
Process finished with exit code 0
품사 | 설명 |
---|---|
NNG | 일반 명사 |
JKS | 주격 조사 |
JKM | 부사격 조사 |
VV | 동사 |
EFN | 평서형 종결 어미 |
SF | 마침표, 물음표, 느낌표 |
Kkma는 총 56개의 품사 태그를 지원하고 있다.