텍스트 마이닝

과목: 데이터 분석 (3과목, 37번 주제) ·

키워드: 인공신경망 · 데이터 전처리 · 판별분석 · 텍스트 마이닝

정의: 텍스트 마이닝 정의 텍스트 마이닝(Text Mining)은 비정형 텍스트 데이터에서 유용한 정보와 패턴을 추출하는 기술입니다.

텍스트 마이닝 정의 텍스트 마이닝(Text Mining)은 비정형 텍스트 데이터에서 유용한 정보와 패턴을 추출하는 기술입니다. 전처리 단계 1. 토크나이징(Tokenizing): 텍스트를 단어/문장 단위로 분리 2. 불용어 제거(Stopword Removal): '은/는/이/가' 등 의미 없는 단어 제거 3. 어간 추출(Stemming): 단어를 기본형으로 변환 4. 품사 태깅(POS Tagging): 명사·동사·형용사 등 품사 분류 5. 형태소 분석: 한국어 처리의 핵심, 단어를 형태소 단위로 분리 주요 기법 기법 설명 TF-IDF 단어 빈도(TF) × 역문서 빈도(IDF) — 문서 내 핵심 단어 추출 LDA Latent Dirichlet Allocation — 잠재 토픽 모델링 감성 분석 텍스트의 긍정/부정/중립 감성 분류 워드클라우드 단어 빈도에 비례한 크기로 시각화 TF-IDF 개념 - TF(Term Frequency): 특정 문서 내 단어 등장 횟수 - IDF(Inverse Document Frequency): 전체 문서 중 해당 단어가 등장하는 문서의 역수(log 적용) - TF-IDF: 해당 문서에는 자주 나오지만 다른 문서에는 드문 단어를 핵심 키워드로 판별 활용 사례 - SNS 여론 분석, 고객 리뷰 감성 분석, 뉴스 토픽 분류, 챗봇 인텐트 분류 워드 임베딩 (Word Embedding) 단어를 저차원 실수 벡터로 표현하여 의미적 유사성을 포착. 기법 등장 특징 Word2Vec (2013, Google) 신경망 기반 CBOW(주변→중심), Skip-gram(중심→주변) GloVe (2014, Stanford) 전역 통계 + 로컬 컨텍스트 동시발생 행렬 분해 FastText (2016, Facebook) 부분 단어(subword) 활용 미등록 단어(OOV) 강건, 형태론 풍부 언어 적합 BERT (2018, Google) Transformer 기반 양방향 문맥 의존 임베딩, 사전학습 모델 Word2Vec의 마법 - king - man + woman ≈ queen - Paris - France + Italy ≈ Rome - 단어 의미를 벡터 공간의 방향으로 표현 전통 기법 vs 워드임베딩 기법 차원 의미 포착 BoW (Bag of Words) 어휘 크기 (수만수십만) 단순 빈도 TF-IDF 어휘 크기 문서 내 중요도 Word2Vec/GloVe 100300 (저차원) 의미적 유사성 BERT (문맥 임베딩) 7681024 문맥 의존 의미 LDA vs BERT (텍스트 모델링) - LDA (Latent Dirichlet Allocation): 토픽 모델링, 문서별 토픽 분포 - BERT: 문맥 임베딩, 분류·NER·QA 다목적 시험 포인트: Word2Vec의 두 모델(CBOW, Skip-gram), 임베딩의 핵심은 "의미적 유사성을 벡터 거리로". BERT는 사전학습+미세조정 패러다임. 추가 핵심 개념 — 토큰화·임베딩·정규화 - 토큰화(Tokenization): 텍스트를 의미 단위(단어·서브워드·문자)로 분할. 영어는 공백 기준, 한국어는 형태소 분석 필수. - 형태소 분석(Morphological Analysis): 한국어는 교착어로 어미·조사가 발달해 단어를 의미의 최소 단위(형태소)로 분리하고 품사(POS)를 태깅. 도구: KoNLPy(Mecab·Kkma·Komoran·Hannanum·Okt). - 표제어 추출(Lemmatization): 'studies', 'studying' → 'study' 사전 형태로 환원. 정확하지만 느림. - 스테밍(Stemming): 어미 제거로 어간 추출. 규칙 기반(Porter Stemmer)으로 빠르나 결과가 사전 단어가 아닐 수 있음. - TF-IDF: TF(문서 내 빈도) × IDF(log(전체 문서 수 / 단어 등장 문서 수)). 흔한 단어(the·이다) 가중치↓, 특정 문서 핵심어 가중치↑. - Word2Vec / BERT / GPT: 단어·문장을 밀집 벡터로 임베딩하는 신경망. 의미·문맥 표현. BERT는 양방향 Transformer 인코더, GPT는 단방향 디코더. 시험 핵심: 토큰화·형태소·표제어·스테밍의 차이와 TF-IDF의 IDF 가중치 의미가 텍스트 마이닝 단원의 빈출입니다. 텍스트 전처리 - 코퍼스(Corpus): 분석 대상 문서 집합 - 토큰화(Tokenization): 텍스트를 단어·문장 단위로 분리 - 어간 추출(Stemming): 어미 제거 — 빠르나 부정확 (running → run) - 표제어 추출(Lemmatization): 사전형으로 변환 — 정확하나 느림 (better → good) - 불용어(Stopword): 분석에 도움 안 되는 빈출어 (그, 의, the, is) — 제거 대상 - N-gram: 연속된 N개 토큰을 하나의 단위로 처리 (bi-gram, tri-gram) 표현(Representation) - BoW(Bag of Words): 단어 빈도 벡터, 순서 무시 - TF-IDF: 단어 빈도(TF) × 역문서빈도(IDF) — 흔한 단어 가중치 ↓ - 워드 임베딩(Word Embedding): 단어를 밀집 벡터로 표현 - Word2Vec: CBOW(주변→중심), Skip-gram(중심→주변) - GloVe: 전역 단어 공기행렬 기반 토픽 모델링 - LDA(Latent Dirichlet Allocation): 문서가 여러 토픽의 혼합이고 토픽이 여러 단어의 혼합이라는 생성모형 — 비지도 토픽 추출 키워드 추출 - 키워드 추출(Keyword Extraction): 문서의 핵심 단어 자동 식별 - TF-IDF 기반: 점수 상위 단어 선택 - TextRank: PageRank를 단어 그래프에 적용 - RAKE(Rapid Automatic Keyword Extraction): 구문 단위 추출 - YAKE: 통계적 특징 기반 비지도 키워드 추출 텍스트 유사도 - 코사인 유사도(Cosine Similarity): 두 벡터의 사잇각 코사인 — [−1, 1] 범위, 1에 가까울수록 유사 - 식: cos(θ) = (A·B) / (‖A‖·‖B‖) - 문서 길이 영향이 작아 텍스트 분야에서 표준 - 자카드 유사도(Jaccard): A∩B / A∪B — 집합 기반 - 유클리드 거리·맨해튼 거리: 거리 기반(작을수록 유사) 형태소·품사 - 형태소 분석: 단어를 의미 최소 단위(형태소)로 분리 - POS Tagging(품사 태깅): 각 토큰의 품사를 부여 (명사·동사·형용사 등) - 정규표현식(Regex): 패턴 기반 텍스트 추출·치환 도구 행렬 표현 - DTM(Document-Term Matrix, 문서-단어 행렬): 행=문서, 열=단어, 값=빈도 또는 TF-IDF - TDM(Term-Document Matrix): DTM의 전치 — 행=단어, 열=문서 잠재의미분석 - LSA(Latent Semantic Analysis, 잠재의미분석): DTM에 SVD를 적용해 차원 축소 → 의미적으로 가까운 문서·단어 발견 - LSI(Latent Semantic Indexing): LSA의 정보검색 응용 감성 분석 (Sentiment / Opinion Mining) - 감성 사전(Sentiment Lexicon): 단어에 긍정/부정 점수가 부여된 사전 (예: SentiWordNet·KOSAC) - 오피니언 마이닝(Opinion Mining): 텍스트에서 의견·감정·태도 추출 - 극성(Polarity): 긍정·부정·중립 분류 - 속성 기반 감성분석(ABSA): 제품의 각 속성별 감성 (배터리=긍정, 디자인=부정) Bag-of-Words 모델 - Bag-of-Words(BoW): 단어의 순서와 문법을 무시하고 빈도만 사용하는 문서 표현 - 단순하지만 강력 — 분류·감성분석의 기본 표현 - TF(Term Frequency): 특정 단어가 한 문서에 등장한 횟수 - DF(Document Frequency): 특정 단어가 등장한 문서 수 - IDF(Inverse Document Frequency): log(N/DF) — 흔한 단어 페널티 정보 검색 (Information Retrieval) - 정보 검색(IR): 대량 문서에서 사용자 질의에 맞는 문서 찾기 — 검색엔진의 핵심 - 평가 지표: Precision@k, Recall@k, MAP(Mean Average Precision), nDCG 텍스트 분류 응용 - 스팸 필터링(Spam Filtering): 메일/메시지를 스팸/햄으로 자동 분류 — 나이브 베이즈가 고전적 - 문서 분류(Document Classification): 뉴스 카테고리·감성 등 라벨 부여 - 문서 군집(Document Clustering): 라벨 없이 유사 문서 묶기 기본 전처리 추가 - 토큰(Token): 분석 단위 단어/형태소 - 구문 분석(Parsing): 문장의 구문 트리 분석 - 어휘(Vocabulary): 코퍼스의 유일 단어 집합 추천 시스템 보강 - Matrix Factorization(행렬 분해): 사용자-아이템 행렬을 잠재 요인 행렬로 분해 — SVD·NMF - 잠재 요인 모형(Latent Factor Model): 사용자·아이템을 잠재 차원으로 표현 - Cold Start 문제: 신규 사용자·아이템에 데이터가 없어 추천 어려움 - Hybrid Recommender: 협업 필터링 + 콘텐츠 기반 결합 영어 NLP 라이브러리 - NLTK(Natural Language Toolkit): 파이썬 NLP의 고전 — 코퍼스·토큰화·POS·구문분석·감성 사전 - SpaCy: 빠르고 산업용 NLP — 토큰화·POS·NER·의존구문분석 - Gensim: 토픽 모델링·Word2Vec·Doc2Vec 특화 한국어 NLP 도구 - KoNLPy: 한국어 NLP의 표준 인터페이스 - 형태소 분석기(KoNLPy 내장): - Mecab: C++ 구현, 가장 빠름 - Okt(Twitter): 카카오 트위터 분석기 — SNS 적합 - Komoran: 정확도 균형 - Hannanum: KAIST 개발 - Kkma: 서울대 개발 Subword 토큰화 - BPE(Byte Pair Encoding): 빈출 문자쌍을 병합하며 어휘 구축 — 미등록 단어(OOV) 해결 - SentencePiece / WordPiece: BERT·GPT 계열 모델의 표준 토큰화 토픽 모델링 추가 - LDA(Latent Dirichlet Allocation): 가장 보편적 토픽 모델 — 베이지안 생성 모형 - BERTopic: BERT 임베딩 + UMAP + HDBSCAN을 결합한 현대적 토픽 모델 — 의미적으로 일관된 토픽 - NMF(Non-negative Matrix Factorization): DTM을 두 비음수 행렬로 분해 — 토픽 모델링에 활용 추천 시스템 추가 - 콘텐츠 기반 필터링(Content-Based Filtering): 아이템의 속성 기반 추천 — 사용자가 좋아한 아이템과 비슷한 아이템 - 협업 필터링(CF): 비슷한 사용자/아이템의 행동 패턴 기반 - Hybrid Recommender: CF + CBF 결합 Stemming 알고리즘 종류 - Porter Stemmer: 1980년 제안된 가장 보편적 영어 스테머 — 규칙 기반 - 예: running → run, flies → fli (부정확하지만 일관성 있음) - Lancaster Stemmer: 더 공격적, 짧은 어간 생성 — 의미 손실 가능성 ↑ - Snowball Stemmer / Porter2: Porter의 개선판, 다국어 지원 - 한국어 스테머: 형태소 분석(어간 + 어미 분리)이 사실상의 스테밍 역할 Lemmatization vs Stemming - Stemming: 단순 규칙으로 어간 추출 — 빠름, 결과가 사전 단어 아님 (better → bett) - Lemmatization: 사전 기반 표제어 추출 — 정확, 느림, 사전 단어 반환 (better → good) 📝 이 주제 관련 문제 학습 노트의 보강 개념을 직접 문제로 풀어보세요. - 어간 추출 — 어미 제거 — 빠르나 부정확 (running → run) - 표제어 추출 — 사전형으로 변환 — 정확하나 느림 (better → good) - 불용어 — 분석에 도움 안 되는 빈출어 (그, 의, the, is) — 제거 대상 - N-gram — 연속된 N개 토큰을 하나의 단위로 처리 (bi-gram, tri-gram) - Word2Vec — CBOW(주변→중심), Skip-gram(중심→주변) - TextRank — PageRank를 단어 그래프에 적용 - YAKE — 통계적 특징 기반 비지도 키워드 추출 - 자카드 유사도 — A∩B / A∪B — 집합 기반 - POS Tagging — 각 토큰의 품사를 부여 (명사·동사·형용사 등) - TDM — DTM의 전치 — 행=단어, 열=문서 - Matrix Factorization — 사용자-아이템 행렬을 잠재 요인 행렬로 분해 — SVD·NMF - BPE — 빈출 문자쌍을 병합하며 어휘 구축 — 미등록 단어(OOV) 해결 - … 보강 신규 문항 더 보기 페이지 하단 "이 주제 문제 풀기" 버튼으로 전체 문제를 풀 수 있습니다.

핵심 Q&A (7개)

텍스트 마이닝(Text Mining)의 정의는?
비정형 텍스트 데이터에서 유용한 정보·패턴·지식을 자동으로 추출하는 기술. 자연어 처리(NLP) 기반
TF-IDF의 의미는?
TF(단어빈도) × IDF(역문서빈도)
해당 문서에 자주 나오지만 다른 문서에는 드문 단어를 핵심 키워드로 식별하는 가중치 방법
LDA(Latent Dirichlet Allocation)란?
잠재 디리클레 할당. 문서 집합에서 숨겨진 토픽(주제)을 확률적으로 추출하는 토픽 모델링 기법
형태소 분석의 목적은?
텍스트를 의미의 최소 단위인 형태소로 분리하고 품사를 태깅하는 작업. 한국어 NLP의 필수 전처리 단계 (KoNLPy, Okt, Mecab 등 활용)
감성 분석(Sentiment Analysis) 적용 예시는?
제품 리뷰의 긍정/부정 분류, SNS 여론 모니터링, 고객 불만 자동 탐지, 주가 예측을 위한 뉴스 감성 분석
Word2Vec의 두 가지 학습 방식은?
CBOW (Continuous Bag of Words): 주변 단어로 중심 단어 예측
Skip-gram: 중심 단어로 주변 단어 예측
둘 다 단어를 저차원 벡터로 학습
워드임베딩의 핵심 장점은? (vs BoW/TF-IDF)
저차원(100~300)으로 압축
의미적 유사성 포착 (king-man+woman≈queen)
벡터 연산으로 단어 관계 표현 가능
전통 기법은 단순 빈도만 표현

이 주제의 관련 기출 퀴즈 풀기 »