본문 바로가기

2019년 혁신성장 청년인재 집중양성(빅데이터)/자연어 처리

자연어처리, NLTK, KONLPY 개념 정리

구글, 자연어 처리

 

자연어와 자연어 처리

https://datascienceschool.net/view-notebook/118731eec74b4ad3bdd2f89bab077e1b/ 

1. 자연어란 우리가 일상 생활에서 사용하는 언어

2. 자연어처리란 컴퓨터가 자연어를 처리할 수 있도록 하는 일

3. 자연어처리가 되면, 컴퓨터는 이 처리된 정보를 바탕으로 음성 인식, 내용 요약, 번역, 감성 분석, 텍스트 분류 작업을 할 수 있다.

 

 

 

 

 

NLTK  

http://konlpy.org/ko/v0.4.3/start/ 

코엘엔파이 공식홈페이지

 

1. NLTK는 자연어 처리를 위한 파이썬 패키지다.

2. NLTK는 말뭉치, 토큰 생성, 형태소 분석, 품사 태깅을 제공한다.

 

3. 말뭉치는 자연어 분석 작업을 위해 만든 샘플 문서 집합이다텍스트를 모아 놓은 문서도 있지만, 품사, 형태소 등의 보조적 의미를 추가하고 쉬운 분석을 위해 구조적인 형태로 정리해 놓은 것을 포함한다.

4. 자연어 문서를 분석하기 위해서는 긴 문자열을 분석을 위한 작은 단위로 나누어야 한다. 이 문자열의 단위를 토큰이라고 부르면, 작업을 토큰 생성이라고 한다.

5. 형태소는 언어학에서 일정한 의미가 있는 가장 작은 말의 단위를 뜻한다. 보통 자연어처리에서는 토큰으로 형태소를 이용한다. 

 

6. 형태소 분석이란 단어로부터 어근,접두사, 접미사, 품사 등 다양한  언어적 속성을 파악하고 이를 이용하여 형태소를 찾아 내거나 처리하는 작업이다.

7. 어간추출(Stemming)은 변화된 단어의 접미사나 어미를 제거하여 같은 의미를 가지는 형태소의 기본형을 찾는 방법이다. 의미의 핵심을 추린다고 생각하자.


8. 원형복원 : 같은 의미를 가지는 여러 단어를 사전형으로 통일하는 작업이다. 품사를 지정하는 경우 좀 더 정확한 원형을 찾을 수 있다.

9. 품사는(POS, part-of-speech)는 낱말을 문법적인 기능이나 형태, 뜻에 다라 구분한 것이다. 품사의 구분은 언어마다 글고 학자마다 다르다.

10. 자연어 분석을 할 때, 같은 토큰이라도 품사가 다르면 다른 토큰으로 처리해야 하는 경우가 많은데, 이 대는 원래의 토큰과 품사를 붙여서 새로운 토큰 이름을 만들어 사용하면 철자가 같고 품사가 다른 단어를 구분할 수 있다. 

 

http://dmlab.snu.ac.kr/~lucypark/docs/2014-10-10-hclt.pdf 

 

구글 이미지, NLTK

 

1. NLTK는 본디 교육용으로 개발된 파이썬 패키지이다.

 

2. N Poster, snowball, Lancaster 등 다양한 스테밍 알고리즘과 그 외, chunking, NER, classfication 알고리즘을 내장하고 있으며, 50개가 넘는 다양한 언어의 말뭉치도 패키지 안에 포함되어 있다. 

3. 게다가 NLTK는 언어독립적으로 이용할 수 있는 메소드도 다수 제공하기 대문에 한국어 정보처리에도 유용하게 이용할 수 있다.

4. KONLPY 파이썬으로 한국어 정보처리를 할 수 있는 패키지인 koNLPY(Korean NLP in Python) 이다.KoNLPy는 파이썬의 범언어적 자연어처리 패키지 NLTK와 마찬가지로, 자연어처리를 갓 배우기 시작한 학생이나 자연어처리를 연구 목적으로 사용하려는 연구자에게 적합하다.

*다시 말하자면 외국에서 먼저 파이썬을 위한 자연어 처리 패키지 NLTK가 있었고
우리나라에는 파이썬을 활용한 자연어처리 패키지가 없었다. 그래서 기존의 다른 언어로 되어 있는 처리 패키지를 활용하여  파이썬에서 이용되게 할 수 있도록 KONLPY가 만들어졌다.

 

뭐가 뭔지 모르는 상태에서, 그냥 이용하면 할 수록 미궁에 빠지는 것 같다.