| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- gensim 3.7.3 설치 오류
- 컴퓨터
- 처리
- 운영체제의 미래
- 기계어
- 말 인용
- 선택
- 겁나 많아
- 운영체제 목적
- 출력
- 운영체제의 발달 과정
- 앨런 튜링
- 미래 사회의 단위
- 운영체제 서비스
- 레지스터
- 딥러닝
- 순서도
- 절차적 사고의 장점
- 국립과천과학관
- 소프트웨어 시대
- 운영체제의 기능 1. 자원 관리 기능 2. 시스템 보호 3. 네트워크(통신 기능)
- 패킷트레이서 이용
- 소프트웨어
- 공부정리
- 장치에 할당할 수 없는 NET ID Broadcast주소
- 반복 구조 찾기
- 프로그래밍
- 절차적 사고
- 뿌..
- 해결 방안
- Today
- Total
hye-_
비정형 데이터 분석 본문
비정형 데이터 분석
데이터의 유형인 정형/반정형/비정형 데이터 관점에서 영상, 음성, 문서 등 정의된 형태가 없는 비정형 데이터의 잠재적 가치가 가장 높다고 할 수있다.
데이터를 형태 기준으로 나눌 때 정형(Structured), 반정형(Semi-Structured), 비정형(Unstructured) 데이터 중에서 영상, 음성, 문서처럼 구조가 정해져 있지 않은 데이터가 가장 높은 가치를 가진다는 의미이다. 즉, 표처럼 깔끔하게 정리된 데이터보다 오히려 자유로운 형태의 데이터가 더 많은 정보를 담고 있고 활용 가능성이 크다는 것을 강조하는 문장이다.
왜
왜냐하면 정형 데이터는 이미 사람이 구조를 정해놓은 상태라 정보가 제한되어 있지만, 비정형 데이터는 사람의 행동, 감정, 맥락, 패턴 등 더 풍부한 의미를 포함하고 있기 때문이다. 예를 들어 고객의 구매 데이터(정형)보다 고객 리뷰(비정형)가 훨씬 더 깊은 인사이트를 제공하기 때문에 기업 입장에서 더 높은 가치로 평가된다.
- 정형 데이터(Structured Data): 행과 열로 구성된 표 형태의 데이터로, 데이터베이스(DB)에 저장되는 구조화된 데이터
- 반정형 데이터(Semi-Structured Data): 완전한 구조는 없지만 태그(XML, JSON) 등으로 일부 구조를 가진 데이터
- 비정형 데이터(Unstructured Data): 정해진 구조 없이 텍스트, 이미지, 영상 등 자유 형태로 존재하는 데이터
- 잠재적 가치(Potential Value): 아직 활용되지 않았지만 분석하면 큰 의미를 만들어낼 수 있는 가치
예시:
- 정형: 엑셀의 매출표
- 반정형: JSON 형태의 API 데이터
- 비정형: 유튜브 영상, 고객 리뷰, 음성 녹음
따라서 비정형 데이터를 분석하여 문제를 해결하고 기업의 가치를 높이고자 하는 시도가 활발히 이뤄지고 있다.
비정형 데이터의 가치가 높다고 했기 때문에, 실제로 기업들이 이 데이터를 분석해서 문제를 해결하고 수익이나 경쟁력을 높이려는 활동을 많이 하고 있다
왜
왜냐하면 기존의 정형 데이터만으로는 고객 행동이나 시장 변화의 깊은 원인을 파악하기 어렵기 때문이다. 하지만 비정형 데이터를 분석하면 고객 감정, 트렌드, 숨겨진 패턴을 발견할 수 있어서 더 정확한 의사결정이 가능해진다. 그래서 기업들이 AI, 머신러닝, NLP 등을 활용하여 적극적으로 활용하고 있다.
- 분석(Analysis): 데이터를 분해하고 해석하여 의미 있는 정보를 도출하는 과정
- 기업 가치(Value): 기업이 창출하는 경제적, 전략적, 경쟁력 측면의 가치
- 시도(Attempt): 새로운 기술이나 방법을 적용하려는 행동
예시:
- 고객 리뷰 분석 → 제품 개선
- SNS 감정 분석 → 마케팅 전략 수립
메타 데이터(Meta) : 데이터를 활용하기 위하여 파악해야 할 대상이나 항목으로 데이터를 설명하는 정보, 정보명, 주제영역, 품질수준, 다른 데이터와 연관성 등에 대한 정보. 사례: 설명, 생성주기, 출처, 주제영역.
메타데이터는 데이터를 이해하고 활용하기 위해 필요한 “데이터에 대한 설명 정보”이다. 즉, 데이터 자체가 아니라 그 데이터를 설명해주는 추가적인 정보라고 보면 된다.
왜
왜냐하면 데이터만 존재하면 그 의미를 해석하기 어렵기 때문이다. 예를 들어 숫자 “100”이 있어도 이게 매출인지, 온도인지 알 수 없는데, 메타데이터가 있으면 데이터의 의미, 생성 방식, 출처 등을 알 수 있어 분석이 가능해진다.
- 메타(Meta): “그 자체를 넘어서 설명하는 것”이라는 의미, 즉 데이터를 설명하는 데이터
- 정보명(Name): 데이터의 이름
- 주제영역(Domain): 데이터가 속한 분야
- 품질수준(Quality): 데이터의 정확성, 신뢰도 수준
- 연관성(Relationship): 다른 데이터와의 관계
예시:
- 데이터: 100
- 메타데이터: “2025년 1월 매출액(단위:만원)”
기준 데이터(Master Data) : 업무 프로세스의 중심이 되는 기준 정보 및 참조 정보. 사례 : 제품 정보, 사업자 정보.
기준 데이터는 기업의 모든 업무에서 공통적으로 사용되는 핵심 기준 정보이다. 즉, 여러 시스템과 업무에서 동일하게 참조되는 기본 데이터이다.
왜
왜냐하면 기업의 여러 시스템이 동일한 기준 데이터를 사용해야 일관성이 유지되기 때문이다. 만약 제품 코드나 고객 정보가 시스템마다 다르면 데이터 오류와 업무 혼란이 발생하기 때문이다.
- Master Data: 조직 전체에서 공유되는 핵심 데이터
- 참조 정보(Reference Data): 다른 데이터를 설명하거나 기준이 되는 정보
예시:
- 제품 코드, 고객 ID, 사업자 등록번호
거래 데이터(Transaction Data):고유한 업무 및 서비스 활동을 처리하는 정보시스템에 의해 생성, 관리되는 트랜잭션 정보. 사례: 신용카드 거래내역, 금융내역.
거래 데이터는 실제 업무나 서비스가 수행될 때 발생하는 기록 데이터이다. 즉, “행동의 결과”로 생성되는 데이터이다.
왜
왜냐하면 기업의 활동은 모두 거래 단위로 이루어지기 때문이다. 예를 들어 구매, 결제, 송금 같은 행위가 발생할 때마다 데이터가 생성되며, 이것이 기업의 실제 운영을 반영하는 핵심 데이터가 된다.
- Transaction: 하나의 작업 단위 (예: 결제 1건)
- 정보시스템(Information System): 데이터를 생성하고 관리하는 시스템
예시:
- 카드 결제 기록, 계좌 이체 내역
분석 데이터: 집계 또는 통계 및 분석을 통하여 결과로 생성된 정보. 사례:매출현황, 인구.
분석 데이터는 원본 데이터를 가공하고 계산하여 만든 결과 데이터이다. 즉, 분석을 통해 새롭게 생성된 정보이다.
왜
왜냐하면 원본 데이터(raw data)는 그대로는 의미가 부족하기 때문에 집계나 통계를 통해 의미 있는 정보로 변환해야 의사결정에 활용할 수 있기 때문이다.
- 집계(Aggregation): 데이터를 합치거나 요약하는 과정
- 통계(Statistics): 데이터를 수치적으로 분석하는 방법
예시:
- 월별 매출 합계, 지역별 인구 수
GIS 데이터: 지형지물에 대한 공간적 정보로서 벡터,래스터 형태의 공간 정보. 사례:행정구역도, 산림도.
GIS 데이터는 위치와 공간 정보를 포함하는 데이터로, 지도나 지리적 구조를 표현하는 데이터이다.
왜:
왜냐하면 공간 정보는 단순 수치 데이터로 표현하기 어렵고, 위치 기반 분석을 위해 별도의 데이터 형태가 필요하기 때문이다.
- GIS(Geographic Information System): 지리 정보를 저장, 분석하는 시스템
- 벡터(Vector): 점, 선, 면으로 표현되는 데이터
- 래스터(Raster): 픽셀 기반 이미지 형태 데이터
예시:
- 지도 데이터, 위성 이미지
로그 데이터: 시스템이 생성한 Log 정보 및 웹 크롤링 Raw file 형태의 정보. 사례:로그기록, WebLog.
로그 데이터는 시스템이나 웹에서 자동으로 생성되는 기록 데이터이다.
왜:
왜냐하면 시스템의 동작 상태나 사용자 행동을 추적하기 위해 자동으로 기록되기 때문이다. 이 데이터는 문제 분석이나 사용자 행동 분석에 매우 중요하다.
- Log: 기록, 기록된 데이터
- Raw file: 가공되지 않은 원본 데이터
예시:
- 접속 기록, 클릭 로그
센서데이터 : 사물인터넷(IoT), 추적장치(Tracking Device), 공장자동화기기 등 각종 센서를 통하여 생성되는 정보. 사례: 위치, 기상, 수질.
센서 데이터는 다양한 장치에서 물리적 환경을 측정하여 생성되는 데이터이다.
왜:
왜냐하면 현실 세계의 상태를 디지털로 변환하기 위해 센서가 필요하고, 이를 통해 실시간 데이터 수집이 가능하기 때문이다.
- IoT(Internet of Things): 사물들이 인터넷으로 연결된 기술
- Tracking Device: 위치 추적 장치
예시:
- GPS 위치 데이터, 온도 센서 데이터
활동 데이터 :의견정보(Opinion Data), 웹 검색 정보 등을 포함한 온라인상에서 생성된 것으로 분석을 위하여 전처리(정제, 자연어 처리 등)를 수행한 정보. 사례:웹 게시글, SNS내역.
활동 데이터는 온라인에서 생성된 데이터를 분석 가능하게 가공한 데이터이다.
왜:
왜냐하면 원본 데이터는 노이즈가 많고 분석이 어렵기 때문에 전처리를 통해 의미 있는 형태로 변환해야 활용할 수 있기 때문이다.
- 전처리(Preprocessing): 데이터 정제 및 가공 과정
- 자연어 처리(NLP): 인간 언어를 컴퓨터가 이해하도록 처리하는 기술
예시:
- 댓글 감정 분석 데이터
문서 데이터: 문서 작성기로 생성한 문서 정보(hwp, doc, pdf 등 고유한 저장형식으로 생성). 사례: 일반문서, 논문, 보고서.
문서 데이터는 사람이 작성한 파일 형태의 데이터이다.
왜:
왜냐하면 기업의 대부분 정보는 문서 형태로 저장되며, 중요한 지식과 기록이 포함되어 있기 때문이다.
- pdf: Portable Document Format, 문서 공유 형식
예시:
- 보고서 파일
미디어 데이터: 다양한 멀티미디어(텍스트, 이미지, 음성, 영상) 정보. 사례:사진, 영상, 음성.
미디어 데이터는 다양한 형태의 콘텐츠 데이터를 의미한다.
왜:
왜냐하면 현대 데이터의 대부분은 텍스트뿐 아니라 이미지, 영상, 음성 형태로 생성되기 때문이다.
- 멀티미디어(Multimedia): 여러 형태의 미디어 결합
예시:
- 유튜브 영상, 사진 파일
비정형 데이터 분석은 비정형 데이터를 체계적인 통계적 규칙이나 패턴을 탐색하고 이를 의미있는 정보로 변환하기 위한 분석 기법이다.
비정형 데이터 분석이란 구조가 없는 데이터(텍스트, 이미지, 음성 등)에서 일정한 규칙이나 패턴을 찾아내고, 그 결과를 사람이 이해할 수 있는 의미 있는 정보로 바꾸는 분석 방법이다. 즉, 단순히 데이터를 보는 것이 아니라 그 안에 숨겨진 규칙을 찾아 해석 가능한 형태로 바꾸는 과정 전체를 의미한다.
왜:
왜냐하면 비정형 데이터는 형태가 정해져 있지 않아서 그대로는 분석이 불가능하거나 매우 어렵기 때문이다. 그래서 통계적 방법이나 알고리즘을 사용하여 규칙을 찾고, 그 결과를 정형화된 정보로 변환해야만 기업이나 사람이 실제 의사결정에 활용할 수 있기 때문에 이러한 분석 기법이 필요하다.
- 비정형 데이터(Unstructured Data): 정해진 구조 없이 자유 형태로 존재하는 데이터
- 체계적인(Systematic): 일정한 규칙과 절차에 따라 조직적으로 수행되는 것
- 통계적 규칙(Statistical Rule): 데이터에서 확률과 분포를 기반으로 도출된 패턴
- 패턴(Pattern): 반복적으로 나타나는 데이터의 특징이나 규칙성
- 변환(Transformation): 데이터를 다른 형태나 의미로 바꾸는 과정
- 분석 기법(Analysis Technique): 데이터를 해석하기 위해 사용하는 방법론
예시:
- 고객 리뷰 텍스트 → 긍정/부정 분류
- 음성 데이터 → 텍스트로 변환 후 분석
비정형 데이터 분석 절차는 탐색 과정, 이해 과정, 분석 과정으로 구분되며 이는 비정형 데이터 마이닝 절차와 맥락을 같이 한다.
비정형 데이터 분석이 단순히 한 번에 이루어지는 것이 아니라, 데이터를 먼저 탐색하고(탐색 과정), 그 의미를 이해하고(이해 과정), 마지막으로 실제 분석을 수행하는(분석 과정) 단계로 이루어진다는 뜻이며, 이 구조가 데이터 마이닝 절차와 동일한 흐름을 가진다는 의미이다.
왜:
왜냐하면 비정형 데이터는 바로 분석할 수 없기 때문에 먼저 데이터의 형태와 특징을 파악해야 하고, 그 다음 데이터가 어떤 의미를 가지는지 이해한 뒤에야 적절한 분석 방법을 적용할 수 있기 때문이다. 이러한 단계적 접근은 분석 오류를 줄이고 더 정확한 결과를 얻기 위해 필수적인 과정이다.
- 탐색 과정(Exploration): 데이터의 구조, 분포, 특징을 파악하는 단계
- 이해 과정(Understanding): 데이터의 의미와 맥락을 해석하는 단계
- 분석 과정(Analysis): 실제 알고리즘이나 통계를 적용하는 단계
- 마이닝(Mining): 데이터에서 유용한 정보를 استخراج(추출)하는 과정
- 맥락(Context): 전체 흐름이나 상황 속에서의 의미
예시:
- 탐색: 리뷰 데이터 길이, 단어 빈도 확인
- 이해: 리뷰가 제품 평가인지 감정 표현인지 파악
- 분석: 감성 분석 모델 적용
즉 비정형 데이터 분석은 비정형 데이터 마이닝과 같은 의미를 가진다고 보면 이해가 쉽다.
비정형 데이터 분석과 비정형 데이터 마이닝을 거의 동일한 개념으로 이해해도 된다는 뜻이다. 즉, 두 용어는 본질적으로 같은 작업을 가리킨다고 보면 된다.
왜:
왜냐하면 두 개념 모두 비정형 데이터에서 의미 있는 정보를 추출하는 것을 목표로 하기 때문이다. 단어는 다르지만 실제 수행하는 작업과 목적이 거의 동일하기 때문에 시험이나 실무에서는 같은 개념으로 묶어서 이해하는 것이 효율적이다.
- 데이터 마이닝(Data Mining): 대량의 데이터에서 패턴과 지식을 استخراج하는 과정
- 동일한 의미(Same Meaning): 기능과 목적이 같은 개념
예시:
- 텍스트 마이닝 = 텍스트 데이터 분석
- 웹 로그 분석 = 웹 마이닝
비정형 데이터 분석 기법 : 텍스트 마이닝, 웹 마이닝, 오피니언 마이닝, 감성분석, 사회연결망분석, 리얼리티 마이닝.
비정형 데이터를 분석할 때 사용하는 대표적인 방법들을 나열한 것으로, 각각의 기법은 특정 유형의 비정형 데이터를 분석하기 위한 방법이다.
왜:
왜냐하면 비정형 데이터는 종류가 다양하기 때문에 하나의 방법으로 모두 분석할 수 없고, 데이터의 형태와 목적에 따라 적절한 분석 기법을 선택해야 하기 때문이다. 각 기법은 특정 데이터 유형(텍스트, 웹, 관계 등)에 최적화되어 있다.
- 텍스트 마이닝(Text Mining): 텍스트에서 의미, 키워드, 패턴을 추출하는 기법
- 웹 마이닝(Web Mining): 웹 데이터(페이지, 클릭, 링크)를 분석하는 기법
- 오피니언 마이닝(Opinion Mining): 사람의 의견, 평가를 추출하는 분석
- 감성분석(Sentiment Analysis): 긍정/부정/중립 감정을 분류하는 분석
- 사회연결망분석(SNA, Social Network Analysis): 사람/노드 간 관계 구조 분석
- 리얼리티 마이닝(Reality Mining): 현실 세계 행동 데이터를 분석하는 기법
예시:
- 텍스트 마이닝: 뉴스 기사에서 키워드
- 웹 마이닝: 사용자의 클릭 패턴 분석
- 감성분석: 리뷰 긍정/부정 분류
- SNA: SNS 친구 관계 분석
- 리얼리티 마이닝: GPS로 이동 패턴 분석
텍스트 마이닝
텍스트 마이닝은 구조화되지 않은 대규모의 텍스트 데이터로부터 자동적으로 정보를 추출함으로써 이전에 알려지지 않았던 새로운 정보를 발견하는 마이닝 기법이다.
텍스트 마이닝이란 구조가 정해져 있지 않은 방대한 텍스트 데이터에서 사람이 일일이 읽지 않고도 자동으로 정보를 추출하여, 기존에는 알지 못했던 새로운 패턴이나 의미를 찾아내는 분석 기법이라는 뜻이다. 즉, 단순히 텍스트를 읽는 것이 아니라 데이터 속 숨겨진 지식까지 발견하는 과정이다.
왜:
왜냐하면 텍스트 데이터는 사람이 직접 읽어서 분석하기에는 양이 너무 많고 비효율적이기 때문이다. 따라서 자동화된 알고리즘을 통해 패턴을 추출하여 새로운 정보를 발견해야만 기업이나 연구에서 빠르고 정확한 의사결정을 할 수 있기 때문에 이러한 기술이 필요하다.
- 텍스트 마이닝(Text Mining): 텍스트 데이터에서 의미 있는 정보를 추출하는 기술
- 구조화되지 않은(Unstructured): 정해진 형식 없이 자유로운 형태
- 대규모(Large-scale): 매우 많은 양의 데이터
- 자동적으로(Automatically): 사람 개입 없이 시스템이 수행
- 마이닝(Mining): 데이터 속에서 가치 있는 정보를 찾아내는 과정
예시:
- 수만 개 리뷰에서 “불만 키워드” 자동 추출
- 뉴스 기사에서 핵심 이슈 자동 발견
자연어처리 기술을 사용해 인간의 언어로 쓰인 비정형 텍스트에서 유용한 정보를 추출하거나 다른 데이터와의 연계성을 파악하여, 분류나 군집화 등 빅데이터에 숨겨진 의미있는 정보를 발견하는 기술로도 정의된다.
텍스트 마이닝이 자연어처리(NLP) 기술을 활용하여 사람이 사용하는 언어로 작성된 텍스트에서 유용한 정보를 추출하고, 다른 데이터와 연결하여 분류나 군집화 같은 분석을 수행함으로써 숨겨진 의미를 찾아내는 기술이라는 뜻이다.
왜:
왜냐하면 인간 언어는 컴퓨터가 그대로 이해할 수 없기 때문에 자연어처리를 통해 기계가 이해 가능한 형태로 변환해야 분석이 가능하다. 또한 텍스트를 다른 데이터와 연결해야 더 깊은 분석이 가능하고, 이를 통해 의미 있는 패턴을 발견할 수 있기 때문이다.
- 자연어처리(NLP, Natural Language Processing): 인간 언어를 컴퓨터가 이해하도록 처리하는 기술
- 연계성(Relationship): 데이터 간 연결 관계
- 분류(Classification): 데이터에 라벨을 붙이는 작업
- 군집화(Clustering): 비슷한 데이터끼리 묶는 작업
- 빅데이터(Big Data): 대용량·고속·다양한 데이터
예시:
- 리뷰 텍스트 + 구매 데이터 결합 → 고객 유형 분류
- 뉴스 기사 군집화 → 주제별 그룹 생성
텍스트 마이닝의 활용1) 문서요약(Summarization)
문서 주요 내용을 추출하여 요약(토픽모델링)
문서요약은 긴 문서에서 핵심 내용만 추출하여 짧게 요약하는 기술이며, 토픽모델링을 활용하여 주요 주제를 파악하는 방법을 포함한다
왜:
왜냐하면 긴 문서를 모두 읽는 것은 시간과 비용이 많이 들기 때문에 핵심만 빠르게 파악할 수 있도록 요약이 필요하다. 특히 빅데이터 환경에서는 수많은 문서를 효율적으로 처리하기 위해 자동 요약 기술이 필수적이다.
- Summarization: 문서를 요약하는 기술
- 토픽모델링(Topic Modeling): 문서에서 주요 주제를 추출하는 방법
예시:
- 뉴스 기사 자동 요약
- 논문 핵심 내용 추출
텍스트 마이닝의 활용2) 문서분류(Classification)
문서를 주어진 키워드 따라 자동으로 구조화 및 분류.
문서분류는 문서를 특정 기준이나 키워드에 따라 자동으로 나누고 구조화하는 기술이다.
왜:
왜냐하면 수많은 문서를 사람이 일일이 분류하기 어렵기 때문에 자동으로 카테고리를 나누어야 검색과 활용이 쉬워지기 때문이다.
- Classification: 데이터에 정해진 클래스(범주)를 부여하는 작업
- 구조화(Structuring): 데이터를 정해진 형식으로 정리하는 것
예시:
- 스팸메일 vs 일반메일 분류
- 뉴스 카테고리 분류
텍스트 마이닝의 활용3) 문서군집(clustering)
문서들을 분석하여 동일한 내용의 문서들을 묶음.
문서군집은 비슷한 내용을 가진 문서들을 자동으로 그룹화하는 기술이다.
왜:
왜냐하면 데이터에 라벨이 없는 경우에도 유사한 문서들을 묶어서 패턴을 발견할 수 있기 때문이다.
- Clustering: 유사한 데이터끼리 그룹으로 묶는 비지도학습 기법
예시:
- 비슷한 뉴스 기사 묶기
- 리뷰 유형별 그룹 생성
텍스트 마이닝의 활용4) 정보추출(Extraction):
문서 내 사용자가 원하는 정보나 특성을 자동으로 추출.
정보추출은 문서에서 특정 정보나 특징을 자동으로 찾아내는 기술이다.
왜:
왜냐하면 필요한 정보만 빠르게 얻기 위해 전체 문서를 읽지 않고 핵심 정보만 뽑아내야 하기 때문이다.
- Extraction: 특정 정보를 선택적으로 추출하는 과정
예시:
- 기사에서 인물 이름 추출
- 리뷰에서 제품명 추출
텍스트 마이닝 절차1) 텍스트 수집(정보 탐색):
사용자가 원하는 키워드를 기반으로 원하는 정보가 포함된 텍스트 데이터가 들어있는 문서를 탐색하느 과정, 사용 목적에 따라 웹 검색, 개인정보 검색, 기업이나 기관/특정 영역 검색 등 세 가지의 형태로 구별된다. 기법은 크롤링, 말뭉치 확보, Open API 활용, 로그수집기 활용 등이있다.
텍스트 수집 단계는 분석할 데이터를 찾고 모으는 과정으로, 키워드를 기준으로 관련 문서를 수집하는 단계이다.
왜:
왜냐하면 분석할 데이터가 없으면 어떤 분석도 수행할 수 없기 때문에 가장 먼저 데이터를 확보하는 단계가 필요하다.
- 크롤링(Crawling): 웹에서 데이터를 자동 수집하는 기술
- 말뭉치(Corpus): 분석을 위해 모아둔 텍스트 데이터 집합
- Open API: 외부 데이터에 접근할 수 있는 인터페이스
예시:
- 뉴스 사이트 크롤링
- SNS 데이터 수집
텍스트 마이닝 절차2) 텍스트 전처리(정보 추출)
정보 탐색이 사용자가 필요한 정보와 관련된 텍스트가 들어있는 특정한 문서를 찾는 것인데 반해 정보 추출이란 특정한 문서로부터 구체적인 정보를 정제하는 과정이다. 기법은 토큰화, 불용어 처리, 정제와 정규화, 텍스트 인코딩 등이 있다.
전처리는 수집한 텍스트에서 분석에 필요한 형태로 데이터를 정리하고 불필요한 요소를 제거하는 과정이다.
왜
왜냐하면 원본 텍스트에는 불필요한 단어, 오류, 노이즈가 많아서 그대로는 분석이 어렵기 때문에 정제 과정이 반드시 필요하다.
- 토큰화(Tokenization): 문장을 단어 단위로 나누는 작업
- 불용어(Stopwords): 의미 없는 단어
- 정규화(Normalization): 데이터 형식을 통일하는 과정
- 인코딩(Encoding): 텍스트를 숫자로 변환
예시:
- “나는 밥을 먹었다” → [나, 밥, 먹다]
텍스트 마이닝 절차3) 텍스트 분석(자료 분석)
텍스트로부터 의미있는 추세와 패턴 및 지식을 발견하기 위하여 데이터 마이닝, 머신러닝(기계학습) 등을 반복적으로 수행함으로써 의미있는 결과를 얻어내는 과정. 기법은 통계적 기법, 데이터 마이닝, 머신러닝 기법, 자연어 처리 등이 있다.
텍스트 분석 단계는 전처리된 데이터를 기반으로 실제 알고리즘을 적용하여 의미 있는 결과를 도출하는 과정이다.
왜:
왜냐하면 데이터를 정리만 해서는 의미를 알 수 없고, 실제 분석을 통해 패턴과 관계를 발견해야 가치 있는 정보가 되기 때문이다.
- 머신러닝(Machine Learning): 데이터를 학습하여 패턴을 찾는 기술
- 추세(Trend): 시간에 따른 변화 방향
예시:
- 감성 분석 모델 적용
- 키워드 빈도 분석
텍스트 마이닝 절차4) 텍스트 시각화
분석된 결과에 대한 의미 분석 혹은 시각적 표현을 위해 사용자 관점에서 통찰력을 얻는 과정. 기법은 워드클라우드, 소셜네트워크 분석(SNA)이 있다.
시각화는 분석 결과를 그래프나 그림으로 표현하여 사람이 쉽게 이해할 수 있도록 만드는 과정이다.
왜:
왜냐하면 숫자나 결과만 보면 이해하기 어렵기 때문에 시각적으로 표현해야 패턴과 의미를 직관적으로 파악할 수 있기 때문이다.
- 워드클라우드(Word Cloud): 단어 빈도를 시각적으로 표현
- SNA(Social Network Analysis): 관계를 네트워크 형태로 분석
예시:
- 키워드 크기 시각화
- 사용자 관계 그래프
텍스트 수집
텍스트 데이터 수집은 사용자가 원하는 키워드를 기반으로 원하는 정ㅂ오가 포함된 텍스트 데이터가 들어있는 문서를 탐색하는 과정이며, 사용 목적에 따라 웹 검색, 개인정보 검색, 기업이나 기관/특정 영역 검색 등 세 가지의 형태로 구별될 수있다.
텍스트 데이터 수집이란 사용자가 특정 키워드를 기준으로 하여 원하는 정보가 포함된 문서를 찾아내는 과정이며, 이 과정은 목적에 따라 웹 검색, 개인정보 검색, 특정 기관이나 분야 검색 등으로 나뉜다는 의미이다. 즉, 분석 전에 필요한 데이터를 찾고 확보하는 초기 단계라고 이해하면 된다.
왜:
왜냐하면 분석은 반드시 데이터가 있어야 가능하기 때문에 가장 먼저 해야 할 것이 바로 “데이터 확보”이기 때문이다. 특히 텍스트 데이터는 여기저기 흩어져 있기 때문에 키워드를 기반으로 탐색하지 않으면 원하는 정보를 효율적으로 찾을 수 없고, 목적에 따라 수집 방법도 달라지기 때문에 구분이 필요하다.
- 텍스트 데이터(Text Data): 문자 기반으로 이루어진 데이터 (문장, 문서 등)
- 키워드(Keyword): 검색의 기준이 되는 핵심 단어
- 탐색(Search/Exploration): 원하는 데이터를 찾는 과정
- 웹 검색(Web Search): 인터넷을 통해 데이터 탐색
- 개인정보(Personal Data): 개인과 관련된 정보
- 특정 영역(Specific Domain): 특정 분야나 주제 영역
예시:
- “아이폰 리뷰” 검색 → 웹에서 관련 기사 수집
- 특정 기업 보고서 검색 → 기업 데이터 수집
텍스트 데이터 수집 기술은 다음과 같다.
왜냐하면 텍스트 데이터는 하나의 방법으로만 수집할 수 있는 것이 아니라, 웹, API, 로그 등 다양한 경로에서 얻어야 하기 때문에 여러 기술을 구분해서 이해해야 실제 상황에 맞게 사용할 수 있기 때문이다.
- 수집 기술(Collection Technique): 데이터를 가져오기 위한 방법이나 도구
크롤링:
정적 웹크롤링을 이용해 텍스트, 하이퍼링크, 이미지를 가져오는 방법.
크롤링은 웹 페이지에 있는 텍스트, 링크, 이미지 등의 데이터를 자동으로 수집하는 기술이며, 특히 정적 웹크롤링은 페이지 내용이 고정된 상태에서 데이터를 가져오는 방식이다.
왜:
왜냐하면 인터넷에는 수많은 데이터가 존재하지만 사람이 직접 복사하기에는 비효율적이기 때문에 자동화된 프로그램을 통해 데이터를 빠르게 수집해야 하기 때문이다.
- 크롤링(Crawling): 웹 페이지를 돌아다니며 데이터를 수집하는 기술
- 정적 웹(Static Web): 페이지 내용이 고정되어 있는 웹
- 하이퍼링크(Hyperlink): 다른 페이지로 이동할 수 있는 연결 링크
예시:
- 뉴스 사이트 기사 자동 수집
- 쇼핑몰 상품 정보 수집
BeautifulSoup이라는 라이브러리를 사용하여 뉴스기사 등 수집 가능.
Python에서 사용하는 BeautifulSoup이라는 라이브러리를 활용하면 HTML 구조를 분석하여 뉴스 기사와 같은 데이터를 쉽게 수집할 수 있다
왜:
왜냐하면 웹 페이지는 HTML 구조로 되어 있어서 이를 분석할 수 있는 도구가 필요하며, BeautifulSoup은 이 구조를 쉽게 파싱(parsing)하여 원하는 데이터를 추출할 수 있도록 도와주기 때문이다.
- BeautifulSoup: Python 기반 HTML 파싱 라이브러리
- 라이브러리(Library): 특정 기능을 쉽게 사용할 수 있도록 만든 코드 모음
- 파싱(Parsing): 데이터를 구조적으로 분석하는 과정
예시:
- HTML에서 태그 추출
- 기사 본문 텍스트 가져오기
말뭉치(Corpus, 코퍼스) :
자연어 연구를 위해 특정한 목적을 가지고 언어의 표본을 추출한 집합.
말뭉치는 자연어 연구나 분석을 위해 다양한 텍스트 데이터를 모아둔 집합이며, 특정 목적을 가지고 수집된 언어 데이터 모음이다.
왜:
왜냐하면 자연어 처리나 텍스트 분석을 수행하려면 많은 양의 텍스트 데이터가 필요하고, 이를 체계적으로 모아둔 것이 말뭉치이기 때문이다.
- Corpus: 언어 데이터를 모아둔 집합
- 자연어(Natural Language): 사람이 사용하는 언어
- 표본(Sample): 전체 중 일부를 대표하는 데이터
예시:
- 뉴스 기사 모음
- 대화 데이터 모음
모두의 말뭉치 등 수집 가능(corpus.korean.go.kr).
한국어 말뭉치를 제공하는 사이트(모두의 말뭉치)를 통해 실제 텍스트 데이터를 수집할 수 있다
예시:
- 한국어 뉴스 데이터 다운로드
- 문장 데이터셋 활용
Open API
Open API를 사용하여 개방된 텍스트 문서나 데이터를 거져오는 방법. 공공데이터등 수집 가능.
Open API는 외부에서 제공하는 인터페이스를 통해 공개된 데이터를 가져오는 방법이며, 공공데이터 등을 쉽게 수집할 수 있다
왜:
왜냐하면 데이터를 직접 수집하지 않아도 API를 통해 정형화된 형태로 데이터를 빠르게 가져올 수 있기 때문에 효율적이다.
- API(Application Programming Interface): 프로그램 간 데이터 요청/응답을 위한 인터페이스
- Open API: 누구나 사용할 수 있도록 공개된 API
예시:
- 날씨 API로 기상 데이터 수집
- 공공데이터 API 활용
로그수집기
로그수집기를 이용하여 텍스트 데이터를 수집하는 방법.
로그수집기는 시스템이나 서비스에서 생성되는 로그 데이터를 모아서 텍스트 형태로 수집하는 방법이다.
왜:
왜냐하면 사용자 행동이나 시스템 상태를 분석하기 위해서는 로그 데이터가 매우 중요하며, 이를 자동으로 수집해야 지속적인 분석이 가능하기 때문이다.
- 로그(Log): 시스템에서 발생한 기록 데이터
- 수집기(Collector): 데이터를 모으는 도구
예시:
- 웹 접속 기록 수집
- 사용자 클릭 로그 수집
이외에도 공공데이터 포털 등에 접속하면 텍스트 데이터를csv형태로도 제공받을 수있다.
공공데이터 포털을 통해 텍스트 데이터를 CSV 파일 형태로도 받을 수 있다
왜:
왜냐하면 CSV는 데이터를 표 형태로 저장하는 대표적인 형식으로, 분석 도구에서 쉽게 활용할 수 있기 때문이다.
- CSV(Comma-Separated Values): 쉼표로 구분된 데이터 파일 형식
- 공공데이터 포털: 정부에서 제공하는 데이터 서비스 플랫폼
예시:
- 인구 데이터 CSV 다운로드
- 교통 데이터 CSV 활용
텍스트 전처리
텍스트 전처리는 특정한 문서로부터 구체적인 정보를 정제하는 과정이다.
텍스트 전처리가 단순히 데이터를 정리하는 것이 아니라, 특정 문서 안에서 필요한 정보만을 골라내고 불필요한 부분을 제거하여 분석에 적합한 형태로 만드는 과정이라는 의미이다. 즉, 원본 그대로의 텍스트를 사용하는 것이 아니라 분석 목적에 맞게 데이터를 다듬는 핵심 단계이다.
왜
왜냐하면 원본 텍스트에는 의미 없는 단어, 오타, 중복 표현, 특수문자 등 분석에 방해가 되는 요소가 많기 때문에 그대로 사용하면 정확한 결과를 얻기 어렵기 때문이다. 따라서 필요한 정보만 남기고 정제하는 과정이 반드시 필요하며, 이 과정이 분석 성능을 크게 좌우한다.
- 전처리(Preprocessing): 데이터를 분석 전에 정리하고 가공하는 과정
- 정제(Cleansing): 불필요하거나 오류가 있는 데이터를 제거하는 작업
- 구체적인 정보(Specific Information): 분석 목적에 필요한 핵심 데이터
예시:
- “ㅋㅋㅋㅋ 맛있다!!!” → “맛있다”
- 특수문자 제거 후 텍스트 분석
수집한 텍스트는 전처리되지 않은 상태일 가능성이 높다.
수집한 텍스트 데이터는 대부분 정리되지 않은 상태이며, 바로 분석에 사용할 수 없는 경우가 많다
왜:
왜냐하면 웹이나 로그 등에서 수집된 데이터는 사람이나 시스템이 가공하지 않은 원본 상태이기 때문에 노이즈, 불필요한 정보, 형식 오류 등이 포함되어 있기 때문이다.
- 수집(Collection): 데이터를 모으는 과정
- 전처리되지 않은 상태(Raw Data): 가공되지 않은 원본 데이터
- 노이즈(Noise): 의미 없는 데이터
예시:
- HTML 태그가 포함된 텍스트
- 광고 문구가 섞인 데이터
따라서 분석 가능한 상태로 변환하는 과정이 필요하다.
수집된 텍스트를 그대로 사용할 수 없기 때문에 분석이 가능한 형태로 바꾸는 과정이 반드시 필요하다
왜냐하면 데이터 분석은 정제된 데이터에서만 정확한 결과를 도출할 수 있기 때문이다. 원본 데이터 그대로 사용하면 잘못된 패턴이 학습될 수 있어 결과의 신뢰성이 떨어진다.
- 변환(Transformation): 데이터를 다른 형태로 바꾸는 과정
- 분석 가능 상태(Analyzable State): 모델이나 통계에 적용 가능한 상태
예시:
- 텍스트 → 숫자 벡터 변환
- 불용어 제거 후 데이터 사용
말뭉치 형성: 말뭉치는 자연어 연구를 위해 특정한 목적을 가지고 언어의 표본을 추출한 집합이며, 언어의 빈도와 분포를 확인할 수있는 구조로 텍스트 변환하여 신뢰성 있는 각종 정보를 얻어 내기 쉬운 형태로 가공해야 한다.
말뭉치(corpus)가 자연어 연구를 위해 만들어진 텍스트 집합이며, 단순히 모으는 것이 아니라 단어의 빈도와 분포를 분석할 수 있도록 구조화된 형태로 변환해야 한다
왜:
왜냐하면 텍스트 데이터를 그냥 모아놓기만 하면 분석이 어렵고, 통계적으로 의미 있는 결과를 얻기 위해서는 빈도나 패턴을 확인할 수 있도록 구조화된 데이터 형태로 가공해야 하기 때문이다.
- 말뭉치(Corpus): 텍스트 데이터 집합
- 빈도(Frequency): 특정 단어가 등장하는 횟수
- 분포(Distribution): 데이터가 퍼져 있는 형태
- 신뢰성(Reliability): 결과의 정확성과 일관성
예시:
- 뉴스 기사 모음 → 단어 빈도 분석
- 리뷰 데이터 → 감정 분포 분석
토큰화는 텍스트 문서를 띄어쓰기 공백과 모든 구두점을 제거하여 연속하는 단어의 열로 분할하는 과정이다.
토큰화가 텍스트를 단어 단위로 나누는 과정이며, 공백이나 구두점을 기준으로 분리하여 연속된 단어들의 집합으로 만드는 작업이라는 의미이다.
왜:
왜냐하면 컴퓨터는 문장을 그대로 이해할 수 없기 때문에 단어 단위로 나누어야 분석이 가능하고, 이를 통해 각 단어의 의미를 개별적으로 처리할 수 있기 때문이다.
- 토큰화(Tokenization): 텍스트를 단어 단위로 나누는 작업
- 구두점(Punctuation): 온점(.), 콤마(,), 느낌표 등 문장 기호
- 분할(Split): 데이터를 나누는 과정
예시:
- “나는 밥을 먹었다.” → [나는, 밥을, 먹었다]
주요 기법은 단어 토큰화, 어절 토큰화, 형태소 토큰화가 있다.
토큰화 방법이 하나가 아니라 단어, 어절, 형태소 기준으로 나뉘는 여러 방식이 있다
왜:
왜냐하면 언어의 구조가 다르기 때문에 분석 목적에 따라 적절한 단위로 나누어야 더 정확한 결과를 얻을 수 있기 때문이다.
- 단어(Token): 의미를 가지는 기본 단위
- 어절: 띄어쓰기 기준 단위
- 형태소(Morpheme): 의미를 가지는 최소 단위
예시:
- 영어 → 단어 기준
- 한국어 → 형태소 기준
단어 토큰화는 단어를 기준으로 분활한다. 온점, 콤마, 세미콜론 등과 같은 구두점을 지우는 과정이다.
단어 토큰화는 문장을 단어 단위로 나누고, 구두점을 제거하여 순수한 단어만 남기는 과정이라는 의미이다.
왜:
왜냐하면 구두점은 대부분 의미 분석에 필요하지 않기 때문에 제거하고 단어만 남겨야 분석이 쉬워지기 때문이다.
- 세미콜론(;): 문장 구분 기호
- 단어 토큰화: 단어 기준 분할
예시:
- “Hello, world!” → [Hello, world]
어질 토큰화는 어질을 기준으로 분할한다. 영어는 단어 토큰 적용 가능, 한글은 지양:조사/어미 등을 붙여 만들기 때문이다.
어절 단위로 나누는 방법이며, 영어는 단어 기준으로 가능하지만 한글은 조사와 어미가 붙기 때문에 적합하지 않다
왜:
왜냐하면 한국어는 조사와 어미가 결합되어 의미가 변하기 때문에 단순히 띄어쓰기 기준으로 나누면 정확한 의미 분석이 어렵기 때문이다.
- 어절: 띄어쓰기 기준 단위
- 조사: 문법적 관계를 나타내는 요소
- 어미: 동사의 형태 변화 요소
예시:
- “나는 밥을 먹었다” → 어절 단위 분리
형태소 토큰화는 의미를 가지는 요소로서는 더 이상 분석할 수 없는 가장 작은 말의 단위 기준으로 분할한다(한글은 필수).
형태소 토큰화는 의미를 가지는 최소 단위까지 나누는 방법이며, 특히 한국어에서는 필수적으로 사용되는 방식이라는 의미이다.
왜:
왜냐하면 한국어는 조사와 어미가 결합된 구조이기 때문에 이를 분리하지 않으면 정확한 의미 분석이 어렵기 때문이다.
- 형태소(Morpheme): 의미를 가지는 최소 단위
예시:
- “먹었다” → 먹 + 었 + 다
자립 형태소는 다른 말의 도움 없이 그것만으로도 자립할 수 있는 형태소, 체언(명사, 대명사, 수사), 수식언(관형사, 부사), 감탄사 등이있다.
자립 형태소는 혼자서도 의미를 가질 수 있는 형태소이며, 명사나 부사처럼 독립적으로 사용 가능한 단어를 의미한다.
왜:
왜냐하면 문장에서 의미의 중심이 되는 단위이기 때문에 분석에서 중요한 역할을 하기 때문이다.
- 체언: 명사류 단어
- 수식언: 다른 단어를 꾸며주는 단어
예시:
- 나, 공부, 매우
의존 형태소는 다른 형태소와 결합하여 사용되는 형태소로 접사, 어미, 조사, 어간 등이있다.
의존 형태소는 혼자서는 의미를 가지지 못하고 다른 단어와 결합해야 의미가 완성되는 형태소이다.
왜:
왜냐하면 문법적 기능을 수행하는 요소이기 때문에 단독으로는 의미 전달이 불가능하다.
- 접사: 단어에 붙는 요소
- 어간: 단어의 기본 형태
예시:
- -는, -다
예시 나는 공부를 한다. 자립 형태소 : 나, 공부. 의존 형태소 : -는, -를, 한-, -다.
이 문장은 자립 형태소와 의존 형태소를 실제 문장에서 어떻게 구분하는지를 보여주는 예시이다.
왜:
왜냐하면 개념만으로는 이해하기 어렵기 때문에 실제 문장을 통해 구분하는 방법을 보여주기 위해서이다.
- 자립 형태소: 독립 가능
- 의존 형태소: 결합 필요
예시:
- 나 / 공부 → 자립
- 는 / 를 → 의존
품사태킹 =Pos 태깅 : 토큰화된 단어의 의미를 파악하기 위해 각 단어가 어떤 품사를 쓰였는 구분하여 태깅하는 과정이다.
품사 태깅은 토큰화된 단어에 대해 명사, 동사 등의 품사를 붙여주는 과정이다.
왜:
왜냐하면 단어의 역할을 알아야 문장의 의미를 정확히 이해할 수 있기 때문이다.
- POS(Part Of Speech): 품사
- 태깅(Tagging): 라벨을 붙이는 작업
예시:
- “먹다” → 동사
한글 토큰화를 하기 위해서 KoNLPy(코엔엘파이)라는 파이썬 패키지를 사용할 수 있다.
한국어 형태소 분석을 위해 KoNLPy라는 Python 패키지를 사용할 수 있다는 의미이다.
왜:
왜냐하면 한국어는 구조가 복잡하기 때문에 전용 라이브러리를 사용해야 정확한 분석이 가능하기 때문이다.
- KoNLPy: 한국어 자연어처리 라이브러리
- 패키지(Package): 기능 모음 프로그램
예시:
- 형태소 분석 코드 실행
KoNLPy로 사용할 수 있는 형태소 분석기는 OKT, Mecab, Komoran, Hannanum, Kkma 등이 제공된다.
KoNLPy에서 다양한 형태소 분석기를 사용할 수 있으며 각각의 도구가 제공된다는 의미이다.
왜:
왜냐하면 분석기마다 성능과 특징이 다르기 때문에 상황에 맞게 선택해서 사용해야 하기 때문이다.
- 형태소 분석기: 텍스트를 형태소 단위로 나누는 도구
예시:
- Mecab → 빠른 처리
- Kkma → 정확한 분석
불용어는 분석에 큰 의미가 없는 단어를 의미한다.
불용어(stopwords)가 텍스트 분석에서 특별한 정보나 의미를 제공하지 않는 단어를 의미한다는 뜻이다. 즉, 문장을 구성하는 데는 필요하지만 분석 목적에서는 중요한 특징을 제공하지 않는 단어들을 의미하며, 데이터 처리 과정에서 제거 대상이 되는 단어를 정의하는 개념이다.
왜:
왜냐하면 불용어는 거의 모든 문장에 반복적으로 등장하지만 특정한 의미를 구분하는 데 기여하지 않기 때문에 모델이 중요 단어를 잘못 판단하게 만들 수 있기 때문이다. 따라서 분석 정확도를 높이기 위해 의미 없는 단어를 제거하는 과정이 필요하다.
- 불용어(Stopwords): 분석에서 의미 없는 단어
- 분석(Analysis): 데이터를 해석하는 과정
예시:
- the, is, a → 영어 불용어
예를 들어, the, a, an, is, I, my 등과 같이 문장을 구성하는 필수 요소지만 문맥적으로 큰 의미가 없는 단어가 이에 속한다.
영어에서 the, a 같은 단어는 문장 구성에는 필요하지만 실제 의미 전달에는 큰 역할을 하지 않기 때문에 불용어로 분류된다는 의미이다.
왜:
왜냐하면 이러한 단어들은 문장 구조를 유지하기 위해 존재하지만 내용 자체를 구분하거나 의미를 결정하는 데 중요한 역할을 하지 않기 때문이다.
- 문맥(Context): 문장의 전체 의미 흐름
- 필수 요소: 문장을 구성하는 기본 구성 요소
예시:
- “I love you” → 핵심 의미는 love, you
이런 불용어는 텍스트에 빈번하게 나타나기 떄문에 중요한 단어로 인지될 수 있다.
불용어가 자주 등장하기 때문에 분석 과정에서 중요한 단어처럼 잘못 판단될 수 있다
왜:
왜냐하면 단어 빈도 기반 분석에서는 많이 등장하는 단어를 중요하게 판단하는데, 불용어는 등장 횟수가 많아서 모델이 핵심 단어로 착각할 수 있기 때문이다.
- 빈번하게(Frequently): 자주 나타나는
- 인지(Recognition): 판단하거나 인식하는 과정
예시:
- the가 가장 많이 등장 → 중요 단어로 오판
하지만 실질적으로는 중요한 단어가 아니므로 사전에 제거해줘야 한다.
불용어는 실제 의미를 전달하지 않기 때문에 분석 전에 반드시 제거해야 한다
왜:
왜냐하면 불용어를 제거하지 않으면 모델이 중요 단어를 제대로 학습하지 못하고 성능이 떨어질 수 있기 때문이다.
- 사전 제거(Pre-removal): 분석 전에 제거
예시:
- 텍스트에서 the 삭제
한글에서 불용어를 제거하는 방법으로는 간단하게는 토큰화 후에 조사, 접속사 등을 제거하는 방법이 있다.
한국어에서는 토큰화 이후 조사나 접속사 같은 요소를 제거하여 불용어를 처리할 수 있다는 의미이다.
왜:
왜냐하면 한국어에서는 조사와 접속사가 문법적 역할만 하고 의미 전달에는 큰 영향을 주지 않는 경우가 많기 때문이다.
- 조사: 문법 관계 표시 단어
- 접속사(Conjunction): 문장을 연결하는 단어
예시:
- 는, 을, 그리고 제거
하지만 불용어를 제거하다 보면 조사나 접속사와 같은 단어들 뿐만 아니라 명사, 형용사와 같은 단어들 중에서 제거하고 싶은 단어들이 생기기도 한다.
단순한 불용어 제거만으로는 부족하고, 상황에 따라 의미 있는 단어 중에서도 제거하고 싶은 경우가 발생한다
왜:
왜냐하면 분석 목적에 따라 특정 단어가 불필요할 수 있기 때문에 사용자 정의가 필요하기 때문이다.
- 명사(Noun), 형용사(Adjective): 의미를 가지는 단어
예시:
- “제품” 반복 → 제거 필요
따라서 사용자가 직접 불용어사전을 만들어 정의된 불용어사전에 해당하는 단어가 존재하면 제거하는 방식으로 불용어를 처리한다.사용자 정의 불용어 사전을 만들어 해당 단어를 제거하는 방식으로 처리한다
왜:
왜냐하면 일반적인 불용어만으로는 부족하고, 분석 목적에 맞게 맞춤형 제거가 필요하기 때문이다.
- 불용어 사전(Stopword Dictionary): 제거할 단어 목록
예시:
- 특정 브랜드명 제거
토큰화 작업 전, 후에는 텍스트 데이터를 용도에 맞게 정제 및 정규화를 함께 진행한다.
토큰화 전후에 데이터 정제와 정규화를 같이 수행해야 한다
왜:
왜냐하면 데이터 품질을 높여야 분석 정확도가 올라가기 때문이다.
- 정제(Cleansing): 불필요 제거
- 정규화(Normalization): 형태 통일
정제 : 불필요한 단어 또는 문자를 제거하는 과정.
불필요한 요소를 제거하는 과정이다.
왜:
노이즈 제거를 위해 필요하다.
- 불필요 데이터: 의미 없는 요소
예시:
- 특수문자 제거
정규화: 같은 의미이면서 표현이 다른 단어를 통합하는 과정.
다른 표현을 하나로 통일하는 과정이다.
왜:
같은 의미를 하나로 묶어 분석 정확도를 높이기 위해
- 통합(Unification): 하나로 묶기
예시:
- “USA” → “United States”
규칙 기반 단어 통합: 같은 의미를 가지고 있음에도 표기가 다른 단어를 하나의 단어로 정규화하는 방법.
규칙을 기반으로 단어를 통합하는 방법이다.
왜:
일관성 있는 분석을 위해
- 규칙 기반(Rule-based): 미리 정의된 기준
예시:
- “AI”, “인공지능” 통합
대소문자 통일 : 대문자에서 소문자로 변환.
문자를 동일하게 맞추는 과정이다.
왜:
같은 단어를 다르게 인식하지 않게 하기 위해
- Apple → apple
불필요한 단어 제거 : 불용어와는 달리 빈도 수가 작거나 길이가 짧은 단어를 제거.
불용어 외에도 필요 없는 단어 제거
왜:
분석 정확도 향상
예시:
- “a”, “x” 제거
정규표현식 이용 : 문자열을 처리하는 방법 중의 하나로 특정한 조건의 문자를 검색하거나 치환하는 과정을 매우 간편하게 처리할 수있도록 하는 순다. 정규표현식으로 규칙을 정의하여 한 번에 제거하거나 치환하는 방법.
정규표현식은 문자열 패턴을 이용해 데이터를 처리하는 방법이다.
왜:
복잡한 문자열 처리를 자동화하기 위해
- 정규표현식(Regex): 패턴 기반 문자열 처리
예시:
- 숫자 제거: [0-9]
어간(단어의 핵심 부분)추출은 정해진 규칙만 보고 단어의 어미를 자르는 어림 짐작의 작업이고, 표제어는 한글로는 표제어 또는 기본 사전형 단어 정도의 의미이며, 표제어 추출은 단어들로부터 표제어를 찾아가는 과정이다.
어간추출은 단순 규칙 기반, 표제어 추출은 사전 기반 처리이다.
왜:
정확한 의미 분석을 위해 구분 필요
- 어간(Stemming)
- 표제어(Lemmatization)
예시:
- running → run
텍스트 인코딩 또는 문자 인코딩은 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호인 0과 1사이의 값(수치화=벡터화)으로 만드는 것을 의미한다.
텍스트를 숫자로 바꾸는 과정이다.
왜:
컴퓨터는 숫자만 처리 가능
- 인코딩(Encoding): 데이터 변환
- 벡터(Vector): 숫자 배열
예시:
- “apple” → [1,0,0...]
텍스트 인코딩 방법을 구분하는 기준은 다양하게 존재한다.
텍스트를 숫자로 변환하는 방법(인코딩)은 하나가 아니라 여러 기준과 방식으로 나뉠 수 있다. 즉, 어떤 기준으로 표현하느냐에 따라 서로 다른 방식의 인코딩 방법이 존재한다는 것을 말한다.
왜:
왜냐하면 텍스트 데이터는 표현 방식에 따라 정보 손실, 의미 보존, 계산 효율 등이 달라지기 때문에 목적에 맞게 다양한 인코딩 방법을 선택해야 하기 때문이다. 따라서 하나의 방법만 사용하는 것이 아니라 상황에 맞게 구분해서 사용해야 한다.
- 인코딩(Encoding): 데이터를 숫자로 변환하는 과정
- 기준(Criterion): 구분하거나 판단하는 근거
예시:
- 빈도 기반 vs 의미 기반 인코딩
희소표현(Sparse Representation):기존 차원을 유지하면서 수치화하는 방법, 수치화된 값(벡터, 행렬) 대부분이 0으로 표현됨. 희소표현의 차원은 고차원(단어 집합의 크기)으로 표현된다. 희소표현의 방법은 Bag of Words(BOW), TF-IDF, 원핫인코딩이 있다.
희소표현이란 단어 개수만큼 차원을 유지하면서 텍스트를 숫자로 표현하는 방식이며, 대부분 값이 0으로 채워지는 특징을 가진다는 의미이다.
왜:
왜냐하면 모든 단어를 각각의 차원으로 표현하기 때문에 실제 문장에 등장하지 않는 단어는 0으로 채워지게 되어 데이터가 대부분 0으로 구성되는 구조가 되기 때문이다.
- Sparse Representation: 값 대부분이 0인 표현 방식
- 고차원(High Dimension): 차원이 매우 큰 상태
- Bag of Words(BOW): 단어 빈도 기반 표현
- TF-IDF: 중요도를 반영한 가중치
- 원핫인코딩(One-Hot Encoding): 하나만 1, 나머지 0
예시:
- [0,0,1,0,0,0...] 형태 벡터
밀집표현은 정의된 차원 수만큼 수치화된 값이 실수로 표현되는 방법이다. 저차원으로 표현된다. 방법은 워드임베딩, 워드투벡터 잠재의미 분석(LSA), BERT, 글로브 등이 있다.
밀집표현이란 고정된 작은 차원에서 모든 값이 실수로 채워지는 방식이며, 단어의 의미를 반영하는 표현 방법이라는 의미이다.
왜:
왜냐하면 희소표현은 의미를 반영하지 못하고 차원이 너무 크기 때문에, 이를 개선하여 의미를 유지하면서 차원을 줄이기 위해 밀집표현이 등장했기 때문이다.
- Dense Representation: 값이 꽉 찬 표현
- 저차원(Low Dimension): 차원이 작은 상태
- 워드임베딩(Word Embedding): 단어를 벡터로 표현
- BERT(Bidirectional Encoder Representations from Transformers): 양방향 문맥 기반 모델
예시:
- “king” ≈ “queen” 가까운 벡터
희소표현 수치화 방법
Bag of Words: 단어들의 순서는 전혀 고려하지 않고, 단어들의 출현 빈도에만 집중하는 텍스트 데이터의 수치화 표현 방법.
BOW가 단어 순서를 무시하고 단어가 몇 번 등장했는지만을 기준으로 텍스트를 표현하는 방법이다.
왜:
왜냐하면 구현이 간단하고 계산이 빠르기 때문에 기본적인 텍스트 표현 방법으로 널리 사용되기 때문이다.
- Bag: 순서 없는 집합
- Words: 단어
예시:
- “나는 밥 먹었다” → {나는:1, 밥:1, 먹었다:1}
엔그램(N-Gram): Bow를 개선하여 단어 하나만을 보는 것이 아니라 주변의 n-1개 단어를 뭉쳐서 표현하는 방법(토큰화 방법 혹은 언어 모델).
N-gram이 단어 하나가 아니라 여러 단어를 묶어서 문맥을 반영하는 방법이다.
왜:
왜냐하면 BOW는 순서를 고려하지 않기 때문에 문맥 정보를 잃게 되는데, 이를 보완하기 위해 단어 묶음을 사용하기 때문이다.
- N-Gram: N개의 단어 묶음
예시:
- “나는 밥 먹었다” → (나는 밥), (밥 먹었다)
문서단어행렬(DTM): 다수의 문서에서 등장하는 각 단어들의 빈도를 행렬로 표현하여 문서들을 서로 비교할 수 있도록 수치화할 수 있는 방법, 각 문서에 대한 BOW를 하나의 행렬로 만듦.
여러 문서에서 단어 빈도를 행렬 형태로 표현하여 문서 간 비교가 가능하도록 만드는 방법이다.
왜:
왜냐하면 문서를 숫자로 표현해야 머신러닝에서 비교나 계산이 가능하기 때문이다.
- DTM(Document-Term Matrix): 문서-단어 행렬
예시:
- 문서1, 문서2 → 단어별 빈도 행렬
단어빈도-역 문서빈도 : 단어의 빈도와 역 문서빈도(문서의 빈도에 특정 식을 취함)를 사용하여 문서단어행렬(DTM)내의 각 단어들마다 중요한 정도를 가중치로 주는 방법, 핵심 단어 추출을 위해 단어의 빈도수(TF)와 문서 내 빈도수의 역수(IDF)를 이용하여 중요도 산출.
TF-IDF가 단어의 빈도와 희귀성을 동시에 고려하여 중요도를 계산하는 방법이다.
왜:
왜냐하면 단순 빈도만 보면 불용어가 중요하게 보일 수 있기 때문에, 자주 등장하지 않는 단어에 더 높은 가중치를 주기 위해서이다.
- TF(Term Frequency): 단어 빈도
- IDF(Inverse Document Frequency): 역문서빈도
예시:
- “AI” → 높은 중요도
원핫인코딩 : 단어 집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 단어의 인덱스에 1의 값을, 다른 인덱스에는 0을 부여하는 단어의 수치화 방법, 희소표현.
특정 단어 하나만 1로 표시하고 나머지는 0으로 표현하는 방식이다.
왜:
왜냐하면 단어를 구별하기 가장 단순한 방법이기 때문이다.
- One-Hot: 하나만 활성화
예시:
- apple → [0,0,1,0]
위 방법들은 단어표현 관점에서 단어만 보고 수치화를 수행하기 때문에 국소표현 혹은 빈도수 기반 기법이라고도 한다.
BOW, TF-IDF 같은 방법들이 단어 자체만 보고 표현하기 때문에 국소적 표현이다.
왜:
왜냐하면 문맥이나 의미를 고려하지 않기 때문이다.
- 국소표현(Local Representation): 단어 단위 표현
예시:
- 단어만 보고 판단
밀집표현 수치화(임베딩) 방법.
기존의 희소표현처럼 대부분이 0으로 이루어진 방식이 아니라, 모든 값이 의미를 가지는 실수로 채워진 벡터로 단어를 표현하는 방식 즉, 단어의 의미를 반영한 수치화 방법을 설명하는 구간이다.
왜:
왜냐하면 희소표현(BOW, TF-IDF 등)은 단어의 빈도만을 기준으로 하기 때문에 의미적 관계를 반영하지 못하고 차원이 매우 커지는 문제가 있기 때문이다. 이를 해결하기 위해 단어를 저차원 공간에서 의미 기반으로 표현하는 밀집표현이 등장했으며, 이 방법을 통해 단어 간 관계를 학습할 수 있기 때문이다.
- 밀집표현(Dense Representation): 대부분의 값이 0이 아닌 실수로 채워진 벡터 표현 방식
- 수치화(Numericalization): 데이터를 숫자로 변환하는 과정
- 임베딩(Embedding): 고차원 데이터를 저차원 벡터 공간에 매핑하는 기술
예시:
- “king” → [0.25, -0.13, 0.78, …] (의미 포함 벡터)
워드임베딩 : 단어 간 유사도 및 중요도 파악을 위해 단어를 저차원의 실수 벡터로 맵핑하여 의미적으로 비슷한 단어를 가깝게 배치하는 수치화 방법.
워드임베딩(Word Embedding)이 단어를 저차원의 실수 벡터로 변환하여 단어 간의 의미적 유사성과 중요도를 반영하는 방법이며, 의미가 비슷한 단어들은 벡터 공간에서 서로 가까운 위치에 배치되도록 만드는 기술이라는 의미이다.
왜:
왜냐하면 기존의 희소표현 방식에서는 단어 간 관계를 전혀 반영하지 못하여 “자동차”와 “차량”처럼 의미가 비슷한 단어도 완전히 다른 것으로 처리되기 때문이다. 이를 해결하기 위해 의미 기반 거리 개념을 도입하여 단어 간 관계를 학습할 수 있도록 워드임베딩이 필요하다.
- 워드임베딩(Word Embedding): 단어를 의미 기반 벡터로 변환하는 기술
- 맵핑(Mapping): 하나의 값을 다른 공간으로 대응시키는 것
- 유사도(Similarity): 두 대상이 얼마나 비슷한지 나타내는 정도
예시:
- king - man + woman ≈ queen (벡터 연산 가능)
워드투벡터 : 단어 자체가 가지는 의미를 다차원 공간에서 벡터화하는 비지도학습 기반의 수치화 방법, 텍스트 문서(말뭉치)를 이용해 학습하고, 한 단어에 대한 유사도를 측정하여 관련 단어로 수치화함, 워드투벡터는 CBOW와 Skip Gram 알고리즘이 있다.
Word2Vec이 단어의 의미를 다차원 벡터로 표현하는 비지도학습 기반 모델이며, 말뭉치를 이용하여 학습하고 단어 간 유사도를 기반으로 벡터를 생성하는 방법이라는 의미이다. 또한 Word2Vec은 CBOW와 Skip-Gram이라는 두 가지 알고리즘으로 구성된다는 것을 설명한다.
왜:
왜냐하면 단어의 의미는 단어 자체가 아니라 주변 단어와의 관계(문맥)에서 결정되기 때문이다. 따라서 Word2Vec은 문맥을 기반으로 단어를 학습하여 의미를 반영한 벡터를 생성하며, 이를 통해 단어 간 관계를 수치적으로 표현할 수 있다.
- Word2Vec: 단어를 벡터로 변환하는 모델
- 비지도학습(Unsupervised Learning): 정답 없이 데이터만으로 학습하는 방식
- 말뭉치(Corpus): 학습에 사용되는 텍스트 데이터 집합
예시:
- “서울”과 “한국” → 가까운 벡터
CBOW : 문맥 단어를 보고 기준 단어가 무엇인지 예측하는 모델. Skip Gram : 기준 단어를 보고 어떤 문맥 단어가 등장할지 예측하는 모델.
CBOW와 Skip-Gram의 차이를 설명하며, CBOW는 주변 단어들을 이용하여 중심 단어를 예측하는 방식이고, Skip-Gram은 중심 단어를 이용하여 주변 단어들을 예측하는 방식이다.
왜:
왜냐하면 단어의 의미를 학습하는 방법에는 방향이 다를 수 있기 때문이다. 주변 → 중심 예측과 중심 → 주변 예측은 각각 다른 방식으로 문맥 정보를 학습하며, 데이터 상황에 따라 성능 차이가 발생할 수 있기 때문에 두 가지 방식이 존재한다.
- CBOW(Continuous Bag Of Words): 주변 단어 → 중심 단어 예측
- Skip-Gram: 중심 단어 → 주변 단어 예측
예시:
- CBOW: “나는 __ 먹었다” → “밥”
- Skip-Gram: “밥” → “먹었다”
워드투벡터의 장점은 단어 간 유사도 측정. 워드투벡터의 단점은 주변 단어(맥락 단어) 몇 개만 활용하여 결과가 도출되기 때문에 문서 전체의 단어 정보가 반영되기 어렵다.
Word2Vec의 장점은 단어 간 의미적 유사도를 잘 반영할 수 있다는 것이고, 단점은 일부 문맥만을 사용하기 때문에 전체 문서의 의미를 충분히 반영하지 못한다는 의미이다.
왜:
왜냐하면 Word2Vec은 특정 단어 주변의 제한된 범위(context window)만을 기반으로 학습하기 때문에 문서 전체의 흐름이나 장기적인 의미 관계를 반영하는 데 한계가 있기 때문이다.
- 맥락(Context): 단어 주변의 환경
- 유사도(Similarity): 단어 간 의미적 거리
예시:
- 문장 전체 의미보다 부분 문맥 중심 학습
잠재의미 분석(LSA): DTM이나 TF-IDF는 단어의 빈도 수를 이용한 수치화 방법이기 때문에 단어의 의미를 고려하지 않는 단점을 개선하여 잠재된 의미를이끌어내는 방법이다.
잠재의미분석(LSA, Latent Semantic Analysis)이 기존의 DTM(Document-Term Matrix)이나 TF-IDF처럼 단어의 단순 등장 빈도만을 기반으로 하는 수치화 방식이 가지는 “단어 의미를 반영하지 못하는 한계”를 해결하기 위해 등장한 방법이며, 문서와 단어 사이에 숨겨져 있는 잠재적인 의미 구조를 수학적으로 추출하는 분석 기법이라는 뜻이다.
왜:
왜냐하면 단어 빈도 기반 방법은 “자동차”와 “차량”처럼 의미가 동일하거나 유사한 단어를 전혀 다른 것으로 취급하는 문제가 발생하기 때문이다. 따라서 단어 간 의미적 관계를 반영하지 못하는 한계를 극복하기 위해 차원을 축소하면서 숨겨진 의미를 추출하는 LSA가 필요하게 된다.
- LSA(Latent Semantic Analysis): 잠재된 의미를 분석하는 기법
- Latent: 겉으로 드러나지 않은 숨겨진 상태
- Semantic: 의미와 관련된 정보
- DTM: 문서와 단어를 행렬로 표현한 구조
- TF-IDF: 단어 중요도를 계산하는 기법
예시:
- “자동차”와 “차량” → 같은 의미 공간에서 가까운 위치로 표현
장점은 문서 전체의 통계적인 정보를 활용, 단점은 단어 간 유사도를 측정하기 어려움.
LSA의 장점은 전체 문서 집합의 통계적 정보를 활용하여 의미를 분석할 수 있다는 점이며, 단점은 단어 간 직접적인 유사도를 계산하는 데에는 적합하지 않다는 의미이다.
왜:
왜냐하면 LSA는 행렬 분해(SVD)를 통해 문서 전체 구조를 기반으로 의미를 추출하는 방식이기 때문에 문서 수준의 의미 파악에는 강하지만, 단어 간 거리나 관계를 직접적으로 계산하는 방식은 아니기 때문에 단어 유사도 측정에는 한계가 존재하기 때문이다.
- 통계적 정보(Statistical Information): 전체 데이터에서 계산된 수치적 특징
- 유사도(Similarity): 두 단어가 얼마나 의미적으로 가까운지 나타내는 값
예시:
- 문서 주제 분석은 잘됨
- 단어 간 거리 계산은 어려움
글로브(Glove): 잠재의밉분석(LSA)과 워드투벡터의 장점을 합쳐, 단어 간 유사도도 측정할 수 있고 문서 전체의 통계적인 정보도 활용하는 수치화 방법.
글로브(GloVe, Global Vectors)가 LSA와 Word2Vec의 장점을 결합하여 만든 임베딩 방법으로, 단어 간 유사도를 반영하면서 동시에 전체 문서의 통계적 정보까지 고려할 수 있는 수치화 방식이라는 의미이다.
왜:
왜냐하면 Word2Vec은 단어 간 관계는 잘 표현하지만 전체 문서 정보를 반영하지 못하고, LSA는 전체 문서 정보는 반영하지만 단어 간 유사도 표현이 약하기 때문에, 이 두 가지의 장점을 동시에 활용하기 위해 GloVe가 개발되었기 때문이다.
- GloVe(Global Vectors): 전체 통계 기반 벡터 표현
- Global: 전체적인 범위
- Vector: 숫자 배열
예시:
- “king - man + woman ≈ queen” 관계 + 전체 문서 정보 반영
ELMo : 글로브의 다의어에 대한 의미 분석이 어려운 한계점을 개선하여, 문장의 문맥을 보고 글자는 같지만 뜻이 다른 두 단어의 벡터를 다르게 표시할 수 있는 수치화 방법(두 가지 이상의 뜻을 가진 다의어의 경우 어떠한 뜻으로 이용되었는지를 파악), 사전 훈련된 언어 모델을 사용.
ELMo(Embeddings from Language Models)가 기존 임베딩 방식이 가진 “다의어 문제”를 해결하기 위해 등장한 모델로, 같은 단어라도 문맥에 따라 서로 다른 벡터로 표현할 수 있는 수치화 방법이며, 사전에 학습된 언어 모델을 기반으로 동작한다는 의미이다.
왜:
왜냐하면 기존 임베딩은 하나의 단어에 하나의 벡터만 부여하기 때문에 “bank”처럼 의미가 여러 개인 단어를 구분하지 못하는 문제가 있었기 때문이다. 이를 해결하기 위해 문맥 기반으로 의미를 다르게 반영하는 ELMo가 필요하게 되었다.
- ELMo(Embeddings from Language Models): 언어 모델 기반 임베딩
- 다의어(Polysemy): 하나의 단어가 여러 의미를 가지는 현상
- 문맥(Context): 단어가 사용된 주변 환경
예시:
- “bank(은행)” vs “bank(강둑)” → 다른 벡터
위 방법들은 단어표현 관점에서 주변을 참고하여 단어를 수치화하기 때문에 분산표현방법혹은 예측 기반 기법이라고도 한다.
워드임베딩, Word2Vec, GloVe, ELMo 같은 방법들이 단어를 단순히 독립적으로 보는 것이 아니라 주변 단어(문맥)를 참고하여 의미를 학습하고 수치화하기 때문에 이러한 방법들을 분산표현(distributed representation) 또는 예측 기반 기법이라고 부른다는 의미이다.
왜:
왜냐하면 이 방법들은 단어 하나만 보고 판단하는 것이 아니라 주변 단어와의 관계를 기반으로 단어의 의미를 분산된 형태로 표현하기 때문이다. 또한 단어를 예측하는 방식으로 학습되기 때문에 예측 기반 기법이라는 이름이 붙게 된다.
- 분산표현(Distributed Representation): 의미를 여러 차원에 분산하여 표현
- 예측 기반 기법(Predictive Model): 단어를 예측하면서 학습하는 방식
예시:
- “나는 밥을 먹었다” → 밥 주변 단어로 의미 학습
텍스트 분석
텍스트 분석은 텍스트로부터 의미있는 추세와 패턴 및 지식을 발견하기 위하여 데이터 마이닝, 머신러닝(기계학습)등을 반복적으로 수행함으로써 의미있는 결과를 얻어내는 과정이다.
텍스트 분석이란 단순히 텍스트를 읽는 것이 아니라, 텍스트 데이터 안에 존재하는 의미 있는 변화 흐름(추세), 반복되는 특징(패턴), 그리고 새로운 지식까지 발견하기 위해 데이터 마이닝과 머신러닝 같은 다양한 기법을 반복적으로 적용하여 최종적으로 가치 있는 결과를 도출하는 과정이라는 의미이다.
왜:
왜냐하면 텍스트 데이터는 비정형 데이터이기 때문에 한 번의 분석으로는 의미를 정확하게 파악하기 어렵고, 여러 번의 모델 적용과 검증 과정을 통해 점진적으로 패턴과 의미를 찾아야 하기 때문이다. 따라서 반복적인 분석 과정을 통해 점점 더 정교한 결과를 얻을 수 있도록 하는 것이 핵심이다.
- 텍스트 분석(Text Analysis): 텍스트에서 의미를 추출하는 분석 과정
- 추세(Trend): 시간이나 데이터 흐름에 따른 변화 방향
- 패턴(Pattern): 반복적으로 나타나는 데이터의 특징
- 데이터 마이닝(Data Mining): 데이터에서 유용한 정보 추출
- 머신러닝(Machine Learning): 데이터를 통해 학습하는 알고리즘
예시:
- 고객 리뷰 분석 → 불만 증가 추세 발견
일반적으로 텍스트 분석에서는 의미있는 결과를 도출하기 위해 토픽모델링, 감성분석, 문서분류, 문서군집 등을 활용할 수 있다.
텍스트 분석에서 의미 있는 결과를 얻기 위해 여러 가지 대표적인 분석 기법들이 사용되며, 그 중 대표적으로 토픽모델링, 감성분석, 문서분류, 문서군집 등이 있다
왜:
왜냐하면 텍스트 데이터는 다양한 형태와 목적을 가지기 때문에 하나의 방법으로는 모든 분석을 수행할 수 없고, 분석 목적에 따라 적절한 기법을 선택해야 정확한 결과를 얻을 수 있기 때문이다.
- 토픽모델링(Topic Modeling): 주제 추출
- 감성분석(Sentiment Analysis): 감정 분류
- 문서분류(Classification): 카테고리 분류
- 문서군집(Clustering): 유사 문서 그룹화
예시:
- 리뷰 → 감성분석
- 뉴스 → 문서분류
토픽모델링은 비 구조화된 텍스트 자료들의 집합으로부터 의미있는 토픽(주제)들을 추출하는 확률 모델 방법론이다.
토픽모델링이 비정형 텍스트 데이터 집합에서 숨겨진 주제들을 확률적으로 추정하여 추출하는 모델 기반 분석 방법이라는 의미이다. 즉, 문서들 안에 어떤 주제가 숨어 있는지를 수학적으로 찾아내는 기법이다.
왜:
왜냐하면 텍스트 데이터는 사람이 직접 읽지 않으면 주제를 파악하기 어렵기 때문에, 단어들의 출현 확률과 관계를 이용하여 자동으로 주제를 추출하는 모델이 필요하기 때문이다.
- Topic: 주제
- Modeling: 모델링, 구조를 만드는 과정
- 확률 모델(Probabilistic Model): 확률 기반 분석 모델
예시:
- 뉴스 데이터 → 정치, 경제, 사회 주제 자동 분류
예를 들어 개에 대한 문서에서는 개와 뼈다귀라는 단어가 더 자주 등장하는 반면, 고양이에 대한 문서에서는 고양이와 야옹이 더 자주 등장할 것이고, "그", "~이다"와 같은 단어는 양쪽 모두에게 자주 등장할 것이다.
특정 주제에 따라 등장하는 단어들이 다르며, 공통적으로 등장하는 단어도 존재한다는 것을 설명하는 예시이다. 즉, 주제별로 특징적인 단어가 다르게 나타난다
왜:
왜냐하면 특정 주제에 관련된 문서는 그 주제를 설명하는 단어들이 반복적으로 등장하기 때문에, 이를 통해 주제를 구분할 수 있기 때문이다. 반면 일반적인 단어는 모든 문서에 등장하기 때문에 주제 구분에는 도움이 되지 않는다.
- 등장 빈도(Frequency): 단어가 나타나는 횟수
- 공통 단어(Common Words): 여러 문서에 공통 등장
예시:
- 개 문서 → 개, 뼈
- 고양이 문서 → 고양이, 야옹
이렇게 함께 자주 등장하는 단어들은 대게 유사한 의미를 지니게 되는데 이를 잠재적인 "주제"로 정의할 수 있다.
자주 같이 등장하는 단어들은 서로 의미적으로 관련이 있기 때문에 이를 하나의 주제로 정의할 수 있다
왜:
왜냐하면 단어들은 독립적으로 존재하는 것이 아니라 특정 의미 그룹 안에서 함께 나타나기 때문에, 이 관계를 이용하면 자동으로 주제를 추출할 수 있기 때문이다.
- 잠재적(Latent): 숨겨진
- 주제(Topic): 문서의 핵심 내용
예시:
- “개 + 뼈” → 반려동물 주제
즉 개와 뼈다귀를 하나의 주제로 묶고, 고양이와 야옹을 또 다른 주제로 묶는 모델을 구성할 수 있는데 바로 이것이 토픽 모델의 개략적인 개념이다.
토픽모델링이 단어들을 묶어서 주제를 구성하는 방식이라는 것을 설명하며, 단어들의 그룹을 통해 주제를 형성하는 모델이라는 의미이다.
왜:
왜냐하면 단어 단위로는 의미를 파악하기 어렵지만, 여러 단어를 묶으면 그 그룹이 하나의 의미를 가지게 되기 때문이다.
- 모델(Model): 데이터 패턴을 설명하는 구조
예시:
- “고양이 + 야옹” → 고양이 주제
토픽모델링 알고리즘. 토픽모델링 알고리즘 : LSA, LDA, BERT.
토픽모델링을 수행하는 대표적인 알고리즘으로 LSA, LDA, BERT가 있다
왜:
왜냐하면 토픽을 추출하는 방식에도 여러 알고리즘이 존재하며, 각각의 특징에 따라 다른 결과를 얻을 수 있기 때문이다.
- LDA(Latent Dirichlet Allocation): 확률 기반 토픽 모델
- LSA : 행렬 분해로 숨겨진 의미 구조 찾는 통계 기반 방법
- BERT: 문맥 기반 딥러닝 모델
예시:
- LDA → 주제 분포 추출
감성분석:문장의 의미를 파악하여 글의 내용에 긍정/부정, 좋은/나쁨을 분류하거나 만족/불만족 강도를 지수화하여 고객의 감성 트랜드를 시계열적으로 분석하고 고객 감성 변화에 기업의 신속한 대응 및 부정적인 의견의 확산을 방지하기 위한 마이닝 기법.
감성분석이 텍스트에서 감정을 분석하여 긍정/부정 등을 분류하고, 이를 시간 흐름에 따라 분석하여 고객 감정 변화를 파악하는 기술이라는 의미이다.
왜:
왜냐하면 기업은 고객의 감정을 빠르게 파악하고 대응해야 경쟁력을 유지할 수 있기 때문에, 감성 데이터를 분석하는 것이 매우 중요하기 때문이다.
- 감성(Sentiment): 감정 상태
- 시계열(Time Series): 시간 흐름 데이터
예시:
- 리뷰 → 긍정 80%, 부정 20%
문서분류:문서를 지정한 카테고리로 분류하는 기법. 머신러닝 기법: 서포트벡터머신, 나이브 베이즈, CNN, RNN, LSTM 등 활용.
문서를 특정 카테고리로 자동 분류하는 기술이며, 이를 위해 다양한 머신러닝 모델이 사용된다는 의미이다.
왜:
왜냐하면 문서가 많아질수록 사람이 직접 분류하기 어렵기 때문에 자동화된 모델이 필요하기 때문이다.
- SVM(Support Vector Machine): 분류 알고리즘
- CNN(Convolutional Neural Network): 합성곱 신경망
- RNN(Recurrent Neural Network): 순환 신경망
- LSTM(Long Short-Term Memory): 장기 기억 모델
예시:
- 이메일 → 스팸 / 일반 분류
문서군집 : 문서의 단어 사이 유사도를 산출하여 단어의 관계를 파악하고 비슷한 의미를 가지는 단어 간에 군집을 구성하는 기법.
문서군집이 단어 간 유사도를 계산하여 비슷한 의미를 가진 문서나 단어를 그룹으로 묶는 기술이라는 의미이다.
왜:
왜냐하면 라벨이 없는 데이터에서도 유사성을 기반으로 그룹을 만들면 데이터 구조를 이해할 수 있기 때문이다.
- 군집(Cluster): 비슷한 데이터 집합
- 유사도(Similarity): 데이터 간 거리
예시:
- 비슷한 뉴스 기사 묶기
텍스트 시각화
텍스트 시각화는 분석된 결과에 대한 의미 분석 혹은 시각적 표현을 위해 사용자 관점에서 통찰력을 얻는 과정이며, 시각화하는 기법에는 워드클라우드와 의미연결망분석기법이있다.
텍스트 시각화(Text Visualization)가 단순히 데이터를 그래프로 표현하는 것이 아니라, 분석된 텍스트 결과를 사람이 쉽게 이해할 수 있도록 시각적인 형태로 표현하여 의미를 해석하고 새로운 인사이트(통찰력)를 얻는 과정이라는 의미이다. 또한 이러한 시각화 방법에는 워드클라우드와 의미연결망분석과 같은 기법들이 포함된다는 것을 설명한다.
왜:
왜냐하면 텍스트 분석 결과는 숫자나 통계값으로만 보면 직관적으로 이해하기 어렵기 때문에, 시각적인 형태로 표현해야 사람이 빠르게 패턴과 의미를 파악할 수 있기 때문이다. 특히 데이터가 많을수록 시각화를 통해 핵심 정보를 빠르게 파악하는 것이 중요하기 때문에 이 과정이 필요하다.
- 텍스트 시각화(Text Visualization): 텍스트 데이터를 시각적으로 표현하는 과정
- 통찰력(Insight): 데이터에서 얻는 깊은 이해
- 워드클라우드(Word Cloud): 단어 빈도를 시각적으로 표현
- 의미연결망분석(Semantic Network Analysis): 단어 간 관계 분석
예시:
- 리뷰 데이터 → 키워드 시각화
- 뉴스 데이터 → 핵심 주제 시각화
워드클라우드 : 메타 데이터에서 얻어진 단어들을 분석하여 중요도나 인기도를 고려해 시각적으로 늘어 놓아 웹 사이트에 표시하는 방법, 인기있거나 중요한 단어를 한눈에 찾아볼 수있도록 알파벳 순서로 단어들을 나열하거나, 중요한 내용들은 폰트를 더 크고 굵게 또는 하이라이트를 주는 방식으로 시각화되어 있는 단어들의 모임.
워드클라우드가 텍스트 데이터에서 추출된 단어들을 중요도나 등장 빈도에 따라 시각적으로 배치하여 표현하는 방법이며, 중요한 단어일수록 더 크게 표시하거나 강조하여 한눈에 핵심 키워드를 파악할 수 있도록 하는 시각화 기법이라는 의미이다.
왜:
왜냐하면 텍스트 데이터는 길고 복잡하기 때문에 어떤 단어가 중요한지 바로 파악하기 어렵지만, 단어 크기나 강조를 통해 시각적으로 표현하면 사용자가 빠르게 핵심 단어를 인식할 수 있기 때문이다. 특히 빈도 기반 분석 결과를 직관적으로 전달하기 위해 워드클라우드가 매우 효과적이다.
- 메타데이터(Metadata): 데이터를 설명하는 데이터
- 중요도(Importance): 데이터의 핵심 정도
- 인기도(Popularity): 얼마나 많이 사용되었는지
- 하이라이트(Highlight): 강조 표시
예시:
- “맛있다”가 크게 표시 → 긍정 리뷰 많음
- “불만” 크게 표시 → 문제 존재
의미연결망분석: 언어로 된 텍스트로부터 의미를 나타낼 만한 개념을 단어의 형태로 추출하고, 그들 간의 동시 출현과 같은 연관관계를 토대로 네트워크를 구성하여 텍스트의 의미적 내용을 분석하는 방법, 의미연결망분석을 통해 중심성 분석 및 핵심어 사이의 관계성을 파악하여 네트워크 시각화 수행.
의미연결망분석(Semantic Network Analysis)이 텍스트에서 의미 있는 단어들을 추출하고, 이 단어들이 함께 등장하는 관계를 기반으로 네트워크 구조를 만들어 텍스트의 의미를 분석하는 방법이며, 중심성 분석 등을 통해 중요한 단어와 그 관계를 파악하는 기법이라는 의미이다.
왜:
왜냐하면 단어는 단독으로 의미를 가지기보다 서로 연결된 관계 속에서 의미를 형성하기 때문에, 단어 간 연결 구조를 분석하면 텍스트의 핵심 구조와 의미 흐름을 더 정확하게 이해할 수 있기 때문이다. 특히 중심성이 높은 단어는 핵심 키워드로 활용될 수 있다
- 동시 출현(Co-occurrence): 두 단어가 함께 등장하는 현상
- 네트워크(Network): 노드와 연결 관계 구조
- 중심성(Centrality): 네트워크에서 중요한 정도
예시:
- “코로나” ↔ “백신” → 강한 연결
- 중심 단어 → 핵심 주제
사회연결망분석 기법을 텍스트 내 단어의 관계에 적용한 것이 의미연결망분석이며, 일정한 범위 내에서 어휘가 동시에 등장하면 서로 연결된 것으로 간주, 이 연결관계들을 분석하게 된다.
의미연결망분석이 사회연결망분석(SNA, Social Network Analysis)의 개념을 텍스트 데이터에 적용한 것이며, 일정한 범위 안에서 함께 등장하는 단어들을 연결된 것으로 보고 그 관계를 분석하는 방식이라는 의미이다.
왜:
왜냐하면 사람 간 관계를 분석하는 방식(SNA)을 단어 간 관계에도 적용하면 텍스트 안에서 단어들이 어떤 구조로 연결되어 있는지 파악할 수 있기 때문이다. 이를 통해 단순 빈도 분석보다 더 깊은 의미 구조를 이해할 수 있다.
- 사회연결망분석(SNA, Social Network Analysis): 사람 간 관계 분석 기법
- 어휘(Vocabulary): 단어 집합
- 연결관계(Relationship): 단어 간 연결 구조
예시:
- SNS 친구 관계 → 단어 관계로 변환
- “AI” ↔ “데이터” ↔ “분석” 연결
오피니언 마이닝
오피니언 마이닝은 사용자들이 특정 제품 및 서비스에 대해 평가한 리뷰, SNS 등에 게시한 텍스트, 녹음된 음성 등을 빠르게 분석하고, 유의미한 정보를 지능적으로 유추해내는 마이닝 기법이다.
오피니언 마이닝(Opinion Mining)이란 사용자들이 남긴 리뷰, SNS 글, 음성 데이터 등 다양한 형태의 의견 데이터를 빠르게 분석하여 그 안에 포함된 의미 있는 정보나 패턴을 자동으로 추출하고, 단순한 데이터가 아닌 해석 가능한 정보로 만들어내는 데이터 마이닝 기법이라는 의미이다. 즉, 사람들의 의견을 데이터로 보고 분석하는 기술이다.
왜:
왜냐하면 현대 사회에서는 사용자들이 남기는 리뷰나 SNS 데이터가 매우 많고, 이를 사람이 직접 하나씩 분석하는 것은 시간과 비용 측면에서 비효율적이기 때문이다. 따라서 자동으로 데이터를 분석하여 핵심 의견을 파악하고 의사결정에 활용하기 위해 이러한 기술이 필요하게 된다.
- 오피니언 마이닝(Opinion Mining): 사람의 의견을 분석하는 기술
- SNS(Social Network Service): 소셜 네트워크 서비스
- 유의미한 정보(Meaningful Information): 분석 가치가 있는 정보
- 유추(Inference): 데이터를 기반으로 결과를 추론하는 것
예시:
- “이 제품 좋아요” → 긍정 의견
- “배송 느림” → 부정 의견
해당 의견에서 긍정적인지 부정적인지에 대해 분석하고, 더 나아가 그원인을 도출하는 것을 목적으로 한다.
오피니언 마이닝이 단순히 의견을 읽는 것이 아니라, 해당 텍스트가 긍정인지 부정인지 판단하고, 그 감정이 발생한 이유까지 분석하여 원인을 찾아내는 것을 주요 목표로 한다는 의미이다.
왜:
왜냐하면 단순히 긍정/부정만 구분하는 것만으로는 충분하지 않고, 왜 그런 감정이 발생했는지를 알아야 실제 문제 해결이나 서비스 개선에 활용할 수 있기 때문이다. 따라서 감정 분석과 함께 원인 분석이 중요한 요소가 된다.
- 긍정(Positive): 좋은 평가
- 부정(Negative): 나쁜 평가
- 원인(Cause): 결과를 발생시킨 이유
예시:
- “직원이 불친절” → 부정 + 원인 분석
정치, 경제, 사회적인 특정 사안들이 발생했을 때, 여론이나 대중의 고나심도가 실시간으로 어떻게 변하는지 확인할 수 있다.
오피니언 마이닝을 활용하면 정치, 경제, 사회 등 특정 이슈가 발생했을 때 사람들의 관심도나 여론이 시간에 따라 어떻게 변화하는지를 실시간으로 분석할 수 있다
왜:
왜냐하면 SNS나 온라인 데이터는 실시간으로 생성되기 때문에 이를 분석하면 대중의 반응을 즉시 파악할 수 있고, 이를 통해 정책 결정이나 마케팅 전략 등에 빠르게 대응할 수 있기 때문이다.
- 여론(Public Opinion): 대중의 의견
- 관심도(Interest Level): 얼마나 관심을 가지는지
- 실시간(Real-time): 즉시 반영되는 시간
예시:
- 선거 이슈 → SNS 반응 분석
- 경제 정책 발표 → 여론 변화 분석
오피니언 마이닝은 흔히 감성분석라고도 불려지는 것으로, 텍스트에 나타난 사람들의 의견이나 성향 같은 주관적인 데이터를 분석하는 자연어 처리 기술이라고 할 수도 있어 텍스트 마이닝의 한 기법으로 정의되기도 한다.
오피니언 마이닝이 감성분석(Sentiment Analysis)과 동일하거나 매우 유사한 개념으로 사용되며, 텍스트에 나타난 사람들의 의견이나 감정 같은 주관적인 데이터를 분석하는 자연어처리(NLP) 기술로서 텍스트 마이닝의 한 부분으로 포함된다
왜:
왜냐하면 사람의 의견과 감정은 텍스트 형태로 표현되기 때문에 이를 분석하려면 자연어 처리 기술이 필요하고, 이러한 분석 과정이 텍스트 마이닝의 범주에 포함되기 때문이다. 따라서 오피니언 마이닝은 감성분석과 밀접하게 연결된 개념이다.
- 감성분석(Sentiment Analysis): 감정을 분석하는 기술
- 자연어 처리(NLP, Natural Language Processing): 인간 언어 처리 기술
- 주관적 데이터(Subjective Data): 개인의 의견이나 감정 데이터
예시:
- 리뷰 → 긍정/부정 분류
- SNS 글 → 감정 분석
예를 들어 고객이 호텔에 대한 피드백을 객실은 휼륭했어요, 그런데 직원이 불친절했어요 라고 남기면 오피니언 마이닝은 텍스트의 대상(직원)과 관련 평가(의견) 및 감정을 찾아, 긍정적인 평가인지 부정적인 평가인지를 판단할 수있게 한다.
실제 예시를 통해 오피니언 마이닝이 어떻게 작동하는지를 설명하며, 텍스트에서 특정 대상(객실, 직원)을 구분하고, 각각에 대한 평가와 감정을 분석하여 긍정 또는 부정으로 판단할 수 있다는 의미이다.
왜:
왜냐하면 하나의 문장 안에도 여러 대상과 감정이 동시에 존재할 수 있기 때문에, 이를 구분해서 분석해야 정확한 결과를 얻을 수 있기 때문이다. 즉, 전체 문장이 아니라 대상별 감정을 나누어 분석하는 것이 중요하다.
- 대상(Target): 평가의 주체가 되는 객체
- 평가(Opinion): 대상에 대한 의견
- 감정(Sentiment): 긍정 또는 부정의 감정 상태
예시:
- 객실 → 긍정
- 직원 → 부정
웹 마이닝
웹 마이닝은 웹에서 발생하거나 웹 사이트에 저장한 데이터를 대상으로 유용한 패턴을 찾아내는 기법이며, 데이터 마이닝 기법을 활용하여 웹 상의 문서들과 서비스들로부터 정보를 추출/발견하는 과정이다.
웹 마이닝(Web Mining)이란 인터넷 환경에서 발생하거나 웹사이트에 저장되어 있는 다양한 데이터를 분석 대상으로 하여, 그 안에서 의미 있는 패턴이나 규칙을 찾아내는 기술이며, 데이터 마이닝 기법을 활용하여 웹 문서나 웹 서비스에서 유용한 정보를 추출하고 새로운 지식을 발견하는 과정이다.
왜:
왜냐하면 웹에는 사용자 행동, 검색 기록, 클릭 데이터 등 방대한 데이터가 존재하지만 이를 그대로 두면 활용 가치가 없기 때문이다. 따라서 데이터 마이닝 기법을 적용하여 패턴을 찾고, 이를 통해 사용자 행동을 이해하거나 서비스 개선 및 마케팅 전략 수립에 활용하기 위해 웹 마이닝이 필요하다.
- 웹 마이닝(Web Mining): 웹 데이터 분석 기술
- 데이터 마이닝(Data Mining): 데이터에서 패턴 추출
- 패턴(Pattern): 반복되는 규칙이나 특징
- 추출(Extraction): 필요한 정보를 뽑아내는 과정
- 발견(Discovery): 새로운 지식을 찾아내는 과정
예시:
- 사용자 클릭 패턴 분석
- 검색 키워드 분석
웹 마이닝은 분석 대상에 따라 웹 컨텐츠, 웹 구조, 웹 사용 마이닝으로 구분할 수있다.
웹 마이닝이 분석하는 대상에 따라 세 가지 유형으로 나뉘며, 웹 컨텐츠 마이닝, 웹 구조 마이닝, 웹 사용 마이닝으로 구분된다는 의미이다. 즉, 무엇을 분석하느냐에 따라 접근 방식이 달라진다는 것을 설명한다.
왜:
왜냐하면 웹 데이터는 텍스트, 링크 구조, 사용자 행동 등 다양한 형태로 존재하기 때문에 하나의 방식으로 분석할 수 없고, 데이터의 유형에 따라 적절한 분석 방법을 적용해야 하기 때문이다. 따라서 분석 대상 기준으로 구분하는 것이 중요하다.
- 웹 컨텐츠(Web Content): 웹 페이지의 내용(텍스트, 이미지 등)
- 웹 구조(Web Structure): 페이지 간 링크 관계
- 웹 사용(Web Usage): 사용자 행동 데이터
예시:
- 컨텐츠 → 기사 내용 분석
- 구조 → 링크 연결 분석
- 사용 → 방문 기록 분석
예를 들어, 웹 환경에서 획득하는 고객의 데이터(방문기록, 검색횟수 등)를 분석하여 추출한 행위/패턴 등 가치있는 정보를 이용하여 마케팅 및 의사결정에 활용할 수 있다.
웹에서 수집된 고객 데이터, 예를 들어 방문 기록이나 검색 횟수 같은 데이터를 분석하여 사용자 행동 패턴을 추출하고, 이를 통해 얻은 정보를 마케팅 전략 수립이나 기업의 의사결정에 활용할 수 있다
왜:
왜냐하면 고객의 행동 데이터는 실제 사용자의 관심과 요구를 반영하기 때문에 이를 분석하면 고객이 무엇을 원하는지 파악할 수 있고, 이를 기반으로 맞춤형 서비스 제공이나 마케팅 전략을 개선할 수 있기 때문이다.
- 방문기록(Visit Log): 사용자가 사이트에 방문한 기록
- 검색횟수(Search Frequency): 특정 키워드 검색 횟수
- 패턴(Pattern): 반복되는 행동 특징
- 의사결정(Decision Making): 선택을 결정하는 과정
예시:
- 자주 검색한 상품 → 추천 시스템 적용
- 방문 시간 분석 → 광고 시간 최적화
사회연결망분석(SNA)
사회연결망분석(SNA)은 사회연결망 또는 소셜네트워크의 데이터를 활용하여 사회연결망과 사회구조 등을 사회과학적으로 분석하는 하나의 기법이다.
사회연결망분석(SNA, Social Network Analysis)이란 사람, 조직, 집단 등으로 구성된 네트워크 데이터를 활용하여 그 안의 관계 구조와 사회적 연결 패턴을 분석하는 기법이며, 단순한 데이터 분석이 아니라 사회과학적인 관점에서 관계와 구조를 해석하는 방법이라는 의미이다.
왜:
왜냐하면 사회는 개별 요소보다 관계 속에서 의미가 형성되기 때문에, 사람이나 조직 간의 연결 구조를 분석해야 전체 시스템의 특징을 이해할 수 있기 때문이다. 따라서 단순 데이터가 아니라 관계 중심 분석이 필요하여 SNA가 등장하게 되었다.
- SNA(Social Network Analysis): 사회 연결망 분석
- 사회연결망(Social Network): 사람이나 조직 간 관계 구조
- 사회구조(Social Structure): 관계로 형성된 전체 구조
예시:
- SNS 친구 관계 분석
- 조직 내 협업 관계 분석
기술의 발전과 더불어 사회의 객체들 사이의 관계는 더욱 복잡하고, 정교하게 변화하였다.
정보기술과 인터넷의 발전으로 인해 사람, 기업, 조직 등의 관계가 단순하지 않고 매우 복잡하고 세밀한 구조로 변화했다
왜:
왜냐하면 과거에는 오프라인 중심 관계였지만, 현재는 SNS, 온라인 플랫폼 등으로 인해 관계의 수와 형태가 급격히 증가하고 다양해졌기 때문이다.
- 객체(Object): 분석 대상이 되는 요소(사람, 조직 등)
- 정교(Refined): 세밀하고 복잡한 상태
예시:
- SNS 팔로우 관계 증가
- 글로벌 네트워크 형성
이런 관계들을 통해 특정 네트워크의 구조나 개인(노드)간의 상호관계 등을 파악하는 것을 목표로 하며, 개인과 집단들 간의 관계를 노드와 링크로서 모델링해 그것의 구조와 확산 및 진화 과정을 계량적으로 분석하게 된다.
네트워크 내 관계를 통해 전체 구조와 개인 간 상호작용을 분석하고, 이를 노드와 링크로 표현하여 관계 구조와 정보 확산 및 변화 과정을 수치적으로 분석하는 것을 목표로 한다는 의미이다.
왜:
왜냐하면 복잡한 관계를 이해하기 위해서는 이를 단순한 구조(노드와 링크)로 모델링해야 분석이 가능하며, 이를 통해 관계의 흐름과 영향력을 정량적으로 파악할 수 있기 때문이다.
- 노드(Node): 개체(사람, 조직 등)
- 링크(Link): 관계 연결
- 계량적(Quantitative): 수치 기반 분석
예시:
- 정보 확산 경로 분석
- 영향력 있는 사용자 탐색
사회연결망분석 주요 분석 속성.
응집력(Cohesion): 행위지들 간 강한 사회화 관계의 존재를 평가하는 속성.
응집력은 네트워크 내 구성원들 간 관계가 얼마나 강하게 결속되어 있는지를 평가하는 속성이라는 의미이다.
왜:
왜냐하면 관계가 강할수록 정보 전달이나 협력이 원활하게 이루어지기 때문이다.
- Cohesion: 결속력
- 행위자(Actor): 네트워크 구성 요소
예시:
- 친한 그룹 → 높은 응집력
등가(Equivalence): 한 네트워크의 구조적 지위와 그 위치가 주는 역할이 동일한 사람들 간의 관계를 평가하는 속성.
등가는 네트워크 내에서 동일한 위치나 역할을 수행하는 사람들 간의 관계를 평가하는 속성이다.
왜:
왜냐하면 비슷한 위치에 있는 사람들은 비슷한 역할과 영향력을 가지기 때문이다.
- Equivalence: 동등성
예시:
- 동일 직급 직원
명성(Prominence):네트워크에서 누가 권력을 가지고 있는지 평가하는 속성.
명성은 네트워크 내에서 영향력이나 권력을 가진 노드를 평가하는 속성이다.
왜:
왜냐하면 네트워크에서 중심 인물을 찾는 것이 중요하기 때문이다.
- Prominence: 영향력
예시:
- 인플루언서
범위(Range): 행위자의 네트워크 규모를 평가하는 속성.
범위는 한 개인이 얼마나 넓은 네트워크를 가지고 있는지를 평가하는 속성이다.
왜:
왜냐하면 네트워크 크기가 클수록 영향력이 커질 수 있기 때문이다.
- Range: 범위
예시:
- 친구 수 많은 사용자
중계(Brokerage):다른 네트워크와 연결해주는 정도를 평가하는 속성.
중계는 서로 다른 네트워크를 연결하는 역할을 하는 정도를 평가하는 속성이다.
왜:
왜냐하면 연결 역할을 하는 노드는 정보 흐름에서 중요한 위치를 차지하기 때문이다.
- Brokerage: 중개 역할
예시:
- 그룹 간 연결자
노드(Node) = 버텍스(Vertex) : 분석하고자 하는 주체(사람이나 사물 등).
링크(Link):노드 A와 노드 B의 관계, 방향성, 무방향성으로 표현.
차수(Degree) = 밀도(Density) : 노드로 연결된 링크의 수.
네트워크의 기본 구성 요소를 설명하며, 노드는 분석 대상, 링크는 관계, 차수는 연결 수를 의미한다.
왜:
왜냐하면 네트워크 분석은 이 기본 개념 위에서 이루어지기 때문이다.
- Node: 노드
- Link: 연결
- Degree: 연결 수
예시:
- 친구 수 = 차수
SNA 주요 분석 방법1) 중심성분석
한 노드가 얼마나 네트워크 중심에 위치하는지에 대한 정도를 측정하는 방법, 그래프 혹은 사회연결망에서 노드의 상대적 중요성으로 나타내는 척도.
중심성 분석은 특정 노드가 네트워크에서 얼마나 중요한 위치에 있는지를 측정하는 방법이다.
왜:
왜냐하면 핵심 노드를 찾기 위해서이다.
- 중심성(Centrality): 중요도
예시:
- 영향력 높은 사용자
연결중심성 : 한 노드에 직접적으로 연결된 링크의 합으로 얻어진 중심성을 평가하는 방법, 연결된 노드의 수가 많을수록 연결 정도 중심성이 높아짐.
연결중심성(Degree Centrality)이란 특정 노드가 직접적으로 연결된 링크의 개수를 기준으로 그 노드의 중요도를 평가하는 방법이며, 연결된 노드 수가 많을수록 해당 노드는 네트워크에서 중심적인 위치를 가진다고 판단하는 지표라는 의미이다. 즉, 단순히 얼마나 많은 관계를 가지고 있는지를 보는 가장 기본적인 중심성 개념이다.
왜:
왜냐하면 네트워크에서 많은 노드와 직접 연결된 노드는 정보 전달이나 영향력 행사에서 유리한 위치에 있기 때문이다. 즉, 연결이 많을수록 다른 노드에 영향을 미칠 가능성이 높기 때문에 중요도가 높다고 판단하는 것이다.
- 연결중심성(Degree Centrality): 연결 수 기반 중요도
- Degree: 연결된 링크의 개수
- 노드(Node): 분석 대상 개체
예시:
- 친구가 많은 사람 → 연결중심성 높음
매개중심성: 네트워크 내에서 한 노드가 다른 노드들의 중간에서 얼마나 중개자 및 매개자 역할을 하고 있는지를 평가하는 방법, 한 노드가 연결망 내의 다른 노드들 사이에 최다 연결 경로에 위치하면 할수록 해당 노드의 매개중심성은 높음.
매개중심성(Betweenness Centrality)이란 특정 노드가 다른 노드들 사이의 연결 경로에서 얼마나 중요한 중간 역할을 수행하는지를 평가하는 방법이며, 많은 최단 경로에 포함될수록 해당 노드의 중요도가 높아진다는 의미이다.
왜:
왜냐하면 네트워크에서 정보를 전달할 때 중간에 위치한 노드는 정보 흐름을 통제하거나 조정할 수 있기 때문이다. 즉, 중간 연결 역할을 하는 노드는 네트워크 구조에서 매우 중요한 역할을 수행하게 된다.
- 매개중심성(Betweenness Centrality): 중간 경로 기반 중요도
- 경로(Path): 노드 간 연결 경로
- 중개자(Broker): 연결을 이어주는 역할
예시:
- 두 그룹을 연결하는 사람 → 매개중심성 높음
근접(인접)중심성 : 각 노드 간의 거리를 근거로 한 중심성을 평가하는 방법, 한 노드로부터 다른 노드에 도달하기까지 필용한 최소 단계의 합, 근접중심성이 높을수록 네트워크 중앙에 위치.
근접중심성(Closeness Centrality)이란 특정 노드가 다른 노드들과 얼마나 가까운 위치에 있는지를 평가하는 방법이며, 다른 노드까지 도달하는 평균 거리(최소 단계)가 짧을수록 중심성이 높다는 의미이다.
왜:
왜냐하면 네트워크에서 다른 노드들과 가까운 위치에 있는 노드는 정보를 빠르게 전달하거나 받을 수 있기 때문이다. 따라서 거리 기반으로 중앙에 위치한 노드일수록 중요하다고 판단한다.
- 근접중심성(Closeness Centrality): 거리 기반 중심성
- 거리(Distance): 노드 간 이동 단계 수
예시:
- 모든 사람과 가까운 위치 → 중심성 높음
고유벡터중심성: 자신의 연결 정도 중심성으로부터 발생하는 영향력과 자신과 연결된 타인의 영향력을 합하여 결정하는 방법, 위세가 높은 노드들과 관계가 많을수록 자신의 위세 또한 높아짐.
고유벡터 중심성(Eigenvector Centrality)이란 단순히 연결 수뿐만 아니라, 연결된 상대 노드의 중요도까지 고려하여 자신의 영향력을 평가하는 방법이라는 의미이다. 즉, 중요한 사람과 연결될수록 더 높은 점수를 받는 중심성 개념이다.
왜:
왜냐하면 네트워크에서는 단순히 연결 수보다 “누구와 연결되어 있는지”가 더 중요할 수 있기 때문이다. 영향력 있는 노드와 연결된 경우 그 영향력이 전파되어 더 높은 중요도를 가지게 된다.
- 고유벡터(Eigenvector): 선형대수에서 고유값 기반 벡터
- 영향력(Influence): 다른 노드에 미치는 힘
예시:
- 유명 인플루언서와 연결 → 영향력 상승
이웃분석 : 네트워크를 구성하는 각 노드들 간의 표면적인 연결 상태를 파악하는 가장 기본적인 분석 방법, 노드들 간의 특정 관계 또는 흐름의 전체를 시각적을 나타냄.
이웃분석이 네트워크에서 노드 간 연결 상태를 단순하게 확인하는 가장 기본적인 분석 방법이며, 전체 관계 구조를 시각적으로 표현하는 방식이라는 의미이다.
왜:
왜냐하면 복잡한 네트워크를 이해하기 위해서는 먼저 전체 연결 구조를 직관적으로 파악해야 하기 때문이다. 이를 통해 관계의 흐름과 구조를 쉽게 이해할 수 있다.
- 이웃(Neighbor): 직접 연결된 노드
- 시각화(Visualization): 그래프 표현
예시:
- 친구 관계 그래프
응집도 분석 : 네트워크를 구성하는 노드들 간의 결합력을 바탕으로 군집구조를 파악하는 방법, 응집도 결합력을 가지는 최소 3개의 노드로 구성되는 그룹을 나타내며, 모든 점이 직접적으로 연결되어야만 응집도가 성립됨.
응집도 분석이 네트워크 내에서 노드들이 얼마나 강하게 결속되어 있는지를 기반으로 그룹 구조를 분석하는 방법이며, 최소 3개의 노드가 서로 모두 연결되어야 하나의 응집된 그룹으로 인정된다는 의미이다.
왜:
왜냐하면 단순한 연결이 아니라 모든 노드 간 직접 연결이 있어야 진짜 강한 결합 관계라고 볼 수 있기 때문이다. 이를 통해 강한 커뮤니티 구조를 파악할 수 있다.
- 응집도(Cohesion): 결합 강도
- 군집(Cluster): 그룹
예시:
- 서로 모두 연결된 친구 그룹
밀도분석:네트워크 내에 존재하는 가능한 총 관계 수와 실제로 맺어진 관계 수의 비율을 분석하는 방법, 실제로 맺어진 관계가 많을수록 밀도 우수.
밀도분석이 네트워크에서 가능한 모든 연결 대비 실제 연결된 비율을 측정하는 방법이며, 이 비율이 높을수록 네트워크가 촘촘하게 연결되어 있다고 평가하는 지표라는 의미이다.
왜:
왜냐하면 연결이 많을수록 정보 전달과 상호작용이 활발하게 이루어질 가능성이 높기 때문이다. 따라서 네트워크의 전체적인 연결 수준을 평가하기 위해 밀도를 사용한다.
- 밀도(Density): 연결 비율
- 비율(Ratio): 비교 값
예시:
- 연결 많음 → 밀도 높음
친화도분석:비슷한 점(공통점)이 많은 정도를 분석하는 분석 방법.
친화도 분석이 노드 간 공통점이나 유사성이 얼마나 많은지를 분석하는 방법이라는 의미이다.
왜:
왜냐하면 비슷한 특성을 가진 노드들은 서로 연결될 가능성이 높기 때문에 이를 통해 관계 형성을 예측할 수 있기 때문이다.
- 친화도(Affinity): 유사성 정도
예시:
- 관심사 같은 사람 → 연결 가능
이런 사회연결망분석은 다양한 학문과 연구에서 하나의 연구 방법으로서 활용되며, 마케팅 등 경영학의 관점에서도 강력한 전략으로써 활용될 수 있다.
SNA가 단순 분석 도구가 아니라 다양한 학문과 산업 분야에서 활용되며, 특히 마케팅 전략 수립에서도 중요한 역할을 한다는 의미이다.
왜:
왜냐하면 관계 분석을 통해 핵심 인물이나 정보 흐름을 파악할 수 있기 때문에 실제 비즈니스 전략에 활용할 수 있기 때문이다.
예시:
- 인플루언서 마케팅
SNA 분석 절차1) 그래프 생성 :
특정 단어빈도 수 이상 데이터 추출, 문서단어행렬(DTM) 생성 후 네트워크 그래프 생성.
그래프 생성 단계는 데이터를 기반으로 네트워크 구조를 만드는 과정이다.
왜:
분석을 위해 구조화 필요
예시:
- 단어 연결 그래프
SNA 분석 절차2) 그래프 목적에 따라 가공 및 분석 :
그래프에 연결된 노드의 위치를 분석 후 용도에 맞게 조절.
그래프를 목적에 맞게 조정하는 단계이다.
왜:
분석 목적마다 구조가 달라야 하기 때문
예시:
- 중심 노드 강조
SNA 분석 절차3) 커뮤니티 탐지 및 역할 정의 :
네트워크 그래프에서 인접한 노드 관계를 커뮤니티로 식별.
커뮤니티를 찾는 단계이다.
왜:
그룹 구조 파악 위해
예시:
- 관심사 그룹 탐색
SNA 분석 절차4) 데이터 변환 및 마이닝 기법 활용:
커뮤니티 사용자 리스트에 대해 팔로워 정보를 추가로 검색, 네트워크 그래프를 생성하여 유력자 현황 분석.
추가 데이터를 활용하여 분석을 확장하는 단계이다.
왜:
더 정확한 결과 도출
예시:
- 영향력 사용자 분석
사회연결망분석을 수행하기 위해 R, Python 등의 프로그램을 이용하기도 하나, 일반적으로 사회연결망 분석 프로그램을 사용한다. 국내의 대표적인 프로그램으로는 UCINET과 NetMiner 등이 있으며 해외의 대표적인 프로그램으로는 NodeXL등이 있다.
SNA 분석을 위해 다양한 도구를 사용할 수 있으며, 전용 프로그램도 존재한다
왜:
왜냐하면 복잡한 네트워크 분석을 효율적으로 수행하기 위해 특화된 도구가 필요하기 때문이다.
- R, Python: 프로그래밍 언어
- UCINET, NetMiner, NodeXL: SNA 도구
예시:
- NodeXL로 그래프 분석