Python 데이터 분석

Python 데이터분석 기초 24 - # 한글 형태소 분석(지원 라이브러리 konlpy를 사용)

코딩탕탕 2022. 11. 3. 12:25

 

# 한글 형태소 분석(지원 라이브러리 konlpy를 사용)
# 5언 9품사로 한글 문서를 분리

from konlpy.tag import Kkma, Okt, Komoran

kkma = Kkma()
print(kkma.sentences('한글 데이터 형태소 분석을 위한 라이브러리 설치를 합니다. 행운을 빕니다.')) # 문장 단위
print(kkma.nouns('한글데이터형태소분석을위한라이브러리설치를합니다. 행운을 빕니다.')) # 명사만
# 한글을 붙여써도 라이브러리에서 알아서 정리해준다.
print(kkma.pos('한글데이터형태소분석을위한라이브러리설치를합니다. 행운을 빕니다.')) # 품사 태깅(품사 부착)
print(kkma.morphs('한글데이터형태소분석을위한라이브러리설치를합니다. 행운을 빕니다.')) # 모든 품사

print()
okt = Okt()
print(kkma.nouns('한글데이터형태소분석을위한라이브러리설치를합니다. 행운을 빕니다.')) # 명사만
# 한글을 붙여써도 라이브러리에서 알아서 정리해준다.
print(okt.pos('한글데이터형태소분석을위한라이브러리설치를합니다. 행운을 빕니다.')) # 품사 태깅(품사 부착)
print(okt.morphs('한글데이터형태소분석을위한라이브러리설치를합니다. 행운을 빕니다.')) # 모든 품사
print(okt.phrases('한글데이터형태소분석을위한라이브러리설치를합니다. 행운을 빕니다.')) # 모든 품사

print()
komo = Komoran()
print(komo.nouns('한글데이터형태소분석을위한라이브러리설치를합니다. 행운을 빕니다.')) # 명사만
# 한글을 붙여써도 라이브러리에서 알아서 정리해준다.
print(komo.pos('한글데이터형태소분석을위한라이브러리설치를합니다. 행운을 빕니다.')) # 품사 태깅(품사 부착)
print(komo.morphs('한글데이터형태소분석을위한라이브러리설치를합니다. 행운을 빕니다.')) # 모든 품사


<console>
['한글 데이터 형태소 분석을 위한 라이브러리 설치를 합니다.', '행운을 빕니다.']
['한글', '설치', '데이터', '형태소', '라이브러리', '형태소분석', '분석', '행운']
[('한글', 'NNG'), ('데이터', 'NNG'), ('형태소', 'NNG'), ('분석', 'NNG'), ('을', 'JKO'), ('위하', 'VV'), ('ㄴ', 'ETD'), ('라이브러리', 'NNG'), ('설치', 'NNG'), ('를', 'JKO'), ('하', 'VV'), ('ㅂ니다', 'EFN'), ('.', 'SF'), ('행운', 'NNG'), ('을', 'JKO'), ('빌', 'VV'), ('ㅂ니다', 'EFN'), ('.', 'SF')]
['한글', '데이터', '형태소', '분석', '을', '위하', 'ㄴ', '라이브러리', '설치', '를', '하', 'ㅂ니다', '.', '행운', '을', '빌', 'ㅂ니다', '.']

['한글', '설치', '데이터', '형태소', '라이브러리', '형태소분석', '분석', '행운']
[('한글', 'Noun'), ('데이터', 'Noun'), ('형태소', 'Noun'), ('분석', 'Noun'), ('을', 'Josa'), ('위', 'Noun'), ('한', 'Determiner'), ('라이브러리', 'Noun'), ('설치', 'Noun'), ('를', 'Josa'), ('합니다', 'Verb'), ('.', 'Punctuation'), ('행운', 'Noun'), ('을', 'Josa'), ('빕니다', 'Verb'), ('.', 'Punctuation')]
['한글', '데이터', '형태소', '분석', '을', '위', '한', '라이브러리', '설치', '를', '합니다', '.', '행운', '을', '빕니다', '.']
['한글데이터형태소분석', '위한라이브러리설치', '행운', '한글', '데이터', '형태소', '분석', '한라이브러리', '설치']

['한글', '데이터', '형태소', '분석', '라이브러리', '설치', '행운']
[('한글', 'NNG'), ('데이터', 'NNG'), ('형태소', 'NNP'), ('분석', 'NNP'), ('을', 'JKO'), ('위하', 'VV'), ('ㄴ', 'ETM'), ('라이브러리', 'NNP'), ('설치', 'NNP'), ('를', 'JKO'), ('하', 'VV'), ('ㅂ니다', 'EF'), ('.', 'SF'), ('행운', 'NNG'), ('을', 'JKO'), ('비', 'VV'), ('ㅂ니다', 'EF'), ('.', 'SF')]
['한글', '데이터', '형태소', '분석', '을', '위하', 'ㄴ', '라이브러리', '설치', '를', '하', 'ㅂ니다', '.', '행운', '을', '비', 'ㅂ니다', '.']

3가지 방법을 사용하였다. Kkma(), Okt(), Komoran()을 사용하였지만 여러개 더 있다.

위 3가지의 방법은 뭘 사용했냐에 따라서 결과가 살짝씩 다르다.

Okt()를 많이 사용한다.