관리 메뉴

hye-_

비정형 데이터 탐색 본문

2. 빅데이터 탐색/데이터 탐색

비정형 데이터 탐색

hyehh 2026. 2. 27. 21:45
728x90
반응형
SMALL

정형 데이터는 미리 정해진 구조에 따라 관계형 데이터베이스 등 정해진 필드에 저장된 데이터인 반면에 비정형 데이터는 미리 정해진 구조가 없고, 정해진 필드에 저장되지 않는 데이터이다.

 

이 문장은 데이터를 저장하는 방식의 차이를 말하고 있다.

정형 데이터는
이미 열(column)과 행(row)이 정해진 표 구조 안에 저장된다.

비정형 데이터는
그런 표 구조 없이
파일이나 자유 형식으로 존재한다.

 

왜 “미리 정해진 구조”가 중요한가?

왜냐하면 구조가 정해져 있으면
데이터를 조회, 검색, 집계하기가 쉽기 때문이다.

왜냐하면 SQL과 같은 질의 언어는
명확한 스키마(schema)를 전제로 하기 때문이다.

스키마란 무엇이냐면
테이블 구조 정의이다.

 

왜 관계형 데이터베이스인가?

왜냐하면 정형 데이터는
관계(Relation) 모델을 따른다.

즉, 도메인들의 카르테시안 곱에서
부분집합이 하나의 테이블이다.

 

반면 비정형 데이터는 왜 구조가 없는가?

왜냐하면 텍스트, 이미지, 오디오 등은
고정된 열 구조를 갖지 않기 때문이다.

예를 들어 트위터 글은

  • 길이 제각각
  • 문장 구조 제각각
  • 이모지 포함 가능

이런 특징을 가진다.

 

비정형 데이터는 소셜미디어에서 발생하는 텍스트 데이터, 문서(워드,한글), 이미지, 오디오, 비디오 파일 등이 대표적인 비정형 데이터이며, 파일 형태로 수집되는 형태가 대부분이기 때문에 분석 가능한 데이터 형태로 파싱하는 어려움이 있고 난이도가 높은 반면, 수집 주체에 의해 데이터 분석이 선행되어 높은 잠재적 가치를 가지고 있다.

비정형 데이터는
주로 파일(file) 단위로 존재한다

왜 파싱이 어려운가?

왜냐하면 파일은
단순한 문자열 또는 바이너리(binary) 데이터이기 때문이다.

왜 바이너리냐면
이미지와 오디오는
픽셀값 또는 음성파형으로 저장되기 때문이다.

예:

즉, 분석하려면 구조화 과정이 필요하다.

 

파싱(parsing)이란?

왜 파싱이 필요하냐면
원시 데이터(raw data)를
의미 단위로 분해해야 하기 때문이다.

예:

문장 → 토큰(token) 분리

 

왜 잠재적 가치가 높은가?

왜냐하면 비정형 데이터는
사람의 행동, 감정, 의견이 직접적으로 담겨 있기 때문이다.

정형 데이터는 숫자 중심이지만
비정형 데이터는 맥락(context)을 포함한다.

비정형 데이터 탐색은 비정형 데이터를 체계적인 통계적 규칙이나 패턴을 탐색하고 이를 의미 있는 정보로 변환하기 위한 분석 과정이며

 

비정형 데이터를
그냥 읽는 것이 아니라
통계적 구조를 찾아내는 과정이라는 뜻이다.

 왜 통계적 규칙이 필요한가?

왜냐하면 인간이 모든 데이터를 직접 읽을 수 없기 때문이다.

따라서 패턴(pattern)을 찾아야 한다.

예:

단어 빈도:

왜 빈도를 계산하느냐면
중요 단어를 찾기 위해서다.

텍스트 마이닝, 웹 마이닝, 오피니언 마이닝, 리얼리티 마이닝, 소셜 네트워크분석, 감성분석 등을 이용할 수 있다.

 텍스트 마이닝

왜 텍스트를 벡터화하느냐면
컴퓨터는 숫자만 계산할 수 있기 때문이다.

TF-IDF 수식:

 

왜 로그를 쓰느냐면
희귀 단어 가중치를 강조하기 위해서다.

 

소셜 네트워크 분석

왜 그래프로 표현하느냐면
사람 간 관계를 표현하기 위해서다.

왜 중심성을 보느냐면
영향력 있는 노드를 찾기 위해서다.

 

감성 분석

왜 확률 모델을 쓰느냐면
문장이 긍정인지 부정인지 예측해야 하기 때문이다.

로지스틱 모델:




정형 vs 비정형 구조 비교

 본질

정형 데이터는
이미 구조화된 관계 모델이고

비정형 데이터는
구조를 추출해야 하는 원시 데이터이다.

즉,

이라는 변환 과정이 필요하다.


 

비정형 데이터의 유형은 크게 텍스트, 이미지, 음성과 영상 로그파일로 구분한다.

 

이 문장은 데이터(Data)를 형태(Structure) 기준으로 나눌 때,
그 중 비정형 데이터(Unstructured Data) 가 어떤 종류로 나뉘는지를 말하고 있다.

여기서 핵심은 "형태"다.
데이터를 숫자냐 문자냐가 아니라,
구조(structure)가 있느냐 없느냐로 나누는 관점이다.


왜 비정형이라고 부르는가?

왜 비정형이라고 부르는가?
왜냐하면 데이터 내부에 고정된 스키마(Schema, 구조 설계도) 가 존재하지 않기 때문이다.
왜냐하면 행(Row)과 열(Column)로 딱 맞춰서 저장할 수 없는 형태이기 때문이다.
왜냐하면 같은 유형의 데이터라도 길이, 구성, 형식이 매번 달라지기 때문이다.
왜냐하면 RDBMS(Relational Database Management System, 관계형 데이터베이스) 테이블에 그대로 넣기 어렵기 때문이다.

정형 데이터는 이렇게 생겼다:

id age score
1 23 90

하지만 트위터 글은 이렇게 생긴다:

"오늘 날씨 진짜 미쳤다 ㅋㅋㅋ 비 올 듯 ☔"

이걸 열(column)로 나누는 기준이 명확하지 않다.
그래서 비정형이다.


1) 텍스트

1) 텍스트 : 트위터, 페이스북 등 소셜 미디어에서의 실시간 대화, 온라인 모바일을 통한 SMS, 이메일 메시지, 블로그, 커뮤니티에서의 게시물, 전문정보, 뉴스기사 등.

이 문장은 텍스트(Text) 형태의 비정형 데이터를 예시로 나열하고 있다.
핵심은 "문장 기반 데이터"다.

텍스트 데이터는 문자열(String) 로 이루어진 데이터다.

 

왜 텍스트가 비정형인가?

왜 텍스트는 비정형인가?
왜냐하면 문장의 길이가 고정되어 있지 않기 때문이다.
왜냐하면 문장 안에 포함된 단어 수가 매번 다르기 때문이다.
왜냐하면 감정, 맥락, 은어, 줄임말 등 의미가 구조화되어 있지 않기 때문이다.
왜냐하면 단어 간 관계가 수치화되어 있지 않기 때문이다.

예를 들어:

"배고프다"
"오늘 점심 뭐 먹지 진짜 고민되네"

두 문장은 길이도 다르고 의미 구조도 다르다.
그래서 그대로는 분석 불가능하다.

 

그럼 어떻게 수치화하나? (수식)

텍스트를 수치화하는 대표적 방법은:

① Bag of Words

문장을 단어 빈도 벡터로 변환한다.

문장:

"오늘 날씨 좋다"

 

단어 집합:
{오늘, 날씨, 좋다}

 

벡터:
X = (1,1,1)

 

 

다른 문장:

"오늘 좋다 좋다"


X = (1,0,2)

이제 텍스트가 숫자 벡터로 변환된다.
비정형 → 정형 변환 과정이다.


2) 이미지

2)이미지:인터넷 매체에서 업로딩되는 모든 사진, 그림 등.

이미지는 픽셀(Pixel)들의 집합이다.
Pixel은 Picture + Element의 약자다.
이미지는 결국 숫자 배열이다.

왜 이미지가 비정형인가?

왜냐하면 이미지 해상도(Resolution)가 매번 다르기 때문이다.
왜냐하면 가로×세로 크기가 고정되어 있지 않기 때문이다.
왜냐하면 이미지 안의 객체 위치가 정해져 있지 않기 때문이다.
왜냐하면 사람, 자동차, 고양이가 어디에 있을지 알 수 없기 때문이다.

이미지의 수학적 표현

이미지는 3차원 텐서(Tensor)다.

 

이미지 구조 그림

이미지는 이렇게 픽셀 격자 구조로 되어 있다.
하지만 객체 의미는 구조화되어 있지 않다.
그래서 비정형이다.


3) 음성과 영상

3) 음성과 영상: 음악파일, 유튜브 등과 같은 동영상 전문 웹사이트가 제공하는 영상, UCC, 뉴스동영상, 애니메이션 등.

여기서 유튜브는
YouTube 이다.

왜 음성은 비정형인가?

왜냐하면 음성은 시간(Time)에 따라 변하는 신호(Signal)이기 때문이다.
왜냐하면 길이가 일정하지 않기 때문이다.
왜냐하면 같은 단어라도 사람마다 파형이 다르기 때문이다.
왜냐하면 배경 소음이 섞이기 때문이다.

 음성 수식 표현

음성은 시간 함수다.

샘플링(Sampling)을 통해 이산화(Discrete)한다.


 음성 파형 그림


4) 웹 로그파일

4)웹 로그파일: 웹 로그, 인터넷 검색 인덱싱, 페이지 뷰 인덱싱, 웹 상에서 모든 흔적들의 데이터 파일.

왜 웹 로그가 비정형인가?

왜냐하면 사용자 행동 패턴이 예측 불가능하기 때문이다.
왜냐하면 클릭 순서가 매번 다르기 때문이다.
왜냐하면 시간 간격이 일정하지 않기 때문이다.
왜냐하면 이벤트(Event)가 불규칙하게 발생하기 때문이다.

예시 로그:

2026-02-27 10:02:11 /login
2026-02-27 10:02:15 /product/123
2026-02-27 10:05:22 /cart

이것은 시계열(Event sequence) 데이터다.
구조화되어 있지 않다.


비정형 데이터를 정련 과정을 통해 정형 데이터로 만든 후, 분류, 군집화, 회귀분석, 요약, 이상감지분석 등의 데이터 마이닝을 통해 의미 있는 정보를 발굴한다.

비정형 데이터는 그대로는 분석이 불가능하다.
그래서 전처리(Preprocessing) 과정을 거쳐야 한다.

정련(Refinement)이란:

  • 토큰화(Tokenization)
  • 정규화(Normalization)
  • 벡터화(Vectorization)
  • 스케일링(Scaling)

과정을 의미한다.


왜 정형으로 바꿔야 하는가?

왜냐하면 머신러닝 모델은 수학 함수이기 때문이다.
왜냐하면 모델은 입력을 벡터(Vector)로 받기 때문이다.
왜냐하면 분류(Classification) 모델은 이렇게 생겼기 때문이다:

X는 숫자 행렬이어야 한다.
그래서 변환이 필수다.


 데이터 마이닝 수식 예시

 

 


웹 데이터 탐색 

웹 환경에서 생성되는 데이터는 웹사이트와 웹 페이지의 요약정보인 웹 구조 데이터, 웹 사이트를 구성하는 이미지, 텍스트, 영상, 음성 등의 웹 컨텐츠 데이터, 웹 사용자의 행위와 접속 로그, 세션정보 등의 웹 사용 데이터가 있다.

 

이 문장은 웹(Web)이라는 환경에서 생성되는 데이터를 세 가지 유형으로 구분하고 있다.

  1. 웹 구조 데이터
  2. 웹 컨텐츠 데이터
  3. 웹 사용 데이터

즉, 웹 데이터는 단순히 "텍스트"가 아니라
구조(Structure), 내용(Content), 행위(Behavior) 관점으로 나눈다는 뜻이다.


 왜 이렇게 나누는가?

왜 웹 데이터를 구조, 컨텐츠, 사용 데이터로 나누는가?
왜냐하면 데이터의 생성 주체와 목적이 서로 다르기 때문이다.
왜냐하면 분석 방법이 서로 완전히 다르기 때문이다.
왜냐하면 저장 방식과 처리 알고리즘이 달라지기 때문이다.
왜냐하면 검색 엔진과 추천 시스템에서 활용 방식이 다르기 때문이다.


웹 구조 데이터(Web Structure Data)

웹 구조 데이터란 무엇인가?
웹 페이지가 서로 어떻게 연결(Link)되어 있는지에 대한 정보다.

HTML 안에는 이런 태그가 있다:

<a href="https://example.com">링크</a>

이 링크 구조는 그래프(Graph) 로 표현할 수 있다.

 

수학적으로 표현하면:

이것은 방향 그래프(Directed Graph)다.


웹 구조 그래프 그림


왜 구조 데이터가 중요한가?

왜냐하면 검색엔진은 페이지의 중요도를 링크 개수로 판단하기 때문이다.
왜냐하면 PageRank 알고리즘은 링크 기반 확률 모델이기 때문이다.
왜냐하면 링크를 많이 받은 페이지는 권위가 높다고 가정하기 때문이다.
왜냐하면 연결 관계를 분석하면 영향력을 계산할 수 있기 때문이다.

PageRank 수식:

 

웹 사이트를 구성하는 이미지, 텍스트, 영상, 음성 등의 웹 컨텐츠 데이터

 

웹 페이지 내부에 실제로 담겨 있는 내용이다.
사람이 보는 데이터다.

텍스트 → 자연어 처리
이미지 → CNN
영상 → 시계열 + 이미지
음성 → 신호 처리

 

왜 컨텐츠 데이터는 분석이 어려운가?

왜냐하면 대부분 비정형 형태이기 때문이다.
왜냐하면 의미가 수학적으로 직접 표현되지 않기 때문이다.
왜냐하면 감정, 맥락, 객체 인식이 필요하기 때문이다.
왜냐하면 동일한 의미가 다른 표현으로 나타날 수 있기 때문이다.

 

웹 사용자의 행위와 접속 로그, 세션정보 등의 웹 사용 데이터

 

사용자가 웹에서 어떻게 행동했는지를 기록한 것이다.

예:

  • 클릭
  • 체류 시간
  • 스크롤 깊이
  • 구매 여부

 

왜 사용 데이터가 중요한가?

왜냐하면 사용자 행동은 관심과 의도를 반영하기 때문이다.
왜냐하면 추천 시스템은 과거 행동 기반 확률 모델이기 때문이다.
왜냐하면 이탈 예측(Churn Prediction)에 사용되기 때문이다.
왜냐하면 개인화 서비스의 핵심 데이터이기 때문이다.

웹 데이터의 대부분은 비정형 데이터의 형태를 띠고 있으며, 이러한 데이터를 수집하여 분석하는 과정은 데이터 탐색에서 반드시 필요한 작업이다.

왜 대부분 비정형인가?

왜냐하면 웹은 인간이 만든 콘텐츠 공간이기 때문이다.
왜냐하면 사람의 표현은 규칙적이지 않기 때문이다.
왜냐하면 이미지, 영상, 텍스트가 섞여 있기 때문이다.
왜냐하면 로그 데이터도 이벤트 기반이기 때문이다.


웹 클로러(Web Crawler)

웹 클로러(Web Crawle)는 조직적, 자동화된 방법으로 인터넷 환경(월드 와이드 웹)을 탐색하는 컴퓨터 프로그램이며

월드 와이드 웹은 World Wide Web 이다.

웹 클로러는 자동 프로그램이다.
사람이 수동으로 클릭하지 않는다.
알고리즘이 링크를 따라 이동한다.

왜 자동화가 필요한가?

왜냐하면 인터넷 페이지 수는 수십억 개 이상이기 때문이다.
왜냐하면 사람이 직접 방문하는 것은 불가능하기 때문이다.
왜냐하면 지속적으로 업데이트되기 때문이다.
왜냐하면 실시간 색인이 필요하기 때문이다.

크롤링 알고리즘 기본 구조

  1. Queue에 URL 저장
  2. 방문
  3. HTML 파싱
  4. 링크 추출
  5. Queue에 추가

의사코드:

while queue not empty:
    url = queue.pop()
    html = download(url)
    links = parse(html)
    queue.add(links)

 

 

구글, 네이버 등의 검색엔진 서비스에서는 인터넷에 존재하는 수 많은 사이트들을 크롤링하여 정보를 수집한다. 그 후 각 서비스에서는 정보를 분류하고 인덱싱(검색을 위한 색인 처리)하여, 사용자가 어떠한 검색을 했을 때 필요한 정보와 연관된 내용을 사용자에게 제공해주게 된다. 

 

인덱싱(Indexing)

인덱싱이란 색인 처리다.

왜 인덱싱을 하는가?
왜냐하면 전체 문서를 매번 검색하면 시간복잡도 O(N)이 되기 때문이다.
왜냐하면 검색 속도를 O(log N) 또는 O(1)에 가깝게 줄이기 위해서다.
왜냐하면 역색인(Inverted Index) 구조를 사용하기 때문이다.

역색인 구조:

단어 문서ID
AI 1,5,8
2,3

웹 크롤링 vs 웹 스크래핑

웹 크롤링: 자동화 봇인 웹 크롤러가 정해진 규칙에 따라 복수개의 웹 페이지 자체를 브라우징하는 기법.
웹 스크래핑: 웹 사이트 상의 원하는 부분에 위치한 정보를 추출하여 수집하는 기술.

차이의 본질

왜 크롤링과 스크래핑을 구분하는가?
왜냐하면 목적이 다르기 때문이다.
왜냐하면 크롤링은 "페이지 수집"이고, 스크래핑은 "데이터 추출"이기 때문이다.
왜냐하면 크롤링은 구조 탐색이고, 스크래핑은 내용 추출이기 때문이다.
왜냐하면 하나는 링크 중심이고, 하나는 DOM 구조 중심이기 때문이다.

정리

정해진 링크에 따라 연결된 페이지를 가지고 오는 것은 웹 크롤링이며,
웹 크롤러가 수집하는 페이지가 있을 때, 추출하기 원하는 위치인 데이터를 가져 오는 것이 웹 스크래핑이다.

 

이 문장은 수집 vs 추출의 차이를 말한다.

크롤링 = 페이지 집합 확보
스크래핑 = 특정 DOM 요소 선택

예:

<div class="price">10000원</div>

스크래핑은 CSS selector로:

soup.select(".price")

 


웹 마이닝 

웹 마이닝(Web Mining)은 웹에서 발생하거나 웹 사이트에 저장한 데이터를 대상으로 유용한 패턴을 찾아내는 기법이며, 데이터 마이닝 기법을 활용하여 웹 상의 문서들과 서비스들로부터 정보를 추출/발견하는 과정이다.

 

웹 마이닝(Web Mining)이란,
웹(Web, World Wide Web: 인터넷 상의 하이퍼텍스트 기반 정보 시스템) 환경에서 생성되거나 저장된 데이터를 분석하여 패턴(Pattern)을 찾는 기술이다.

여기서 패턴(Pattern)은 반복적으로 나타나는 규칙적 구조를 의미한다.

데이터 마이닝(Data Mining)은
Data(데이터, 정보의 표현) + Mining(채굴, 숨겨진 것을 파내는 것)이라는 뜻이다.

즉, 웹이라는 거대한 데이터 공간에서 숨겨진 규칙을 찾아내는 과정이다.

 

왜 웹 마이닝이 필요한가?

왜 웹 마이닝이 필요한가?
왜냐하면 웹에는 인간 행동과 관심사가 그대로 반영되어 있기 때문이다.
왜냐하면 웹 데이터는 방대(Volume)하고 빠르게 생성(Velocity)되기 때문이다.
왜냐하면 웹 데이터는 정형 구조 없이 존재하는 경우가 많기 때문이다.
왜냐하면 기업 의사결정은 사용자 행동 기반 예측을 필요로 하기 때문이다.

 

수학적 관점

웹 마이닝은 결국 함수(Function) 모델이다.

이는 조건부 확률(Conditional Probability) 모델이다.

웹 마이닝의 유형은 웹 컨텐츠 마이닝, 웹 구조 마이닝, 웹 사용 마이닝으로 구분된다.

 

웹 마이닝은 분석 대상의 성격에 따라 3가지로 나뉜다.

  1. 내용(Content) 중심
  2. 구조(Structure) 중심
  3. 사용(Usage) 중심

이것은 분석 관점(Analytical Perspective)의 차이다.

 

왜 이렇게 나누는가?

왜냐하면 데이터 생성 원천(Source)이 다르기 때문이다.
왜냐하면 분석 알고리즘이 서로 다르기 때문이다.
왜냐하면 적용 분야가 서로 다르기 때문이다.
왜냐하면 입력 데이터 형식(Input Data Type)이 완전히 다르기 때문이다.

1. 웹 컨텐츠 마이닝(Web Content Mining)

실제 웹 사이트를 구성하고 있는 페이지로부터 의미 있는 내용을 추출하는 마이닝 기법

웹 페이지 내부의 텍스트, 이미지, 영상에서 의미(Semantic Meaning)를 추출하는 것이다.

왜 필요한가?

왜냐하면 웹 페이지는 단순 문서가 아니라 정보 집합이기 때문이다.
왜냐하면 사용자 검색(Query)에 대해 정확한 정보를 제공해야 하기 때문이다.
왜냐하면 자동 요약, 감성 분석, 이미지 분류가 필요하기 때문이다.
왜냐하면 인간이 직접 읽고 판단하는 것은 비효율적이기 때문이다.

데이터 유형

텍스트(Text), 이미지(Image), 영상(Video), 음성(Audio)

수식 예시

텍스트 분류 모델:

이는 소프트맥스(Softmax) 함수다.
Softmax는 다중 클래스 확률 변환 함수다.


2. 웹 구조 마이닝(Web Structure Mining)

웹 사이트의 구조적 정보란, 웹 페이지 사이의 하이퍼링크를 통한 그래프 구조를 뜻함

 

웹 페이지는 링크(Hyperlink)로 연결된 그래프(Graph)다.

왜 구조 분석이 중요한가?

왜냐하면 링크는 추천(Recommendation)의 근거가 되기 때문이다.
왜냐하면 연결 수가 많으면 권위가 높다고 가정하기 때문이다.
왜냐하면 영향력 중심성(Centrality)을 계산할 수 있기 때문이다.
왜냐하면 스팸 페이지를 탐지할 수 있기 때문이다.

대표 알고리즘: PageRank

 


3. 웹 사용 마이닝(Web Usage Mining)

웹 사용자의 사용 패턴을 분석하는 마이닝 기법

 

사용자의 행동 데이터를 기반으로 패턴을 분석하는 것이다.

행동 데이터 예:

  • 클릭(Click)
  • 체류 시간(Duration)
  • 세션(Session, 일정 시간 내 활동 묶음)

왜 사용 마이닝이 중요한가?

왜냐하면 과거 행동은 미래 행동을 예측하는 강력한 변수이기 때문이다.
왜냐하면 추천 시스템은 행동 기반 확률 모델이기 때문이다.
왜냐하면 이탈률(Churn Rate)을 줄이기 위해 행동 예측이 필요하기 때문이다.
왜냐하면 개인화(Personalization)가 경쟁력의 핵심이기 때문이다.

수식 예시 (마코프 체인 Markov Chain)

이는 상태 전이 확률(State Transition Probability)이다.

예:

홈 → 상품 → 장바구니 → 결제

이 전이 확률을 학습한다.

데이터 유형 정리 연결

컨텐츠 마이닝 → 의미 분석
구조 마이닝 → 연결 관계 분석
사용 마이닝 → 행동 확률 분석


 

 

텍스트 데이터(Text Data)

텍스트 데이터는 비정형 데이터 중 가장 많은 비중을 차지하고 있다.

텍스트 데이터(Text Data)는 비정형 데이터(Unstructured Data) 중에서 가장 많이 존재하는 형태라는 뜻이다.

왜?

왜 텍스트 데이터가 가장 많은 비중을 차지하는가?
왜냐하면 인간의 의사소통 수단이 기본적으로 문자 기반이기 때문이다.
왜냐하면 웹(Web), SNS(Social Network Service), 이메일(E-mail), 뉴스 기사 등 거의 모든 디지털 기록이 텍스트로 저장되기 때문이다.
왜냐하면 음성이나 영상도 결국 설명과 메타 정보는 텍스트로 기록되기 때문이다.
왜냐하면 데이터 생성의 주체가 인간이라면 그 표현의 기본 단위는 언어이기 때문이다.

텍스트를 정형화하는 방법은 주요 단어 등의 추출 등 정제 과정을 거쳐 정형화된 데이터 구조로 변환하는 것이 가장 일반적인 방법이며, 메타 데이터로 직접 태그하여 사용하기도 한다.

텍스트를 그대로 쓰지 않고, 주요 단어(Key Word)를 추출하고 정제(Refinement) 과정을 거쳐 표 형태로 변환한다는 뜻이다.

왜?

왜 텍스트를 정형화해야 하는가?
왜냐하면 머신러닝(Machine Learning)은 수치 행렬(Matrix)을 입력으로 받기 때문이다.
왜냐하면 모델은 벡터(Vector, 숫자 배열) 연산으로 작동하기 때문이다.
왜냐하면 “좋다”, “나쁘다” 같은 감정 표현은 수학적으로 표현되어야 계산이 가능하기 때문이다.
왜냐하면 텍스트는 길이가 일정하지 않아 그대로는 비교가 불가능하기 때문이다.


 

수식 예시

문장:
"오늘 날씨 좋다"

 

단어 집합:
{오늘, 날씨, 좋다}

벡터 표현:

X = (1,1,1)

이것은 Bag-of-Words 모델이다.
Bag(가방) + Words(단어들), 단어 빈도 기반 표현 방식이다.


 

이 과정에서 인간의 언어로 이루어진 비정형 텍스트 데이터들을 자연어 처리(NLP) 방식을 이용하여 대규모 문서에서 정보 추출, 연계성 파악, 분류 및 군집화, 요약 등을 통해 데이터에 숨겨진 의미를 발견하는 기법을 적용하는데, 이를 텍스트 마이닝이라고 한다.

NLP = Natural Language Processing
Natural(자연의) + Language(언어) + Processing(처리)

텍스트 마이닝(Text Mining) = 텍스트 + 마이닝(채굴)

왜 NLP가 필요한가?

왜 NLP를 사용하는가?
왜냐하면 인간 언어는 문맥(Context)과 의미(Semantics)를 포함하기 때문이다.
왜냐하면 단어 하나만 봐서는 의미를 정확히 판단할 수 없기 때문이다.
왜냐하면 “은행”이라는 단어는 금융기관일 수도 있고 강가일 수도 있기 때문이다.
왜냐하면 의미를 이해하려면 통계적·확률적 모델이 필요하기 때문이다.

수식 예시 (확률 모델)

P(Y|X)

Y = 감정 (긍정/부정)
X = 텍스트 벡터

이는 조건부 확률(Conditional Probability) 모델이다.

 

텍스트 마이닝은 일반적으로 입력 텍스트를 정형화한 다음, 정형화 데이터 내에서 패턴을 추출하고 난 후, 출력을 평가하고 번역하는 과정을 포함하고 있다.

입력(Input) → 변환(Transformation) → 분석(Analysis) → 평가(Evaluation) → 해석(Interpretation)

왜 이런 절차를 거치는가?

왜 바로 분석하지 않고 단계를 거치는가?
왜냐하면 원본 텍스트는 노이즈(Noise, 불필요한 정보)가 많기 때문이다.
왜냐하면 정형화하지 않으면 알고리즘이 작동하지 않기 때문이다.
왜냐하면 추출된 패턴이 실제 의미 있는지 검증이 필요하기 때문이다.
왜냐하면 통계적 결과는 인간이 해석해야 가치가 생기기 때문이다.

텍스트 마이닝 절차

1) 텍스트 수집(정보 검색)

사용자가 원하는 키워드를 기반으로 원하는 정보가 포함된 텍스트 데이터가 들어있는 문서를 탐색하느 과정

왜 수집이 먼저인가?

왜냐하면 분석은 데이터가 있어야 가능하기 때문이다.
왜냐하면 잘못된 데이터를 수집하면 분석 결과도 왜곡되기 때문이다.
왜냐하면 목적에 맞는 데이터만 모아야 정확도가 올라가기 때문이다.

기법 설명

크롤링(Crawling) = 웹 페이지 자동 수집
말뭉치(Corpus) = 분석용 대규모 텍스트 집합
Open API = Application Programming Interface, 외부 시스템과 데이터 교환 인터페이스
로그수집기 = 서버 기록 자동 저장 시스템


2) 텍스트 전처리

토큰화, 불용어 처리, 정제화 정규화, 텍스트 인코딩 등.

토큰화(Tokenization) = 문장을 단어 단위로 분리
불용어(Stopword) = 의미 없는 단어 제거
정규화(Normalization) = 형태 통일
인코딩(Encoding) = 문자를 숫자로 변환

왜 전처리가 중요한가?

왜냐하면 노이즈가 많으면 모델 정확도가 급격히 떨어지기 때문이다.
왜냐하면 같은 의미의 단어가 다르게 표현되면 통계가 왜곡되기 때문이다.
왜냐하면 분석 속도와 효율이 전처리 품질에 따라 달라지기 때문이다.


3) 텍스트 분석

데이터 마이닝, 머신러닝(기계학습) 등을 반복적으로 수행함으로써 의미 있는 결과를 얻어 내는 과정

 

머신러닝 = Machine Learning, 기계가 데이터로부터 패턴 학습

토픽모델링(Topic Modeling) 대표 알고리즘: LDA (Latent Dirichlet Allocation)


이는 문서가 어떤 주제를 포함하는지 확률적으로 계산한다.


4) 텍스트 시각화

워드클라우드, 소셜네트워크 분석(SNA)

 

SNA = Social Network Analysis
네트워크 구조를 분석하는 기법

왜 시각화가 필요한가?

왜냐하면 숫자 결과는 직관적으로 이해하기 어렵기 때문이다.
왜냐하면 인간은 시각 정보 처리에 강하기 때문이다.
왜냐하면 통찰력(Insight)은 시각적 패턴에서 잘 드러나기 때문이다.

 


윤리 문제

다만 텍스트 데이터를 수집 및 분석하는 과정에서 명시되지 않았거나 공개되지 않은 다른 목적으로 데이터가 사용되어서는 안 된다.

왜?

왜냐하면 개인 데이터는 개인의 사적 영역에 해당하기 때문이다.
왜냐하면 데이터는 개인의 행동·관심사·정체성을 드러내기 때문이다.
왜냐하면 동의 없이 활용하면 법적 문제가 발생하기 때문이다.
왜냐하면 데이터 경제에서 개인정보는 상품화되기 때문이다.

개인 데이터가 큰 상품인 세상에서 이러한 오용은 개인의 데이터 프라이버시에 큰 위협이 될 수있기 때문에 엄격하고 안전한 모니터링 방안과 통제방안 마련이 필요하다.

프라이버시(Privacy) = 사생활 보호
모니터링(Monitoring) = 지속적 감시
통제(Control) = 접근 제한 및 정책 관리

 

왜 엄격한 통제가 필요한가?
왜냐하면 데이터는 복제·전송이 매우 쉽기 때문이다.
왜냐하면 한번 유출되면 되돌릴 수 없기 때문이다.
왜냐하면 알고리즘은 차별적 결과를 낼 수 있기 때문이다.
왜냐하면 데이터 기반 사회에서는 신뢰가 핵심 자산이기 때문이다.


 

728x90
반응형
LIST

'2. 빅데이터 탐색 > 데이터 탐색' 카테고리의 다른 글

추론 통계_ 점추정  (0) 2026.03.06
다변량 데이터 탐색  (0) 2026.02.27
시공간 데이터 탐색  (0) 2026.02.27
시각적 데이터 탐색  (1) 2026.02.26
기초 통계량 추출 및 이해  (0) 2026.02.25