자연어 처리

기술노트

🗣️ 자연어 처리 (NLP)

자연어 처리(Natural Language Processing, NLP)는 인공지능의 한 분야로, 컴퓨터가 인간의 언어(자연어)를 이해하고, 해석하며, 생성할 수 있도록 하는 모든 기술을 의미합니다. 인간과 컴퓨터 사이의 원활한 소통을 목표로 합니다.


📚 NLP의 주요 기술 분야

  • 자연어 이해 (NLU, Natural Language Understanding) : 컴퓨터가 인간의 언어를 이해하는 데 중점을 둡니다.

> * `텍스트 분류` : 문서의 주제를 분류합니다. (예: 뉴스 기사 카테고리 분류) > * `감성 분석` : 텍스트에 담긴 감정(긍정/부정)을 분석합니다. (예: 영화 리뷰 분석) > * `개체명 인식 (NER)` : 텍스트에서 인명, 지명, 기관명 등 고유한 개체를 인식합니다. > * `의도 분석` : 사용자의 발화 의도를 파악합니다. (예: 챗봇)

  • 자연어 생성 (NLG, Natural Language Generation) : 컴퓨터가 인간의 언어로 텍스트를 생성하는 데 중점을 둡니다.

> * `기계 번역` : 한 언어를 다른 언어로 번역합니다. (예: 구글 번역) > * `텍스트 요약` : 긴 문서의 핵심 내용을 요약합니다. > * `문장 생성` : 주어진 조건에 맞는 새로운 문장을 생성합니다. (예: 챗봇의 답변 생성)


⚙️ NLP 처리 파이프라인

전통적인 NLP는 보통 다음과 같은 단계를 거칩니다.

1. **텍스트 전처리**: `토큰화(Tokenization)`, `정제(Cleaning)`, `정규화(Normalization)`, `불용어(Stopword) 제거` 등 2. **특징 추출**: 텍스트를 컴퓨터가 이해할 수 있는 숫자 벡터로 변환합니다. (`Bag-of-Words`, `TF-IDF`, `Word Embedding` 등) 3. **모델링**: 준비된 데이터를 사용하여 머신러닝 또는 딥러닝 모델을 학습시킵니다. 4. **평가 및 서비스**: 모델의 성능을 평가하고, 실제 서비스에 적용합니다.


💡 기술사 핵심 Point

  • 과거의 NLP는 통계적 기법에 기반했지만, 현재는 딥러닝 기술이 NLP의 핵심으로 자리 잡았습니다.
  • 단어를 벡터로 표현하는 워드 임베딩(Word Embedding) 기술(예: `Word2Vec`, `GloVe`)의 등장은 NLP 성능을 획기적으로 발전시켰습니다.
  • 순차적인 데이터 처리에 강점을 가진 RNNLSTM이 널리 사용되었으나, 현재는 병렬 처리가 가능하고 장기 의존성 문제를 해결한 트랜스포머(Transformer) 모델이 NLP 분야의 표준 아키텍처가 되었습니다.
  • 트랜스포머를 기반으로 한 BERT, GPT와 같은 거대 언어 모델(LLM)의 등장은, 사전 학습된 모델을 특정 작업에 맞게 미세 조정(Fine-tuning)하는 패러다임을 열었으며, NLP 기술을 한 단계 더 발전시켰습니다.