Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Day 60: 자연어 처리 소개 (Introduction to Natural Language Processing, NLP)

학습 목표

  • 자연어 처리(NLP)의 정의와 중요성 이해
  • NLP의 주요 응용 분야 파악
  • NLP의 주요 과제 및 어려움 인식
  • NLP의 기본 용어(코퍼스, 토큰, 형태소, 어휘, 문법 등) 학습

핵심 개념

1. 자연어 처리 (Natural Language Processing, NLP)

  • 인간이 사용하는 언어(자연어)를 컴퓨터가 이해하고, 해석하고, 생성할 수 있도록 하는 인공지능(AI) 및 언어학의 한 분야입니다.
  • 목표는 컴퓨터와 인간 사이의 자연스러운 의사소통을 가능하게 하고, 대량의 텍스트 데이터로부터 의미 있는 정보를 추출하는 것입니다.

2. NLP의 중요성

  • 정보 과잉 시대: 웹, 소셜 미디어, 문서 등 방대한 양의 텍스트 데이터가 생성되고 있으며, NLP는 이로부터 가치 있는 정보를 추출하고 활용하는 데 필수적입니다.
  • 인간-컴퓨터 상호작용 개선: 음성 비서, 챗봇 등과 같이 보다 자연스럽고 직관적인 방식으로 컴퓨터와 상호작용할 수 있게 합니다.
  • 다양한 산업 응용: 검색 엔진, 번역, 고객 서비스, 의료, 금융, 법률 등 다양한 분야에서 활용됩니다.

3. NLP의 주요 응용 분야

  • 기계 번역 (Machine Translation): 한 언어로 된 텍스트를 다른 언어로 자동 번역 (예: Google Translate, Papago).
  • 정보 검색 (Information Retrieval): 대규모 문서 집합에서 사용자가 원하는 정보를 포함하는 문서를 찾는 기술 (예: 검색 엔진).
  • 텍스트 분류 (Text Classification): 텍스트를 미리 정의된 카테고리로 분류 (예: 스팸 메일 필터링, 뉴스 기사 주제 분류, 감성 분석).
  • 감성 분석 (Sentiment Analysis): 텍스트에 나타난 주관적인 의견, 감정, 태도 등을 분석 (예: 영화 리뷰 긍/부정 판단).
  • 질의응답 시스템 (Question Answering, QA): 사용자의 질문에 대해 자연어로 답변하는 시스템 (예: 챗봇, AI 스피커).
  • 텍스트 요약 (Text Summarization): 긴 문서의 핵심 내용을 간결하게 요약.
  • 개체명 인식 (Named Entity Recognition, NER): 텍스트에서 인명, 지명, 기관명 등 고유한 의미를 갖는 개체명을 인식하고 분류.
  • 음성 인식 (Speech Recognition): 사람의 음성을 텍스트로 변환.
  • 텍스트 생성 (Text Generation): 특정 주제나 스타일에 맞춰 새로운 텍스트를 생성 (예: 기사 작성, 소설 창작).

4. NLP의 주요 과제 및 어려움

  • 모호성 (Ambiguity):
    • 어휘적 모호성: 하나의 단어가 여러 의미를 가짐 (예: “배” - 과일, 선박, 신체 부위).
    • 구문적 모호성: 문장의 구조가 여러 가지로 해석될 수 있음 (예: “나는 예쁜 그녀의 친구를 보았다” - ’예쁜’이 ’그녀’를 수식하는지 ’친구’를 수식하는지).
    • 의미적 모호성: 문맥에 따라 의미가 달라짐.
  • 동의어 및 다의어 처리: 의미가 같거나 유사한 단어들, 여러 의미를 가진 단어들을 처리하는 문제.
  • 신조어 및 비표준어: 끊임없이 생성되는 신조어나 오타, 비문법적인 표현 등을 처리하는 어려움.
  • 문맥 의존성: 단어나 문장의 의미가 주변 문맥에 크게 의존.
  • 세계 지식 및 상식의 부족: 컴퓨터는 인간처럼 세상에 대한 배경지식이나 상식을 가지고 있지 않음.
  • 언어별 특성: 언어마다 문법 구조, 어순, 표현 방식 등이 매우 다름.

5. NLP 기본 용어

  • 말뭉치 (Corpus, 복수형 Corpora): 특정 목적을 위해 수집된 대량의 텍스트 또는 음성 데이터 집합. NLP 모델 학습 및 평가에 사용됩니다.
  • 토큰 (Token): 분석을 위해 텍스트를 더 작은 단위로 나눈 것. 일반적으로 단어, 문장 부호 등이 토큰이 될 수 있습니다.
    • 토큰화 (Tokenization): 텍스트를 토큰 단위로 분리하는 과정.
  • 형태소 (Morpheme): 의미를 가지는 가장 작은 언어 단위. (예: ‘읽다’ -> ‘읽-’ (어간), ‘-다’ (어미))
    • 형태소 분석 (Morphological Analysis): 단어를 형태소 단위로 분해하고 각 형태소의 품사 정보를 부착하는 과정. 한국어 NLP에서 특히 중요합니다.
  • 어휘 (Vocabulary / Lexicon): 특정 언어 또는 말뭉치에서 사용되는 모든 단어(또는 토큰)의 집합.
  • 문법 (Grammar): 단어들이 결합하여 문장을 이루는 규칙.
  • 구문 분석 (Parsing / Syntactic Analysis): 문장의 구조를 분석하여 문법적인 관계를 파악하는 과정. (예: 주어, 동사, 목적어 등)
  • 의미 분석 (Semantic Analysis): 단어, 구, 문장의 의미를 이해하고 해석하는 과정.

추가 학습 자료

다음 학습 내용

  • Day 61: 텍스트 전처리 - 토큰화, 어간 추출, 표제어 추출 (Text Preprocessing - Tokenization, Stemming, Lemmatization)