[데이터마이닝] 텍스트 데이터
텍스트 데이터의 분류
- 크기 순으로 corpus(말뭉치), document, sentence, word, morpheme(형태소), phoneme(음소)로 분리된다.
- 음소는 주로 언어학 차원에서 다루며, 데이터마이닝에서는 형태소까지만 다룸
corpus?
- 문서의 상위 개념
- 수집한 문서들의 전체 집합, 또는 특정 언어의 정형화된 대용량 텍스트 표본들의 집합
token
- 텍스트 분석의 분석 단위
- 대개 단어를 의미하기도 하지만, 하나의 글자 단위, 형태소 단위일 수 있음
- 토큰은 통계적 기법을 적용해 빈도 분석을 수행
- 이를 통해 전체적 맥락 분석, 문서의 주제나 감정을 추정
텍스트 데이터의 분석법
- 사전기반 접근방법(Dictionary Based Approach)
- 단어사전 기준으로 빈도 분석을 통해 텍스트 데이터의 유사성이나 의미 분석
- 고전적 방법이지만 현재도 많이 사용
- 기계학습
- (지도학습): 로지스틱 회귀모형에 의한 감정분류분석
- (비지도학습): 군집분석, LDA
- 딥러닝
- 매우 다양
- 통번역을 위한 기계번역, 챗봇, 자연어 추론 등
텍스트 데이터의 수집
- 데이터의 신뢰성, 유효성을 고려하여 자료를 수집해야 한다.
- 연구 주제를 고려하여 데이터를 수집하고 검토한다.
문제의 정의를 통해 연구 주제 선택 | 교육 수준과 정치 참여도에는 관계가 있을까? |
연구문제 검증이 가능하도록 기술된 잠정적 응답으로 가설 설정 | 교육 수준이 높을수록 정치 참여가 높아진다. |
용어의 조직화 과정: 개념적 정의를 변수로 결정 | '교육', '정치참여'를 변수화 '교육': 학교교육량, 가정교육량, 사회교육량 |
변수에 대한 조직적 정의 | 학교교육량: 학교에서 공식적으로 공교육을 받은 햇수 |
- 데이터의 수집은 웹페이지 크롤링을 통해 수집한다.
- 수집 후 수집한 데이터와 연구주제가 부합하는지에 대해 필수적으로 검토해야 한다.
텍스트 데이터의 전처리
1. 데이터 정제
- 파이썬의 정규표현식 라이브러리인 re를 사용해 데이터 정제
- 그러나 한국어의 경우 교착어 특성 때문에 추가적으로 KonlPy라는 한국어 자연어처리 라이브러리 이용
- 맞춤법, 띄어쓰기 문제의 경우 Py-Haspell 라이브러리 사용
- 신조어, 반복되는 이모티콘의 경우 Soynlp 라이브러리 사용
2. 데이터 토큰화
- 말뭉치(corpus)를 텍스트 입력단위인 토큰(token)으로 나누는 작업
- 보통 의미있는 단위로 토큰 정의
- 영어의 경우 단어 단위 토큰화
- 한국어의 경우 형태소 단위 토큰화 선호
- 최근에는 문장 단위 토큰화 ↑
3. 데이터셋 분류
- train dataset, validation dataset, testdataset으로 분류
- 일반적으로 3:1:1로 분류
4. 텍스트 인코딩, 임베딩 기술 적용
- 시대의 흐름에 따라 점차 발전
- One Hot Encoding
- Word Embedding
- 단어를 벡터와 하여 입력
- Word2Vec, GloVe, FastText
- 문맥상 의미파악에는 한계가 있음
- ELMO, GPT, BERT, T5
- 문장 전체를 입력화하여 수치벡터화하고 근소 관계 측정 가능하도록 발전
텍스트분석의 사례
- 인터넷 상에 있는 정보를 요약하여 시각화
- 필요한 정보를 검색하여 변화의 트렌드를 정리
- 문서로부터 구조화된 정보를 추출하여 데이터베이스화
- 대용량의 텍스트 문서에서 대표적인 토픽을 추출하고 요약
- 대용량의 텍스트 문서의 분류 및 군집화
- 특정 마케팅 결과나 댓글에 대한 감정 분석 등
한국어 텍스트데이터의 분석
- 영어와 한국어는 구조가 다르기 때문에 영어권에서 사용하는 텍스트 마이닝 기법을 그대로 사용하기에는 제한이 있다.
- 자연어 처리에 대한 이해, 이를 디지털 데이터로 변환할 수 있도록 하는 수량화, 수치화의 과정이 필요
- 일반적으로 t-test, 분산분석, 일반 최소자승 회귀모형 등 이용해 수량화
영어권과 한국어의 데이터처리방식의 차이
- 토큰화 과정에서 토큰을 다르게 적용: 한국어의 경우 형태소 단위의 토큰화가 유리
- 영어와는 다르게 한국어는 대소문자 처리와 어근 동일화 과정 필요 없음
- 한국어는 띄어쓰기 수정소요가 많음
텍스트 빅데이터의 활용분야
- 빈도 기반 고전적 분석 방법
- 특정 단어들의 등장 빈도수를 기본으로 분석하는 기법들
- 워드 클라우딩
- 문서단어행렬(DTM)
- TF-IDF(Term Frequency-Inverse Document Frequency)
- 문서 주제를 요약 비교 가능한 토픽모형
- 대용량 텍스트데이터를 읽고 주제를 분류하거나 문서의 유사도 측정
- 텍스트 본문의 숨겨진 의미 구조를 발견하고 문서들을 분류
- LSA, LDA 모델을 자주 사용
- Gensim, BERTTopic 라이브러리 이용
- 이진 분류분석 활용한 감정분석
- 로지스틱 회귀를 이용한 긍정부정분류
- 딥러닝 기법 이용
- 다른 언어로 번역하기 위한 신경망 번역모델
- 챗봇, Q&A 언어모델
- BERT, GPT, T5
- 기타모델
Referecne
'AI Theory > NLP' 카테고리의 다른 글
GLUE Benchmark Dataset이란? (0) | 2023.09.14 |
---|---|
기계 번역의 역사 (0) | 2023.09.11 |
[GoingDeeper] 04. 단어 빈도, 텍스트 분포로 벡터화하기 (0) | 2023.08.18 |
[케창딥] ch11 텍스트를 위한 딥러닝 (1) | 2023.08.09 |
텍스트 데이터 전처리 | 1. 토큰화(tokenization) (0) | 2023.07.31 |