본문 바로가기
NLP

비정형 데이터 - 전처리

by 볼록티 2019. 12. 16.
728x90
반응형

본 장은 간단한 개념만 훑어 봅니다.

텍스트 분석을 하기 전에 분석하기 좋은 형태로 데이터를 정제시키는 작업을 전처리 작업 (preprocessing)이라고 합니다.

텍스트 전처리에는 크게 다음 4가지의 종류로 나뉩니다.

 

1. Tokenizing: 주어진 문서나 문장을 기본 단어 기준으로 나누는 작업이다. 일반적으로 영어는 띄어쓰기 경계로 나누기 좋은 반면에 한국어는 복합형태소로 기술되기 때문에 띄어쓰기 만으로는 완벽히 토크나이징을 하기 어렵다. 특히 전문용어, 신조어가 많이 포함된 문서에는 더욱 불리하다.

 WordNet이나 국립국어원 언어정보나눔터에서 "말뭉치(token, corpus)"를 다운받을 수 있다.

 

2. POS tagging: POS는 Part Of Speech의 약자로 주어진 단어열로부터 각 단어의 품사를 판단하는 것이다. 일반적으로 명사와 술어에 집중적이다. 한국어의 경우 불규칙 활용, 음운 축약, 탈락 등의 현상이나 형태소 결합으로 인한 형태 변화 그리고 교착어적 성질이 강해 처리가 복잡하다. 아래에는 한국어의 다양한 변형을 나타내는 표이다.

 파이썬 KoNLpy에서 지원하는 POS tagger에는 kkma, Twitter, mecab, hannanum, komoran 등이 있다.

 

 

 

 

 

3. Stop word (불용어) 제거: 중요한 의미를 가지지 않는 단어를 제거하여 텍스트 분석의 성능을 개선시킨다. 영어에 a, about, across, after 한국어에 ~습니다. ~로서, ~를 등이 있다.

 

4. Stemming(어근화): 동일한 뜻을 가진 형태가 다른 단어들을 같은 형태로 바꾸어 주는 작업이다. 예를 들면 먹다, 먹어서, 먹는 먹는다, 먹기, 먹을 을 "먹다" 로 통일 시켜주는 것이다. 이 스태밍을 위한 사전은 다음을 통해 구할 수 있다.

- In English: Porter2 stemmer (http://snowball.tartarus.org/algorithms/english/stemmer.html)

- In Korean, 꼬꼬마 형태소 분석기 (http://kkma.snu.ac.kr/documents/)

 

 

문장 구조 파싱(parsing tree) : 올바른 문장에 대해 그 문장의 구조를 나무 그림 형태로 나타낸 것.

 

 

파이썬을 통한 KoNLPy를 설치하기 위해선 1.JDK -> 2. JPype1 -> 3.KoNLPy 순으로 설치를 진행해주면 된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

서울과학기술대학교 이영훈 교수님의 강의와 여럿 블로그를 참조했음을 명시합니다.

728x90
반응형

'NLP' 카테고리의 다른 글

비정형 데이터 - LSA / pLSA  (0) 2019.12.16
비정형 데이터 - TF-IDF  (0) 2019.12.16
비정형 데이터 - 소개  (0) 2019.12.16
구글 비트코인 뉴스 크롤링  (4) 2019.11.29
구글 검색 뉴스 감성분석  (0) 2019.11.29

댓글