슬기로운 연구생활

Classification - [1] 자연어처리란? 본문

슬기로운 NLP 생활

Classification - [1] 자연어처리란?

vhrehfdl 2020. 8. 22. 15:03

자연어처리(Natural Language Processing)란?

Natural Language Processing(NLP)을 한국어로 직독하면 자연 언어 처리라는 뜻입니다.

- 자연어 : 일반 사회에서 자연히 발생하여 자연스럽게 쓰이고 있는 언어. 에스페란토와 같은 인공 언어에 대응하여 이르는 말. ( 출처 : 네이버 사전 )

- 기계어 : 컴퓨터가 직접 읽을 수 있는 2진 숫자(binary digit, 0과 1)로 이루어진 언어를 말하며, 이는 프로그래밍 언어의 기본이 된다. ( 출처 : 네이버 사전 )

 

사전적인 정의는 위와 같으며 직관적으로 말하면, 우리가 사용하는 한국어, 영어, 일본어 등 다양한 언어를 처리하는 행위를 NLP라 합니다. 

 

NLP Task 종류

NLP에는 다양한 Task가 존재합니다.

- QA Systems : 특정 문맥이 주어지고 질문에 대한 답변을 출력하는 Task.

- Summarization : Document를 Paragraph 혹은 Sentence로 축약하는 Task.

- NER : 개체명 인식. 문장에서 사람, 회사, 장소, 시간, 단위 등에 해당하는 단어를 인식하는 Task.   

- Classification : Input 값을 사전에 정의해 둔 Class로 분류하는 Task.

- Translation : Source 언어를 Target 언어로 번역하는 Task.

 

출처 : https://miro.com/app/board/o9J_ksyHXZA

위에서 언급한 Task 외에도 여러 가지 Task가 존재합니다.

이렇게 다양한 Task는 크게 두 가지 카테고리로 분류할 수 있습니다.

 

1. Classification

Classification은 Input 값을 특정 Output으로 분류하는 Task를 의미합니다.

영화 리뷰를 긍정/부정으로 분류하는 Task와 스팸메일을 구분하는 Task가 Classification에 포함됩니다.

 

2. Sequence Labelling(Generation)

Sequence Labelling(Generation)의 대표적인 예는 요약(Summarization)과 번역(Translation Task)입니다.

"나는 오늘 저녁 친구랑 밥을 먹을 거야"라는 한국어 문장을 입력하면 "I"라는 단어가 출력됩니다.

그리고 출력된 "I"라는 단어를 입력값으로 넣으면 "am"이라는 단어가 출력됩니다.

반복해서 "am"을 입력값으로 사용해 "going"이라는 단어를 출력합니다.

이렇게 출력된 Output 값을 연속적으로 Input 값으로 것을 Sequence Labelling(Generation)이라 합니다.

 

마무리

이번글에서는 자연어처리와 관련 Task에 대해 알아보았습니다.

자연어처리는 크게 Classification과 Generation으로 분류할 수 있으며, 이 두 가지로 대부분 문제를 처리할 수 있습니다.

이후, 다음글에서는 Classification의 세부 과정을 각각 살펴보고 구현 과정을 설명하려 합니다. 

Comments