KoNLPy
패키지 및 JDK설치, 설정은 아래 링크를 참조해주시면 됩니다.
https://codevang.tistory.com/351
코엔엘파이를 통해서 사용할 수 있는 형태소 분석기로 Okt(Open Korea Text), 메캅(Mecab), 코모란(Komoran), 한나눔(Hannanum), 꼬꼬마(Kkma) 다섯가지가 있습니다.
한국어 NLP에서 형태소 분석기 사용은 단어의 토큰화라기보다는 형태소(morpheme) 단위로 형태소 토큰화(morpheme tokenization)를 수행하게 됨을 뜻합니다. 영어는 공백 기준으로 끊어주면 되지만 한글은 조사 등 여러 형태에 따라 나눠줘야 하기 때문입니다.
KoNLPy 사용하기
Kkma(꼬꼬마)를 비롯한 다섯가지 라이브러리들의 사용법은 동일합니다. import와 객체 생성만 해당 라이브러리에서 해주면 됩니다.
주로 사용되는 메소드는 아래와 같습니다.
1) nouns : 명사 추출
1) morphs : 형태소 추출
2) pos : 품사 태깅
잘 사용되는 세 가지로 테스트를 해보겠습니다.
1. 명사추출하기
from konlpy.tag import Okt
# 분석할 문자열
str = "코스피 반등…외국인·기관이 이끌고 8만전자가 당겼다"
# Okt 객체 생성
okt = Okt()
# 명사 추출
print(okt.nouns(str))
각 분석기별로 결과가 많이 다릅니다. 순차적으로 여러 개를 동시에 쓰거나 샘플 데이터 등의 테스트를 통해서 분석 데이터에 맞는 분석기를 사용해야합니다.
2. 형태소 추출하기
print()
from konlpy.tag import Okt
from konlpy.tag import Kkma
from konlpy.tag import Hannanum
# 분석할 문자열
str = "코스피 반등…외국인·기관이 이끌고 8만전자가 당겼다"
# 각 분석기 객체 생성
okt = Okt()
kkma = Kkma()
han = Hannanum()
# 명사 추출
print("Okt : ", okt.morphs(str))
print("Kkma : ", kkma.morphs(str))
print("Hannanum : ", han.morphs(str))
print()
3. 품사 태깅하기
위 형태소 분석에서 나온 단어의 품사를 태깅해줍니다.
print()
from konlpy.tag import Okt
from konlpy.tag import Kkma
from konlpy.tag import Hannanum
# 분석할 문자열
str = "코스피 반등…외국인·기관이 이끌고 8만전자가 당겼다"
# 각 분석기 객체 생성
okt = Okt()
kkma = Kkma()
han = Hannanum()
# 명사 추출
print("Okt : ", okt.pos(str))
print("Kkma : ", kkma.pos(str))
print("Hannanum : ", han.pos(str))
print()
다들 다른 기준을 가지고 있어 태깅된 품사 표시의 의미를 알고 싶다면 아래와 같이 "tagset"을 통해 찾아볼 수 있습니다.
print("Okt : ", okt.tagset)
KoNLPy의 기본 사용법은 위와 같고, 좀 더 파워풀한 사용법은 추후 미니 프로젝트 포스팅에서 이어나가도록 하겠습니다.
'파이썬 > 라이브러리(API)' 카테고리의 다른 글
싸이킷런 (sklearn) train_test_split 에러 발생 원인 (0) | 2024.04.13 |
---|---|
파이썬 한글 형태소 분석, 태깅 라이브러리 KoNLPy 설치하기 (1) | 2024.03.25 |
파이썬 BeautifulSoup select 사용해서 HTML 웹페이지 크롤링하기 (0) | 2024.03.22 |
파이썬 자바스크립트 json 웹페이지 크롤링하기 (0) | 2024.03.21 |
파이썬 뉴스 기사 크롤링 및 빈도 분석, 워드 클라우드 그리기 (0) | 2024.03.14 |
댓글