01. 자연어란?

  • 한국어와 영어 등 우리가 평소에 쓰는 말 ( 음성, 텍스트 )를 통틀어 자연어라 칭한다.

02. 자연어 처리란?

  • 자연어( 사람이 말하거나 글로 쓴 것 )를 이해하고, 처리하는 기술 분야이며, 쉽게 말해 사람의 언어를 컴퓨터가 이해하도록 만들어서
    사용자가 필요한 내용을 수행 하게 만드는 것.
  • 대표적으로, [ 키워드 중심의 인터넷 서치 엔진, 검색, 기계번역, Chat GPT 같은 챗봇 형식의 AI, 특정 사이트에서 데이터를 수집하여 사용자에게 맞는 뉴스를 추천해 주고, 원하는 물품을 큐레이션 해 주는 기능 ] 등 의 다방면 활용이 가능하다.

03. 인공지능 비서로 보는 자연어 처리과정의 이해

 

1) 인간의 음성 및 텍스트를 인식한다.

2) 자연어 처리 기술을 통해 질문, 지시와 관련성이 높은 것을 검색하여 정보를 찾아낸다.

3) 대량으로 기록 된 대화 패턴을 토대로 수집 한 정보를 음성 합성을 통해 우리에게 전달한다.

 


 

04. 자연어 처리 요소 - 형태소 분석

  • 자연어 문장을 '형태소' 라는 의미를 가진 최소 단위로 분할하여 품사를 판별하는 작업이다.
  • 단순 띄어쓰기로 형태소를 판별하게 되면 오류가 발생 할 수 있는데, 형태소+품사 분석을 통해 형태소와 품사를 정확하게 구분하게 된다면 해당 오류를 최소화 할 수 있다.

[ 형태소 분리 오류 예시 ] 

 

 

[ 형태소 분석을 통한 품사 분리 예시 ]

음절
어절 자연어 처리는 재미있다              
형태소 자연어 처리 재미있다            
(형태소)품사 명사 명사 조사 형용사            

 

이렇게 분석을 통해 나온 키워드를 추출하여 키워드 별 분석 데이터 활용도 가능하고, 앞서 말했던 자연어 처리 과정에서 보다 손 쉽게 자연어를 이해하고

그에 맞는 데이터를 수집 할 수 있기에 해당 과정이 꼭 필요하다.

 

[ 참고사항 ]

- 한국어나 영어는 띄어쓰기가 있어서 문장의 구성 요소를 쉽게 구별 할 수 있는 반면, 중국어와 일본어는 띄어쓰기가 없기 때문에 문장의 구성 요소 자체를 분리하는 기술이 필요.

- 단, 한국어의 경우 띄어쓰기를 하면서도 조사가 붙어서 단어 단위로 바로 분해가 되지 않기에, 앞서 설명 한 것 처럼 띄어쓰기만으로 구분이 어려운 경우 품사 사전과 문법 사전을 기반으로 형태소 분석이 필요.


05. 형태소 분석 방법 ( python 활용, 한국어 형태소 분석 )

수 많은 형태소 분석라이브러리가 오픈 소스로 배포 되어 있으며, 이러한 라이브러리를 이용하면 직접 사전을 준비해 형태소 분석 알고리즘을 구현하지 않고 형태소 분석을 손 쉽게 가능하다.

 

[ Python ] 한국어 형태소 분석 라이브러리

📋 KoNLPy는 한나눔, 꼬꼬마, Komoran, MeCab, Okt 등의 오픈소스 형태소 분석기를 파이썬에서 쉽게 사용 할 수 있도록 인터페이스를 통일한 한국어 형태소 분석기이다.

 

 

 

01. 형태소 분석 라이브러리 다운

!pip install konlpy #형태소 분석 라이브러리 다운로드

 

02. 코드 작성

from konlpy.tag import Okt

text = "아버지 가방에 들어가신다" #분석하고자 하는 문장

# Okt 객체 생성
okt = Okt()
# 형태소 분석
malist = okt.pos(text, norm=True, stem=True)
print(malist)

 

[ 참고사항 ] 

위 코드는, 구글 코랩에서는 정상 작동하나 필자가 사용하는 주피터 노트북에서는 JVM (Java Virtual Machine) 이 없어서 구동 되지 않았다.

Konlpy는 내부적으로 JVM을 사용하여 자바 기반의 형태소 분석기를 실행하기에 따로 JVM이 시스템에 설치 되어 있는지 확인이 필요하다.