본문 바로가기
PROGRAMMING/Data Analysis

[데이터 분석] (응용)미디어 데이터분석 - 기초 이론

by Hey Nary 2021. 10. 16.
728x90
반응형

이번 포스팅은 미디어 데이터 분석을 다룹니다.

 

미디어 데이터란, 텍스트와 이미지를 말합니다!

미디어 데이터를 데이터형태로 나누자면,

 

1. 정형 데이터 : 구조화된 표

2. 비정형 데이터 : 영상, 댓글, 에세이, 문자 대화, 이모티콘, 음성

3. 반정형 데이터 : 규칙은 있지만 연산은 불가능, 코딩어 등

 

으로 나뉩니다.

 

이러한 미디어 데이터는, '단어의 정제'를 통해 분석해야 합니다.

단어를 낱낱이 들여다 볼까요?

 

1. 형태소 : 의미가 있는 최소 단위. 텍스트 의미를 갖는 요소로서는 더 분석할 수 없는 가장 작은 말의 단위. 문법적 관계 뜻만 나타내는 단어 또는 단어의 부분

2. 말뭉치 (Corpus) : 구조를 이루는 텍스트의 집합. 특정 언어 영역 내에서 언어 규칙 발생 검사 및 정당성을 입증.

 

이 두 가지 개념이, 미디어 데이터 분석의 기본입니다.

정리하자면, 말뭉치 분석을 통해 각 문서의 '단어'를 추출하고, 행렬로 정리해 '빈도'를 표시하는 것입니다.

 

🌹정리🌹 텍스트 마이닝 : 대규모 비정형 데이터인 텍스트에서 관계 데이터를 추출

-텍스트에 나타나는 단어를 분해(정제), 특정 단어의 출현 빈도를 파악해 단어 간 관계를 조사.

-방법 : Web Crawling, SNS 분석, 내부 데이터 활용, 형태소 처리 및 토픽 모델링

자연어 처리 : 인간의 발화 언어를 컴퓨터가 이해할 수 있도록 만들거나, 반대로 다시 인간의 발화 언어로 표현하는 제반 기술. 형태소 분석, 품사 부착, 구절 단위 분석, 구문 분석.

-형태소 사전(NIADic) : 93만 단어 제공, 정확도 높은 텍스트 분석 기능 제공

-형태소 분석 라이브러리 : Konlpy (한국어 정보처리), Mecab (일본어, 한국어), NLTK (교육용. 말뭉치, 토큰 생성, 형태소 분석, 품사 태깅), Spacy (상업용. Python과 Cython으로 이루어진 오픈 소스 라이브러리)

 

중요한 개념을 알았으니, 이제 본격적으로 어떻게 처리하는지 알아봅시다.

 

(1) 텍스트 데이터 전처리 (Text Data Processing)

1. 오탈자, 단음 처리

2. 형태소 분해 - ex. Word Cloud

3. POS tagging 처리 : 품사 구분

4. Filtering : 불용어 제거

5. 중요 단어 추출 : TF-IDF

6. 분석 알고리즘 - Text Clustering, 감성 분석, Social Network 분석 등

 

이 미디어 데이터의 분석 목적은, 요즘 대부분 '감성 분석'에 있습니다.

워낙 중요도가 부각되어, 요즘엔 CLO (Chief Listening Officer) 이라는 새 직종도 나왔습니다.

각종 소셜미디어에서 고객이 자사에 대해 어떤 이야기를 하는지 도움이 될 정보를 가리는 직업입니다.

 

소셜 미디어 데이터는 소비자를 날 것 그대로 파악할 수 있는 마케팅 지표입니다.

이러한 소셜 데이터를 기반으로 소비자의 특정 대상에 대한 감정 분석(Sentiment Analysis) 이 소셜 마케터의 주 목적입니다.

 

(2) 문맥 파악

모든 단어 분석이 끝났다면, 결과적으로 어떤 결과를 도출할지 분석해야 합니다.

문맥을 어떻게 파악해야 할까요?

비결은 "Co-Occurrence" 를 찾는 것입니다.

1. Term-document matrix : 한 문서 내 등장하면 비슷한 단어.

  계산해야 할 벡터가 문서 개수 N에 비례.

2. Term-term matrix : 단어가 문맥 내 존재하면 비슷한 단어.

  문맥이 길수록 Semantic (의미론), 짧을수록 Syntactic (구문론, 문장론)

 

그러나, 있는 그대로 사용하기에는 정보성이 낮은 단어들(조사, 관사) 때문에

바로 사용하기 어렵고, 더 나은 단어 벡터가 필요합니다.

 

그것에 대한 다양한 모델이 있습니다.

 

(3) 자연어 처리 방법

1. N-gram : 확률론적 언어 모형. 입력된 문자열을 N개의 기준 단위로 나눔.

2. Bag of Words : 순서는 고려하지 않고 출현 빈도에만 집중.

- One hot representation : (row, column)은 (문서, 단어)에 해당, 단어의 빈도수를 의미. 단어의 등장 개수에 따라 매우 커짐. 한 문서에 등장하는 단어의 개수는 적으므로, 전체 벡터로 보면 대부분이 0 (희소 표현_Sparse Vector). 단어 간 유사성을 표현하기는 어렵다. 모든 단어를 독립적으로 (다른 언어) 판단.

3. Distribution Representation : 단어/문서를 d차원 공간의 벡터로 표현, 의미적 유사성을 반영.

4. Clustering-COS : 두 문서에 공통으로 등장한 단어에 대해 유사성을 판단한다. 

- Sparse reprentation : 벡터의 방향이 가장 중요

- Cosine : 문서 길이 (벡터의 크기) 영향을 받지 않음

 

다음 포스팅에선, 실제로 미디어 데이터를 분석해봅시다!

- 워드 클라우드

- 영화 리뷰 감정 분석

- 형태소 분석

728x90
반응형

댓글