인공지능 대학원/논문스터디
자연어처리(NLP)
열쩡왔쩡
2025. 4. 14. 01:55
1주차 - 자연어처리(NLP) 개요
NLP란?
- 사람이 쓰는 말을 컴퓨터가 이해하고 처리하게 하는 기술
- 예: 챗봇, 번역기, 감정 분석기 등
자연어 vs 인공어
구분 자연어 (한국어, 영어 등) 인공어 (Python, C 등)
생성 | 자연적으로 | 사람이 만듦 |
규칙 | 불규칙 많음 | 규칙적 |
해석 | 모호함 | 명확함 |
처리 난이도 | 어려움 (NLP 도전) | 쉬움 |
NLP 과정
- 코퍼스(Corpus): 텍스트 데이터 모음
- 전처리: 의미 없는 부분 제거 (예: 특수기호)
- 임베딩: 숫자로 변환
- 모델 적용: 번역, 분류, 생성 등
NLP 모델 흐름
- NLU (이해): 문장 의미 파악 (예: 감정 분석, 질문 응답)
- NLG (생성): 자연스러운 문장 생성 (예: 챗봇 답변)
NLP 발전사
- 1950~: 규칙 기반 → 통계 기반 → 딥러닝 → LLM (GPT, BERT 등)
2주차 - 텍스트 전처리 기법
왜 전처리를 할까?
- 텍스트는 컴퓨터에게 낯선 비정형 데이터!
- 숫자처럼 컴퓨터가 읽기 쉬운 형태로 바꿔줘야 함
전처리 핵심 기법
- 토큰화(Tokenization): 문장을 단어/문장 등으로 나누기
- 불용어 제거: 의미 없는 단어 제거 (예: '그리고', '은', 'the' 등)
- 어간 추출(Stemming): 단어의 어근만 남김 (예: ‘eating’ → ‘eat’)
- 표제어 추출(Lemmatizing): 사전에 기반해 원형 복원
- 정규화: 표현 방식 통일 (예: 대소문자 통일, 특수문자 제거)
실습 도구 예시
- nltk, re, BeautifulSoup, konlpy (한국어 전처리에 강함)
코퍼스(Corpus) 활용 예시
- Gutenberg, Brown, Reuters 등 → 단어 빈도 분석, 문장 생성 등
3주차 - 형태소 분석과 품사 태깅
형태소란?
- 뜻을 가진 가장 작은 단위 (예: ‘먹는다’ → 먹 + 는 + 다)
형태소 분석
- 문장을 형태소 단위로 쪼개기 (예: 밥을 먹었다 → 밥/명사 + 을/조사 + 먹/동사 + 었/과거형 + 다/종결형)
품사 태깅(POS Tagging)
- 각 형태소에 품사를 붙임 (예: 나/대명사 + 는/조사 + 밥/명사...)
한국어의 특징
- 교착어 (조사, 어미 다양)
- 띄어쓰기/문장구조 모호 → 더 어려움
- 형태소 분석이 모델 성능에 중요한 전처리
정규 표현식 활용법
- 문자열에서 패턴 찾기/변형 가능 (예: 숫자 찾기, 특수문자 제거)
- re 모듈 사용 (re.sub(), re.findall() 등)
728x90