Boxya 2025. 4. 10. 20:57

[KT] AIVLE SCHOOL 12일차

 

자연어 처리

  • 컴퓨터가 인간의 언어를 이해, 생성, 조작할 수 있도록 해주는 인공 지능(AI)의 한 분야
  • 텍스트(비정형 데이터)를 정형화된 데이터로 바꾸는 과정
  • 컴퓨터가 인식하는 데이터는 숫자
  • 주요 응용 분야
    • 기계 번역(Machine Translation, MT) e.g. Google 번역, Papago
    • 챗봇 및 음성 비서(Chatbots & Voice Assistants) e.g. ChatGPT, Siri, Google Assistant
    • 감성 분석(Sentiment Analysis) e.g. 고객 리뷰 분석, SNS 감정 분석
    • 정보 검색 및 추천 시스템(Information Retrieval & Recommendation)
      • e.g. 검색 엔진(Google), 유튜브/넷플릭스 추천 시스템
    • 문서 요약 및 자동 생성(Summarization & Text Generation) e.g. 뉴스 요약, AI 기반 기사 작성
  • 자연어 처리의 어려움(Challenges)
    • 모호성(Ambiguity)
      • 같은 단어라도 문맥에 따라 다른 의미를 가질 수 있음
      • e.g. "배가 아프다" (신체적 통증) vs "배를 타고 떠나다" (교통수단)
    • 언어의 복잡성(Complexty)
      • 문법 규칙이 많고 예외가 많음
      • e.g. 한국어의 조사(이/가, 을/를) 변화
    • 데이터 부족 및 편향(Data Scarcity & Bias)
      • 특정 언어(소수 언어)는 데이터가 부족하거나 편향된 데이터가 존재할 수 있음
    • 문맥 이해(Context Understanding)
      • 긴 문맥을 이해하고 유지하는 것이 어려움
      • e.g. "그는 어제 그녀를 만났다. 그녀는 매우 기뻤다." -> "그녀"가 누구인지 컴퓨터가 파악하기 어려움
    • 자연어 처리의 발전
      • 전통적인 NLP 기법
        • Rule-based Approach(규칙 기반) -> 문법 규칙을 이용한 처리
        • Statistical NLP(통계 기반 NLP) -> 확률 및 통계 모델(n-gram, Hidden Markov Model 등)
      • 현대 NLP 기법
        • 딥러닝 기반 NLP -> RNN, LSTM, Transformer 등의 신경망 모델 활용
        • 대규모 사전학습 모델(Pre-trained Language Models) -> BERT, GPT, T5 등의 모델 등장

용어 정의

  • 단위
    • 토큰(token) : 자연어를 처리하는 최소 단위, 문장에서 분리된 단어, 형태소, 혹은 서브 워드 단위
    • 문장(sentence) : 여러 개의 토큰으로 구성된 문장 단위
    • 문서(Document) : 여러 개의 문장으로 구성된 하나의 글
    • 말뭉치(Copus) : 여러 개의 문서가 모인 거대한 테스트 데이터셋
    • 어휘 집합(Vocab) : 코퍼스(말뭉치)에서 등장한 중복되지 않은 토큰들의 집합
  • 처리
    • 토크나이즈(Tokenize) : 텍스트를 작은 단위(토큰)로 분리하는 과정
      • "나는 학생입니다." -> ["나는", "학생", "입니다."]
    • 형태소 분석(Morphologica Analysis) : 단어를 형태소(의미를 가지는 최소 단위)로 나누고 품사를 분석하는 과정
      • "먹었다" -> ["먹다"(동사), "었다"(과거형 어미)]
    • 불용어 제거(Stopword Removal) : 분석에 불필요한 단어(예: 조사, 접속사, 빈도 높은 일반 단어)를 제거하는 과정
      • "나는 학교에 갔다." -> ["학교", "갔다"] ("나는", "에" 제거됨)
    • 임베딩(Embedding) : 단어를 숫자로 변환하여 벡터 형태로 표현하는 과정(단어 간 의미적 유사성을 반영)
      • king - man + woman ≈ queen

자연어 처리의 기본 과정

  1. 입력 텍스트 수집
    • 처리할 데이터를 수집하는 단계
    • e.g. 뉴스 기사 수집, 소셜 미디어 데이터 크롤링, 사용자 입력 수집
  2. 전처리(Preprocessing)
    • 입력 데이터를 모델이 이해할 수 있는 형태로 변환하는 과정
    • 핵심 작업
      • 텍스트 정제(특수 문자 제거, 소문자 변환)
      • 형태소 분석(의미 단위로 분해)
      • 토큰화(텍스트를 기계가 이해할 수 있는 단위로 분리)
  3. 특징 추출(Feature Extraction)
    • 전처리 된 텍스트를 벡터 형태로 변환해 모델에 입력할 수 있도록 만드는 과정
    • 사용되는 기법
      • BoW, TF-IDF
      • Word2Vec, GloVe, FastText
      • 모델에 포함된 embedding layer
  4. 모델링(Modeling)
    • 기계학습 또는 딥러닝 알고리즘을 활용해 데이터를 학습시키는 과정
    • e.g. RNN, LSTM, Transformer 기반 모델
  5. 출력 생성(Output Generation)
    • 학습된 모델이 새로운 데이터에 대해 예측하거나 필요한 결과를 생성하는 단계
    • e.g. 분류 결과, 번역된 텍스트, 요약 결과

모델링을 위한 전처리의 핵심 두 가지

  • 토큰화 : 적절한 단위로 쪼개라
  • 임베딩 : 각 토큰의 의미를 담아라