JINWOOJUNG

[ NLP ] 자연어 처리를 위한 NLTK, KoNLPy 본문

NLP, LLM, Multi-modal

[ NLP ] 자연어 처리를 위한 NLTK, KoNLPy

Jinu_01 2025. 4. 13. 11:19
728x90
반응형

본 포스팅은 [딥 러닝을 이용한 자연어 처리 입문]을 기반으로 공부한 내용을 정리하는 포스팅입니다. 

 

https://wikidocs.net/book/2155


 

자연어 처리를 위한 텍스트 데이터를 전처리 하기 위해서는 몇몇 자연어 패키지가 요구된다. 이번 포스팅은 NLTK, KoNLPy 패키지를 설치 해 보자. 개발환경은 다음과 같다. 

  • 개발환경
    • OS : Ubuntu 20.04
    • GPU : NVIDIA GeForce RTX 4070

 

NLTK

NLTK(Natural Language Tookit)은 자연어 처리를 쉽게 다룰 수 있는 라이브러리이다. Python 기반 라이브러리이기에 Python만 설치되어 있으면 설치하여 바로 사용이 가능하다. 

pip3 install nltk

 

 

NLTK를 통해 데이터 전처리는 NLTK Tokenizer를 통해 진행된다. NLTK Tokenizer는 문장을 단어 또는 문장 등의 작은 단위(Token)으로 나누는 도구이다. 따라서 토크나이저를 활용하기 위해서는 몇몇 데이터를 받아야 하는데, word_tokenize, WordPunctTokenizer 등을 사용하기 위해서는 punkt Resource를 다운받아야 한다. 

import nltk
nltk.download('punkt')
nltk.download('punkt_tab')

 

 

잘 설치했으면 다음과 같이 Tokenization이 된 것을 확인할 수 있다.

from nltk.tokenize import word_tokenize

text = "This is a test sentence!"
tokens = word_tokenize(text)

print("Tokens:", tokens)

# Result
# Tokens: ['This', 'is', 'a', 'test', 'sentence', '!']

 

 

KoNLPy

코엔엘파이(KoNLPy)는 한국어 자연어 처리를 위한 형태소 분석기 라이브러리이다. 한국어는 영어 등 다른 언어와 달라 띄어쓰기만으로 단어를 분리하기 어렵고, 조사·어미·접사 등이 붙어 있어서 문법 단위로 분석하는 게 핵심이기 때문이다. 

 

KoNLPy를 사용하기 위해서는 Java를 설치해야 한다. 

sudo apt update
sudo apt install default-jdk
pip3 install konlpy
pip3 install JPype1

 

잘 설치했으면 다음과 같이 잘 처리됨을 확인할 수 있다.

from konlpy.tag import Okt

okt = Okt()
text = "자연어 처리는 재밌어요!"

print("형태소 분석:", okt.pos(text))
print("명사 추출:", okt.nouns(text))
print("형태소만 추출:", okt.morphs(text))

# Result
# 형태소 분석: [('자연어', 'Noun'), ('처리', 'Noun'), ('는', 'Josa'), ('재밌어요', 'Adjective'), ('!', 'Punctuation')]
# 명사 추출: ['자연어', '처리']
# 형태소만 추출: ['자연어', '처리', '는', '재밌어요', '!']
728x90
반응형