1. 자연어 처리(NLP, Natural Language Processing)
사람이 사용하는 언어(자연어)를 컴퓨터가 이해하고 처리할 수 있도록 만드는 기술
과거에는 사람이 언어 규칙을 하나씩 컴퓨터에 직접 알려주는 방식이었지만, 이후 딥러닝 기술이 발전하면서 현재의 LLM(Large Language Model)까지 발전하게 되었다.
발전 흐름
규칙 기반 NLP
↓
통계 기반 NLP
↓
딥러닝 NLP
↓
LLM (ChatGPT 등)
2. 텍스트 마이닝(Text Mining)
NLP로 정리된 텍스트 데이터에서 의미 있는 정보나 패턴을 추출하는 과정
목적
- 주요 키워드 파악
- 관심사 분석
- 주제 분석
- 감성 분석
- 문서 분류
3. 텍스트 분석 과정
텍스트 데이터 수집
↓
전처리
↓
토큰화(형태소 분석)
↓
데이터 분석
↓
시각화
① 텍스트 데이터 수집
- 뉴스
- SNS
- 리뷰
- 게시글 등
② 전처리
텍스트를 분석하기 쉽게 정리하는 과정
- 특수문자 제거
- 소문자 변환
- 숫자 제거
- 공백 정리
③ 토큰화(Tokenization)
문장을 의미 있는 단위(토큰)로 분리
예시:
"나는 학교에 간다"
→ [나, 는, 학교, 에, 가다]
④ 불용어 제거(Stopwords Removal)
분석에 큰 의미가 없는 단어 제거
예시:
은, 는, 이, 가, 을, 를 ...
⑤ 어간 추출(Stemming)
단어의 기본 형태로 변환
예시:
먹었다
먹는다
먹을까
→ 먹다
4. 형태소 분석(Morphological Analysis)
문장을 형태소 단위로 나누고 품사를 분석하는 과정
대표적인 한국어 형태소 분석기
- Okt
- Komoran
- Hannanum
- Kkma
- Mecab
예시:
"오늘 날씨가 좋다"
→ 오늘(Noun)
→ 날씨(Noun)
→ 좋다(Adjective)
5. 빈도수 분석(Frequency Analysis)
문서에서 특정 단어가 얼마나 자주 등장하는지 계산
활용
- 핵심 키워드 추출
- 주요 관심사 파악
- 문서 특징 분석
결과 예시
여행 : 120회
맛집 : 95회
카페 : 83회
시각화
- 워드클라우드(Word Cloud)
단어가 많이 등장할수록 크게 표시됨
6. 토픽 분석(Topic Modeling)
문서 속에 숨어 있는 주제를 찾아내는 기법
주요 과정
① CountVectorizer
텍스트를 숫자 벡터로 변환
예시:
"사과 바나나 사과"
→ [사과:2, 바나나:1]
② LDA 학습
(Latent Dirichlet Allocation)
문서 안의 잠재된 주제를 추출하는 대표적인 알고리즘
예시:
주제 1 : 여행, 호텔, 비행기
주제 2 : 음식, 맛집, 카페
주제 3 : 주식, 투자, 경제
③ pyLDAvis
LDA 결과를 시각화하는 도구
- 토픽 간 거리 확인
- 토픽별 주요 단어 확인
- 토픽 분포 확인
한눈에 정리
| NLP | 텍스트 전처리, 형태소 분석 | 컴퓨터가 이해할 수 있는 형태로 변환 |
| 텍스트 마이닝 | 빈도수 분석, 토픽 분석 | 의미 있는 정보 추출 |
| 빈도수 분석 | 단어 출현 횟수 계산 | 핵심 키워드 파악 |
| 토픽 분석 | 문서의 숨겨진 주제 추출 | 문서 그룹화 및 주제 파악 |
| 시각화 | 워드클라우드, pyLDAvis | 분석 결과 확인 |
print( 'NLP는 텍스트를 정리하는 과정이고, 텍스트 마이닝은 정리된 텍스트에서 의미를 찾아내는 과정이다.\n
텍스트 → NLP(전처리·형태소 분석) → 텍스트 마이닝(빈도수·토픽 분석) → 시각화 순서로 진행된다.' )