Data scientist/텍스트마이닝

텍스트마이닝

맨사설 2021. 10. 19. 15:35
728x90

 

◎ 텍스트 마이닝

○ 텍스트 (데이터) + (데이터) 마이닝

 

○ 정형 데이터 : 일반적으로 사용하는 테이블 형태의 데이터 (e.g. 스프레드시트, 관계형 테이블)

  • 행(row)과 열(column)으로 구성
  • 행은 하나의 데이터를 의미
  • 열은 데이터에서 하나의 속성을 의미

 

 

○  비정형 데이터 : 일반적으로 사용하는 테이블 형태의 데이터가 아닌 데이터

  • 행(row)과 열(column)으로 구성되어 있지 않음
  • 데이터가 정해진 형태로 저장되지 않음 (e.g. 텍스트, 이미지, 음성, 동영상)

 

 

  데이터 마이닝이란?

  • 데이터에서 가치를 뽑아내는 기술
  • 데이터에 숨겨져 있는 패턴이나 통계적인 규칙을 찾는 기술
  • 통계적 기법, 머신 러닝 기법들을 사용

텍스트 마이닝 과정

 

 

 

 

키워드를 활용한 텍스트 마이닝

 

  텍스트 수집

  • 다운로드
  • 크롤링

 

  데이터 저장소(영어)

데이터 과학 competition으로 유명한 kaggle의 데이터 저장소

 

Find Open Datasets and Machine Learning Projects | Kaggle

Download Open Datasets on 1000s of Projects + Share Projects on One Platform. Explore Popular Topics Like Government, Sports, Medicine, Fintech, Food, More. Flexible Data Ingestion.

www.kaggle.com

UC Irvine 대학의 machine learning을 위한 데이터 저장소

 

UCI Machine Learning Repository

Welcome to the UC Irvine Machine Learning Repository! We currently maintain 588 data sets as a service to the machine learning community. You may view all data sets through our searchable interface. For a general overview of the Repository, please visit ou

archive.ics.uci.edu

 

Fast.ai에서 제공하는 딥러닝 학습용 대용량 데이터

 

fast.ai Datasets | Practical Deep Learning for Coders

In machine learning and deep learning we can’t do anything without data. So the people that create datasets for us to train our models are the (often under-appreciated) heros. Some of the most useful and important datasets are those that become important

course.fast.ai

 

 

 

  데이터 저장소(한국어)

LG CNS에서 공개한 한국어 질의응답 데이터

 

KorQuAD

What is KorQuAD 2.0? KorQuAD 2.0은 KorQuAD 1.0에서 질문답변 20,000+ 쌍을 포함하여 총 100,000+ 쌍으로 구성된 한국어 Machine Reading Comprehension 데이터셋 입니다. KorQuAD 1.0과는 다르게 1~2 문단이 아닌 Wikipedia artic

korquad.github.io

 

 

  텍스트 크롤링

  • 웹 페이지에 있는 텍스트를 긁어오는 것
  • HTML 소스에서 해당 텍스트 정보를 긁어오는 것
  • 텍스트, 이미지, 하이터 링크 등 모두 가능

 

 

   텍스트 전처리

  • 컴퓨터가 이해하지 못하는 텍스트의 특징을 알 수 있게 해주는 작업이 전처리

 

 

※ 텍스트 전처리 과정

  1. 토큰화
  2. 불용어 처리
  3. 대소문자 통일
  4. 어근 추출
  5. 텍스트 인코딩

 

 

● 토근화(Tokenization) : 텍스트를 정해진 단위로 나누는 것 (e.g. 단어, 형태소, 글자, 초/중/종성)

 

● 불용어 처리 : 쓸모없는 단어 지우기

 

● 대소문자 통일 : 대소문자 맞추기 

 

● 어근 추출 2가지 방법 : 단어 표현 통일하기 (e.g. played, playing, plays)

  • LEMMATIZATION : 통일된 표현을 존재하는 표현으로, 사전에 존재하는 단어만 대응 가능
  • STEMMING : 알고리즘을 통해서 기계적으로 변환, 신조어에 유동적으로 대응 가능

 

● 텍스트 인코딩 : 텍스트를 벡터로 표현하기 (e.g. Vector Space Model, Word Embedding)

 

 

 

   텍스트 가공

 

※ 벡터 공간 모델(Vector Space Model)

  • 문서를 벡터로 나타내는 방법
  • 벡터의 특정 차원은 하나의 단어를 의미
  • 대표적인 방법으로 Bag-of-Word(BOW)와 Term Frequency-Inverse Document Frequency(TF-IDF)
  • 정보 검색이나 문서 랭킹 시스템에서 주로 사용

 

 

※ Bag-of-Word(BOW) : 말뭉치

 

※ Term Frequency-Inverse Document Frequency(TF-IDF)

TF-IDF 계산 방법

 

TF-IDF : 단어의 중요도(키워드)를 나타낸다.

 

 

 

   텍스트 분석

  • 텍스트가 가지고 있는 숨어있는 의미를 파악하는 모든 기법
  • 언어 모델, 머신 러닝 기법, 통계적 분석 기법들이 쓰임
  • 정보 검색, 토픽 모델링, 감정 분석, 문서 분류 등이 있음

 

 

※ 토픽 모델링

  • 문서들이 가지고 있는 여러 가지 토픽을 찾아주는 기법
  • 토픽을 단어의 묶음으로 정의하고, 하나의 문서에 여러 개의 토픽이 있을 수 있다고 가정
  • 토픽 모델링의 결과로 모든 단어들이 각 토픽에 속할 확률이 계산되어 나옴
  • 대표적인 방법으로, Latent Dirichlet Allocation(LDA), Author Topic Model(ATM), Dynamic Topic Model(DTM) 등이 있음

 

 

※ 감정 분석

  • 텍스트에 포함된 저자의 의견을 찾아내는 기법
  • 가장 쉬운 예시로는 영화 리뷰 댓글의 '긍정' 또는 '부정'을 파악하여 평가하는 모델이 있다.
  • 확장된 개념으로 'Opinion Mining'이라고도 불림
  • 지도 학습의 개념으로 텍스트 분류 방법으로 사용되거나, 비지도 학습의 개념으로 문맥을 파악하여 의견을 찾아내는 방법이 있음

 

 

※ 텍스트 분류

  • 텍스트를 지정한 카테고리로 분류하는 기법
  • 텍스트 분석 방법 중 가장 많이 사용되는 기법이며, 대부분 지도 학습 방법을 사용
  • 현재는 딥러닝 모델을 많이 사용 (e.g. CNN, RNN, LSTM 등)

 

 

 

○   텍스트 시각화

  • 텍스트 분석 결과를 도표나 그래프로 시각화하는 과정
  • 기존 데이터 분석과의 차이점은 텍스트로 시각화가 가능하다는 점 (e.g. wordcloud, semantic network analysis)

 

 

※ Wordcloud

  • 텍스트에 있는 키워드들을 다양한 크기와 색깔로 표현해주는 기법
  • 중요도별로 색깔과 크기가 다름

wordcloud의 예

 

※ 의미 연결망 분석 (Semantic Network Analysis)

  • 그래프의 노드에 단어를, 노드 간 연결에 단어 사이의 관계를 정의하여 연결
  • 문서에서 등장하는 키워드 간의 관계를 분석하기 위해 사용
  • 노드에 단어가 아닌 문장, 문서도 가능하고 노드 간 연결을 단어들의 동시 등장 횟수나, 문서 벡터 사이의 거리로 정의하는 응용이 가능

의미 연결망 분석 예

 

728x90

'Data scientist > 텍스트마이닝' 카테고리의 다른 글

워드 임베딩  (0) 2021.10.19