상세 컨텐츠

본문 제목

한국어 자연어(NLP) 처리를 위한 형태소 분석기

R & Python

by 부드러운 남자 2023. 7. 7. 15:29

본문

반응형

2023.07.07 - [Python] - 자연어 처리를 위한 패키지 설치하기

 

자연어 처리를 위한 패키지 설치하기

#자연어 처리 패키지 설치하기 pip install nltk #한국어 형태소 분석기 패키지 설치하기 pip install konlpy #NLTK 라이브러리 불러오기 import nltk #NLTK와 관련된 데이터를 다운로드하기 nltk.download()

semi-lab.tistory.com

 

자연어 처리를 위한 패키지를 설치했으니, 이제 테스트를 해봐야 했다.

 

한국어 자연어 처리(NLP) 처리에 관한 프로젝트로는 Okt, Hannanum, khaiii, Komoran, KoGPT-2, Mecab, KoBERT, Kiwi 등이 있다.

 

https://www.oss.kr/oss_guide/show/abc5db40-c9e1-4f52-8d3a-262c178318a0

 

[2월 월간 브리핑] 한국어 자연어 처리(NLP) 오픈소스 프로젝트 - 공개SW 포털

[2월 월간 브리핑] 한국어 자연어 처리(NLP) 오픈소스 프로젝트 - Open UP - 자연어 처리 기술은 AI와 함께 수요가 증가하고 있으며 가장 주목받고 있는 기술임 활성화...

www.oss.kr

https://team-platform.tistory.com/46

 

KoNLPy (코엔엘파이)

자연어 처리에서 각 언어마다 모두 특징이 다르기 때문에 동일한 방법을 사용하기는 어려울 것이다. 한글에도 NLTK나 Spacy 같은 도구를 사용할 수 있으면 좋겠지만 언어 특성상 영어를 위한 도구

team-platform.tistory.com

 

트위터의 문장을 분석하는 데에서 출발한 Okt의 경우, 적당한(?) 성능을 내는 것으로 널리 알려져 있다.

 

형태소 분석기마다 장단점이 다 있으나, 현 시점에서 이것들을 모두 비교하기는 쉽지 않다.

대신에 Okt 형태소 분석기의 성능이나 활용 방법 등을 간단히 확인해 보았다.

 

# 자연어 처리 패키지 불러오기
import nltk

 

# 형태소 분석기(Okt)를 적용하여, 품사 쪼개기
from konlpy.tag import Okt

# 형태소 분석기(Okt)를 객체로 생성하기
Okt = Okt()

# 분석할 문장(text) 정의하기
text = '아버지가 쌈질을 너무 많이 하셔서, 곤란하기 그지없다.'

 

# 문장을 형태소 단위로 구분하기

print(Okt.morphs(text))

 

 

okt.morphs() 텍스트를 형태소 단위로 구분하며, 옵션으로 '정규화(norm)'와 '토큰화(tokenization', '어근화(stem)', '어구 추출(phrase extraction)'을 지원한다.

 

https://github.com/open-korean-text/open-korean-text

 

GitHub - open-korean-text/open-korean-text: Open Korean Text Processor - An Open-source Korean Text Processor

Open Korean Text Processor - An Open-source Korean Text Processor - GitHub - open-korean-text/open-korean-text: Open Korean Text Processor - An Open-source Korean Text Processor

github.com

 

# 문장에서 명사만 구분하기

print(Okt.morphs(text))

 

 

# 문장에서 어절만 구분하기

print(Okt.nouns(text))

 

# 문장에서 품사를 구분하기

print(Okt.pos(text))

 

대충 어떻게 하는지 알 것 같으면서도, 어렵기 그지없다.

반응형

관련글 더보기