단어문서행렬과 형태소 분석

Python을 통한 단어문서행렬과 형태소 분석


수강중

16. konlpy

konlpy는 Java 기반의 형태소 분석기들을 Python에서 쓸 수 있게 하는 라이브러리들이다.

Java 설치

윈도의 경우 Java 설치가 필요하다. 맥에서는 대부분 설치가 되어 있으나 없는 경우 설치하면 된다.

Java 홈페이지에 접속하여 "무료 Java 다운로드"를 클릭 후, 64비트 Java를 다운로드 받는다. 만약 64비트 Java가 아닐 경우 모든 운영체제용 Java 다운로드에 접속하여 Windows 오프라인 (64비트)를 다운로드 받는다. 맥의 경우에는 모두 64비트이므로 그냥 다운로드 받으면 된다.

konlpy 설치

설치 방법은 기본적으로 공식 홈페이지를 참고하면 된다. 요점만 정리하면 다음과 같다.

윈도에서는 먼저 jpype1을 다음과 같이 설치한다. 맥, 리눅스, Colab 등에서는 생략한다.

!conda install -y -c conda-forge jpype1

다음으로 pipkonlpy를 설치한다.

!pip install konlpy

형태소 분석

konlpy에는 여러 가지 형태소 분석기가 내장되어 있으나 가장 많이 쓰이는 Komoran을 써보도록 하자.

from konlpy.tag import Komoran
tagger = Komoran()

문장을 다음과 같이 형태소 분석을 한다.

text = '오늘은 자연어 처리를 배우기 좋은 날이다. 자연어 처리는 재미있다.'
tagger.pos(text)
[('오늘', 'NNG'),
 ('은', 'JX'),
 ('자연어', 'NNP'),
 ('처리', 'NNG'),
 ('를', 'JKO'),
 ('배우', 'VV'),
 ('기', 'ETN'),
 ('좋은 날', 'NNP'),
 ('이', 'VCP'),
 ('다', 'EF'),
 ('.', 'SF'),
 ('자연어', 'NNP'),
 ('처리', 'NNG'),
 ('는', 'JX'),
 ('재미있', 'VA'),
 ('다', 'EF'),
 ('.', 'SF')]

다음과 같이 명사만 추출할 수도 있다.

tagger.nouns(text)
['오늘', '자연어', '처리', '좋은 날', '자연어', '처리']