[Home] AI로 돌아가기

🔗 관련 문서: Wikipedia - 자연어 처리

NLP (Natural Language Processing) - 자연어 처리

자연어(Natural Language)사람이 일상적으로 사용하는 언어를 의미하며, 이를 컴퓨터가 이해하고 처리할 수 있도록 분석·생성하는 기술을 자연어 처리(NLP, Natural Language Processing)라고 한다.

(1) 자연어란?

자연어문법, 문맥, 뉘앙스 등을 포함하는 복잡한 의사소통 수단이다. 대표적인 자연어로는 한국어, 영어, 중국어, 프랑스어 등이 있다.

(2) 자연어 vs. 프로그래밍 언어

구분 자연어 프로그래밍 언어
사용 목적 인간 간의 의사소통 컴퓨터와의 상호작용
유형 문법적 유연성 있음(중의성, 생략, 은유 존재) 정확한 문법 규칙 필요(모호함 없음)
예제 한국어, 영어, 중국어 Python, Java, C++

(3) NLP(자연어 처리)란?

자연어 처리(NLP)는 사람의 언어(자연어)를 컴퓨터가 이해·분석하고, 나아가 사람처럼 언어를 생성할 수 있도록 하는 인공지능 기술이다.

자연어는 문맥에 따라 같은 단어도 다른 의미를 가지거나(중의성), 문법 규칙이 명확하지 않은 경우가 많아, 프로그래밍 언어처럼 있는 그대로 컴퓨터가 처리하기 어렵다. NLP는 이러한 자연어를 토큰화 → 정규화/불용어 제거 → 품사 태깅 → 구문 분석 등의 단계적인 처리를 거쳐, 컴퓨터가 다룰 수 있는 형태(숫자, 벡터 등)로 변환한다.

NLP
출처: https://blog.stackademic.com/

(4) NLP의 처리 과정

NLP는 보통 다음과 같은 파이프라인(단계)을 거쳐 자연어를 분석한다. 각 단계는 이전 단계의 결과를 입력으로 받아 점점 더 높은 수준의 언어적 정보를 추출해 나간다.

NLP 처리 흐름도
Building a Natural Language Processing Pipeline
출처: https://blog.chatbotslife.com/

4.1 토큰화(Tokenization)

텍스트 데이터를 분석하기 위해 문장을 단어, 형태소 등 더 작은 단위(토큰)로 나누는 과정이다.

예제:

문장: "나는 학교에 갑니다."

토큰화 결과: ["나", "는", "학교", "에", "가", "ᄇ니다"]

숫자로 변환: [1, 2, 3, 4, 5, 6]

토큰화된 결과는 이후 단계(품사 태깅, 임베딩 등)의 입력으로 사용되며, 컴퓨터는 문자 자체가 아니라 이렇게 숫자로 인덱싱된 토큰을 통해 문장을 처리한다.

4.2 불용어 제거 & 정규화

4.3 품사 태깅(POS Tagging)

품사 태깅(POS tagging, Part-Of-Speech tagging)은 문장을 구성하는 각 단어(토큰)에 명사, 동사, 형용사 등 품사의 범주 및 문법적 기능에 대한 태그를 붙이는 작업이다.

예제: "나는 / 학교에 / 갑니다" → 나는(대명사+조사), 학교에(명사+조사), 갑니다(동사)

품사 태깅 방법은 크게 두 가지로 나뉜다.

이때 말뭉치(corpus)란 컴퓨터가 읽고 처리할 수 있는 형태로 정리해 모아 놓은 대량의 텍스트 집합을 의미하며, 품사 태깅을 포함한 대부분의 NLP 모델 학습에 기초 자료로 사용된다.

4.4 구문 분석(Parsing) & 개체명 인식(NER)

(5) NLP의 활용

(6) 확인 문제

품사 태깅(POS tagging)에 대한 설명으로 옳지 않은 것은?

  1. 구문에 따라 주어진 문장에서 단어들의 역할을 파악하여 계층적인 트리 구조로 변환한다.
  2. 문장의 각 단어에 품사의 범주 및 문법적 기능에 대한 태그를 붙인다.
  3. 컴퓨터가 읽을 수 있는 형태로 텍스트를 모아놓은 말뭉치(corpus)를 사용한다.
  4. 규칙 기반 품사 태깅은 언어 정보를 이용하여 수작업으로 만든 규칙들을 사용한다.
정답 · 해설 보기

정답: ①

따라서 옳지 않은 것은 이다.