Python(Colab) 형태소 분석 KoNLPy
2023. 6. 9. 16:10ㆍ파이썬
✔ 자연어란?
- 일상에서 사용하는 언어
- 컴퓨터는 자연어를 직접적으로 이해 할 수 없다.
- 컴퓨터가 자연어의 의미를 분석해 처리 할 수 있도록 하는 일 : 자연어 처리(Natural Language Processing)
✔ 토크나이징
- 문장을 의미가 있는 가장 단어로 나눈다
- 나눠진 단어들을 이용해 의미를 분석
- 가장 기본이 되는 단어들을 "토큰"이라고 부른다.
- 문장 형태의 데이터를 처리하기 위해 제일 처음 수행 해야하는 기본적 작업이다!
- 토크나이징을 어떻게 하느냐에 따라 성능 차이가 생길 수 있다.
✔ 형태소 분석
- 자연어의 문장을 형태소라는 최소 단위로 분할하고 품사를 판별하는 직업
- 영어 형태소 분석은 형태소마다 띄어쓰기를 해서 문장을 구성하는 것이 기본(분석이 상대적으로 쉽다)
- 아시아 계열의 언어 분석은 복잡하고 많은 노력이 필요
- 한국어 형태소 분석 라이브러리 : KoNLPy
✔ KoKLPy 라이브러리
- 기본적인 한국어 자연어 처리를 위한 파이썬 라이브러리
- 명사, 대명사, 수사, 동사, 형용사, 관형사, 부사, 감탄사, 부사 로 나눈다.
- Hannanum(한나눔) : 카이스트
- KKma(꼬꼬마): 서울대학교
- Komoran(코모란) : Shineware
- Okt(Open Korean Text): 오픈소스 한국어 분석기
Colab으로 형태소 분석 해보기
기초설정
! pip install KoNLPy
# kolaw는 대한민국 헌법 텍스트파일을 제공한다.
from konlpy.corpus import kolaw
예제 파일 law 변수에 담기
#kolaw에 파일 이름 확인하기
kolaw.fileids()
law = kolaw.open('constitution.txt').read()
law

KoKLPy 사용해보기
from konlpy.tag import *
hannanum = Hannanum()
kkma =Kkma()
komoran = Komoran()
okt = Okt()
테스트할 파일의 문장 범위 설정 후 확인
law[:50]

nouns(): 명사를 추출
한나눔ver
hannanum.nouns(law[:50])

꼬꼬마ver
kkma.nouns(law[:50])

코모란ver
komoran.nouns(law[:50])

오픈소스ver
okt.nouns(law[:50])

morphs(): 모든 품사를 추출
pos():품사 + 추출
print(hannanum.morphs(law[:50]))
print(hannanum.pos(law[:50]))
# 첫번째: morphs()
# 두번째: pos() (어떤 품사인지 같이 출력)

tagset: 품사별 내용 확인 가능
okt.tagset

728x90
'파이썬' 카테고리의 다른 글
Python(Colab) folium (0) | 2023.06.09 |
---|---|
Python(Colab) 워드클라우드(WordCloud) (0) | 2023.06.09 |
Python(Colab) 데이터프레임 시각화 Matplotlib 라이브러리 (0) | 2023.06.09 |
Python(Colab) 데이터프레임 select_dtypes,원 핫 인코딩 (0) | 2023.06.08 |
Python(Colab) 데이터프레임 등수매기기,타입변경,날짜,apply,map (1) | 2023.06.08 |