When will you grow up?

Natural Language Tokenizing (KoNLPy) 본문

02. Study/Deep Learning

Natural Language Tokenizing (KoNLPy)

미카이 2019. 8. 5. 22:35

Korean tokenizing library : 파이썬 한국어 형태소 분석 라이브러리인 KoNLPy 가많이 사용되며, 설치하면 한나눔, 꼬꼬마, 트위터 등의 형태소 분석기를 쉽게 사용 가능. 

 

 

Window 10, Anaconda 환경을 기준 python 3.7을 사용한다.

 

 

KoNLPy 설치

- 설치 전 java와 Jpype를 다운받고 설치해야한다.

 

1. Java 1.7 이상 설치

https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html  에 접속 후 운영체제에 맞는 jdk 다운 및 설치 (window 10 이라 맨 아래의 것으로 다운 받았다)

운영체제에 맞는 jdk 설치

2. 설치 후 JAVA_HOME Path 설정

내컴퓨터 오른쪽버튼 속성 -> 고급시스템 설정 -> 환경변수 -> 사용자 변수 새로 만들기 (변수 : JAVA_HOME / 값 : jdk 설치 경로) -> 확인

JAVA_HOME 환경변수 셋팅

3. JPype 다운로드

- https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype  에 접속 후 자신 버전에 맞는 jpype다운

저는 파이썬 3.7을 사용 중이여서, JPype1-0.7.0-cp37m-win_amd64.whl를 다운받았다.

python version 확인 (명령 프롬프트)  : python -v

 

 

4. pip 명령어를 이용하여 jpype 설치

> pip install JPype1-0.7.0-cp37m-win_amd64.whl

 

 

5. KoNLPy 설치

> pip install KoNLPy

 

 

6. import 되는 지 확인

1
2
3
4
5
from konlpy.tag import Kkma
kokoma = Kkma()
 
nouns = kokoma.nouns('형태소 분석입니다.')
print(nouns)
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

 

 

7. 다양한 형태소 분석기 사용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from konlpy.tag import Twitter
nlp=Twitter()
 
nouns = nlp.nouns('미카이 입니다. 형태소 분석을 합시다')
print(nouns) # ['미카', '형태소', '분석']
 
 
from konlpy.tag import Okt #Twitter
okt = Okt()
print(okt.morphs('단독입찰보다 복수입찰의 경우')) # 최소의 단위로 뽑아낸다. 조사 어미 등 다 나온다.
#['단독', '입찰', '보다', '복수', '입찰', '의', '경우']
print(okt.nouns('유일하게 항공기 체계 종합개발 경험을 갖고 있는 KAI 는')) # 단어만
#['항공기', '체계', '종합', '개발', '경험']
 
print(okt.phrases('날카로운 분석과 신뢰감 있는 진행으로')) # 어절을 뽑아낸다.
#['날카로운 분석', '날카로운 분석과 신뢰감', '날카로운 분석과 신뢰감 있는 진행', '분석', '신뢰', '진행']
 
print(okt.pos('이것도 되겠죸ㅋㅋ')) #품사가 같이 나와서 유용하게 원하는 부분만 뽑아서 사용가능 하다.
#[('이', 'Determiner'), ('것', 'Noun'), ('도', 'Josa'), ('되겠죸', 'Noun'), ('ㅋㅋ', 'KoreanParticle')]
 
print(okt.pos('이것도 되나욬ㅋㅋ', norm=True)) # norm 정규화 시킬 수 있다.
#[('이', 'Determiner'), ('것', 'Noun'), ('도', 'Josa'), ('되나요', 'Verb'), ('ㅋㅋ','KoreanParticle')]
 
print(okt.pos('이것도 되나욬ㅋㅋ', norm=True, stem=True)) # 동사를 기본형으로 바꿀수도 있다.
#[('이', 'Determiner'), ('것', 'Noun'), ('도', 'Josa'), ('되다', 'Verb'), ('ㅋㅋ','KoreanParticle')]
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

 

 

그외 도큐먼트 : https://konlpy-ko.readthedocs.io/ko/v0.4.3/

 

KoNLPy: 파이썬 한국어 NLP — KoNLPy 0.4.3 documentation

KoNLPy: 파이썬 한국어 NLP KoNLPy(“코엔엘파이”라고 읽습니다)는 한국어 정보처리를 위한 파이썬 패키지입니다. 설치법은 이 곳을 참고해주세요. NLP를 처음 시작하시는 분들은 시작하기 에서 가볍게 기본 지식을 습득할 수 있으며, KoNLPy의 사용법 가이드는 사용하기, 각 모듈의 상세사항은 API 문서에서 보실 수 있습니다. >>> from konlpy.tag import Kkma >>> from konlpy.utils import pprin

konlpy-ko.readthedocs.io

 

전체 소스 코드

- KoNLPy : 클릭

Comments