Part 1 · Natural Language Processing - Understanding NLP

컴퓨터가 언어를 이해하기 위한 첫걸음

사람에게 문장은 의미를 담고 있는 언어이지만, 컴퓨터에게는 단순한 문자들의 나열에 불과합니다. 컴퓨터가 사람의 언어를 처리하려면 먼저 문장을 계산 가능한 형태로 바꾸고, 그 안에서 필요한 정보를 찾아낼 수 있어야 합니다. 자연어 처리(NLP)는 이러한 문제를 해결하기 위해 만들어진 기술입니다. 이 장에서는 자연어 처리가 어떤 문제를 다루며, 현대 언어 모델의 출발점이 되는 이유를 이해합니다.

NLP Overview

자연어 처리란?

자연어 처리(Natural Language Processing, NLP)는 컴퓨터가 사람이 사용하는 언어를 이해하고, 분석하며, 필요한 정보를 추출하거나 새로운 문장을 생성할 수 있도록 하는 인공지능 기술입니다.

쉽게 말하면, 사람이 사용하는 언어를 컴퓨터가 이해하고 처리할 수 있는 형태로 변환하여 다양한 작업을 수행하도록 만드는 기술입니다.

전체 흐름 (Overall Flow)

대부분의 자연어 처리(NLP) 시스템은 다음과 같은 공통된 처리 과정을 거칩니다.

입력 텍스트 → 모델 → 결과

먼저 사람이 문장을 입력하면 AI 모델이 그 문장의 의미를 이해하고 분석합니다. 그런 다음 학습한 내용을 바탕으로 가장 적절한 결과를 출력합니다.

생성되는 결과는 수행하는 작업에 따라 달라집니다. 예를 들어 감성 분석에서는 긍정 또는 부정과 같은 분류 결과를 출력하고, 개체명 인식에서는 문장 속 단어마다 이름, 장소, 날짜와 같은 태그를 부여합니다. 또한 번역이나 문장 생성과 같은 작업에서는 새로운 문장을 만들어 출력합니다.

NLP Tasks Overview

자연어 처리의 주요 작업

자연어 처리는 목적에 따라 여러 가지 작업(Task)으로 나눌 수 있습니다. 각 작업은 입력된 문장을 분석하는 방식과 생성하는 결과가 서로 다릅니다.

아래 탭을 선택하여 각 작업의 입력과 출력이 어떻게 구성되는지 예제를 통해 살펴보겠습니다.

분류 (Classification)

입력 텍스트
(Input Text)
→
모델
(Model)
→
하나의 클래스
(Single Class)
감성 추출 (Sentiment Extraction) 의도 탐지 (Intent Detection) 언어 탐지 (Language Detection) 토픽 모델링 (Topic Modeling)
핵심 개념

분류는 하나의 답을 선택하는 작업입니다

모델은 문장이나 문서 전체를 읽은 뒤, 미리 정해 둔 후보 가운데 가장 알맞은 하나의 클래스를 선택합니다.

입력 “이 영화는 정말 재미있다.”
후보 긍정 · 부정 · 중립
출력 긍정
  • 입력 전체에 대해 결과가 하나만 생성됩니다.
  • 감성 분석, 스팸 판별, 의도 탐지, 언어 판별 등에 사용됩니다.
  • 모델은 각 후보의 가능성을 계산한 뒤 가장 높은 값을 선택합니다.
조금 더 자세히 알아보기

모델 내부에서는 클래스 이름을 그대로 처리하지 않고 숫자로 바꾸어 사용합니다. 예를 들어 긍정=0, 부정=1, 중립=2처럼 각 클래스에 번호를 부여할 수 있습니다.

실제 출력은 단순한 번호 하나가 아니라 각 클래스의 점수나 확률일 수 있으며, 그중 가장 높은 값을 최종 결과로 선택합니다.

핵심은 문장 하나를 입력하면 답도 하나 나온다는 점입니다.

다중 분류 (Multi-Classification)

입력 텍스트
(Input Text)
→
모델
(Model)
→
여러 클래스
(Multiple Classes)
품사 태깅 (Part-of-Speech Tagging) 개체명 인식 (Named Entity Recognition) 의존 구문 분석 (Dependency Parsing) 구성 구문 분석 (Constituency Parsing)
핵심 개념

다중 분류는 여러 위치에 답을 붙이는 작업입니다

문장 전체에 하나의 답을 붙이는 것이 아니라, 문장을 구성하는 각 단어 또는 각 위치마다 개별 결과를 예측합니다.

입력 “민수는 서울에서 일한다.”
분석 민수 / 는 / 서울 / 에서 / 일한다
출력 민수 → 사람, 서울 → 장소
  • 입력 문장 안에서 여러 개의 결과가 동시에 생성됩니다.
  • 품사 태깅과 개체명 인식처럼 단어별 분석이 필요한 작업에 사용됩니다.
  • 출력의 개수는 보통 입력 토큰의 개수와 관련됩니다.
조금 더 자세히 알아보기

일반 분류가 문장 전체의 성격을 판단한다면, 이 작업은 문장 내부의 각 요소가 어떤 역할을 하는지 구분합니다. 따라서 한 문장에서도 사람, 장소, 기관 등 여러 종류의 결과가 함께 나올 수 있습니다.

다만 여기에서 말하는 다중 분류는 하나의 문장에 여러 주제 라벨을 동시에 붙이는 다중 레이블 분류와는 다릅니다. 이 절에서는 단어 또는 위치별 분류를 설명합니다.

핵심은 문장 하나 안의 여러 위치에서 각각 답이 나온다는 점입니다.

생성 (Generation)

입력 텍스트
(Input Text)
→
모델
(Model)
→
출력 텍스트
(Output Text)
기계 번역 (Machine Translation) 질의응답 (Question Answering) 요약 (Summarization) 텍스트 생성 (Text Generation)
핵심 개념

생성은 새로운 텍스트를 만들어 내는 작업입니다

정해진 클래스 가운데 하나를 고르는 대신, 입력 내용을 바탕으로 새로운 단어를 차례대로 예측하여 문장을 만듭니다.

입력 “The weather is nice today.”
처리 다음에 올 토큰을 한 단계씩 예측
출력 “오늘 날씨가 좋습니다.”
  • 출력 길이가 미리 고정되어 있지 않을 수 있습니다.
  • 번역, 요약, 질의응답, 문장 완성, 챗봇 응답 등에 사용됩니다.
  • 앞에서 생성한 단어가 다음 단어의 예측에 다시 영향을 줍니다.
조금 더 자세히 알아보기

LLM은 보통 현재까지 주어진 토큰을 바탕으로 다음 토큰의 확률을 계산합니다. 하나를 선택해 문장 뒤에 붙이고, 같은 과정을 반복하면서 긴 문장을 완성합니다.

이 때문에 같은 입력이라도 선택 방식이나 설정에 따라 표현이 조금씩 달라질 수 있으며, 정답 후보 중 하나를 고르는 분류보다 출력의 자유도가 높습니다.

핵심은 답을 선택하는 것이 아니라 답이 될 텍스트를 직접 만든다는 점입니다.

작업 유형 체험 (Interactive Example)

현재 선택한 분류 작업에 맞는 예시입니다. 예시를 선택한 뒤 실행 버튼을 눌러 출력 형태를 확인해 보세요.

문장 전체를 분석하여 하나의 클래스를 선택합니다.

출력 (Output)
분류 예시를 선택하고 실행하세요.
Quick Comparison

자연어 처리 작업의 비교

작업 유형 입력 출력 대표 예시
분류 (Classification) 문장 또는 문서 하나의 클래스 긍정/부정, 언어 종류, 사용자 의도
다중 분류 (Multi-Classification) 문장 또는 토큰 시퀀스 여러 위치별 클래스 품사, 사람·장소·기관 태그
생성 (Generation) 문장, 질문, 문서 새로운 텍스트 번역, 요약, 질의응답
Summary

학습 내용 정리

이번 장에서는 자연어 처리(NLP)의 기본 개념과 대표적인 작업 유형을 살펴보았습니다. 자연어 처리 시스템은 입력된 문장을 분석한 후, 작업의 목적에 맞는 결과를 생성합니다.

  • 분류(Classification)는 문장 전체에 대해 하나의 결과를 예측하는 작업입니다.
  • 다중 분류(Multi-Classification)는 문장의 각 단어나 위치마다 결과를 예측하는 작업입니다.
  • 생성(Generation)은 새로운 단어나 문장을 만들어 내는 작업입니다.

앞으로 배우게 될 Transformer와 LLM은 이러한 다양한 자연어 처리 작업을 수행하는 핵심 기술이며, 특히 LLM은 하나의 모델로 분류, 분석, 번역, 요약, 질의응답, 문장 생성 등 여러 작업을 수행할 수 있습니다.