DL - Konlpy의 Okt(Open Korean Text)를 이용한 형태소 분석과 기능

2021. 10. 24. 23:05DL

Transformer를 이용하여 자연어 처리(NLP)를 하기전에 사용하는 형태소 분석기가 여러가지 있다.

가령 예를들면 제목에 나와있는 Okt가 있고 KKMa라던지 Mecap이라던지 등등의 여러가지 형태소분석을 할 수 있는 Class가 있지만 가장 사용하기 편하고 나름의? 정확성도 가지고있는 Okt를 사용해 보도록 합니다.

 

준비물 .

 

1. Visual Studio => 우선 Konlpy를 구동하기 위해서 설치가 필요합니다.

2. Java Jdk 설정 

 - 만약 준비가 되지 않으셨다면 ? (https://todaycodeplus.tistory.com/42?category=988489)이 글에서 내용을 보고 따라 설치 하시기 바랍니다.

3. jpype설치 - 내 파이썬 버전의 맞는 Jpype1을 설치하고 사용할 준비를 진행합니다.

- 만약 준비가 되지 않았다면 ? ()이글에서 보고 따라서 설치 바랍니다

4. Konlpy 설치 

 

이렇게 4단계의 설치가 완료 되면 준비가 끝났습니다.

 

우선 Konlpy의 Okt Class내부 메서드를 확인해 봅시다.

 

morphs(text )

  텍스트에서 형태소를 반환한다

 

nouns(text )

  텍스트에서 명사를 반환한다

 

phrases(text )

  텍스트에서 어절을 뽑아낸다

 

pos(text )

  텍스트에서 품사 정보를 부착하여 반환한다

 

이렇게 총 4가지의 메서드로 이루어져 있습니다. 우리는 이중 형태소를 분석하는 morphs를 사용하여 보도록 하겠습니다.

 

위의 준비물이 모두 갖춰져 있다면 코드는 매우매우 간단합니다.

# Konlpy에서 Okt를 불러옵니다.
from konlpy.tag import Okt

# Okt Class의 생성자를 이용하여 분석기를 생성 
okt = Okt()

# 생성된 객체를 이용하여 형태소를 분석합니다.
print(okt.morphs("오늘 밤 주인공은 나야 나 나야 나"))

 

이렇게 분석을 하게 되면 okt.morphs는 분석된 형태소들을 List에 담아 뽑게 되어있습니다.

이를 이용한 Deep Learning 학습은 다음시간에 알아보도록 하겠습니다! 이만!