본문 바로가기

AI Theory/NLP

[데이터마이닝] 텍스트 데이터?

[데이터마이닝] 텍스트 데이터

 

텍스트 데이터의 분류

  • 크기 순으로 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

 

01.1 텍스트 데이터 분석 접근방법

### 1.1.1 텍스트 데이터의 분류 텍스트 데이터는 통상 여러가지 문서로 이루어진 데이터를 말하는데, 텍스트를 데이터 관점에서 바라보면 크기 순으로 문서(document),…

wikidocs.net