구름 AI 자연어처리 과정 수업 내용에서는
Normalization와 Pre-Tokenization 과정을
Preprocessing이라고 정의 했다.
여기서 Normalization은 여백을 제거하고 대,소문자 통일하는 등의 표현을 깨끗하게 통일하는 과정,
Pre-Tokenization은 문장을 단어 단위로 나누는 과정을 의미한다.
조금 더 Nomalization을 자세하게 살펴보자면
Cleaning과 Nomalization으로 나눌 수 있고
이를 더 세부적으로 보면
1) Stemming, Lemmatization와 같은 어간 추출
2) Cased / Uncased 대,소문자 통일
3) Removing unncessary words
분석/학습에 있어 도움이 되지 않는 특수문자나 아주 짧은 길이의 단어 혹은 빈도 수가 매우 적은 단어들을 제거
4) Regular Expression 규칙적이고 반복적으로 등장하는 단어를 정규 표현식으로 패턴화하여 noise data를 제거
와 같이 다양하게 볼 수 있다.
이 중 Regular Expression과 같은 경우
파이썬의 re package 혹은 NLTK로 제거 가능하다.
Regilar Expression(정규표현식) 은 다음과 같이 사용할 수 있다.
re 패키지의 함수 종류와 용도는 다음과 같다.
이제 Pre-tokenization 과정을 살펴보자
Pre tokenization의 제일 기본적인 접근은
1) 특수문자 제거, 2) 띄어쓰기 단위로 나눔인데
이렇게 한다면 의미적인 부분을 놓칠 수 있다.
(ex. 교착어나 apostrophe)
따라서 형태소 단위로 나누는게 일반적이다.
이에 여러 패키지들이 있는데
먼저 제일 대표적인 규칙기반 한국어 전처리 패키지인 KoNLPy에서
Hannanum, Kkma, Komoran, Mecab, Okt 등의 클래스를 활용할 수 있다.
또한 다음과 같은 함수들을 사용 가능하다.
tokenizer.morphs(text) > 형태소 단위로
tokenizer.nouns(text) > 명사 추출
tokenizer.pos(text) > 품사 태깅
KoNLPy: Korean NLP in Python — KoNLPy 0.6.0 documentation
KoNLPy: Korean NLP in Python KoNLPy (pronounced “ko en el PIE”) is a Python package for natural language processing (NLP) of the Korean language. For installation directions, see here. For users new to NLP, go to Getting started. For step-by-step instr
konlpy.org
카카오에서 배포하는 데이터 기반, CNN모델을 활용하는 khaiii 또한 존재한다.
https://tech.kakao.com/2018/12/13/khaiii/
kakao의 오픈소스 Ep9 - Khaiii : 카카오의 딥러닝 기반 형태소 분석기
“카카오의 오픈소스를 소개합니다” 아홉 번째는 jamie.lim과 자연어 처리 파트 동료들이 함께 개발한 khaiii(Kakao Hangul Analyzer III)입니다. khaiii는 세종 코퍼스를 이용하여 CNN(Convolutional Neural Network,
tech.kakao.com
이 밖에도 띄어쓰기를 해주는 PyKoSpacing도 존재하고
https://github.com/haven-jeon/PyKoSpacing
GitHub - haven-jeon/PyKoSpacing: Automatic Korean word spacing with Python
Automatic Korean word spacing with Python . Contribute to haven-jeon/PyKoSpacing development by creating an account on GitHub.
github.com
네이버 한글 맞춤법 검사기를 바탕으로 맞춤법 교정 패키지인 Py-Hanspell 또한 존재한다.
https://github.com/ssut/py-hanspell
GitHub - ssut/py-hanspell: 파이썬 한글 맞춤법 검사 라이브러리. (네이버 맞춤법 검사기 사용)
파이썬 한글 맞춤법 검사 라이브러리. (네이버 맞춤법 검사기 사용). Contribute to ssut/py-hanspell development by creating an account on GitHub.
github.com
마지막으로 통계적 수치를 기반으로 띄어쓰기, 토크나이징 둘다 가능한 soynlp 라이브러리도 있다.
https://github.com/lovit/soynlp
GitHub - lovit/soynlp: 한국어 자연어처리를 위한 파이썬 라이브러리입니다. 단어 추출/ 토크나이저 /
한국어 자연어처리를 위한 파이썬 라이브러리입니다. 단어 추출/ 토크나이저 / 품사판별/ 전처리의 기능을 제공합니다. - GitHub - lovit/soynlp: 한국어 자연어처리를 위한 파이썬 라이브러리입니다.
github.com
다음 포스팅엔
다음 전처리 과정인 Tokenization과 Post-Processing에 대해 포스팅해보겠다.
꿑!
'자연어처리 > 개념 정리' 카테고리의 다른 글
Naive Bayes Classifier 간단 개념 정리 (0) | 2022.09.12 |
---|---|
Tokenization 전처리 간단 개념 정리 2 (0) | 2022.09.10 |
Attention 간단 개념 정리 (1) | 2022.09.08 |
Sequence to Sequence 간단 개념 정리 (2) | 2022.09.07 |
LSTM/GRU 개념 간단 정리 (0) | 2022.09.07 |
댓글