데이터 마이닝(Data Mining)은 데이터에 내재된 패턴, 규칙, 구조 또는 유용한 지식을 탐색하는 과정입니다.
텍스트 마이닝(Text Mining)은 자연어 텍스트에서 의미 있는 정보를 추출하고 분석하는 데이터 마이닝의 응용 영역입니다.
행·열로 체계화된 자료: 관광객 연령, 소비금액, 방문 횟수 등
고정된 표 형식이 아닌 자료: 리뷰, 기사, 이미지, 동영상 등
핵심 용어 8개의 정의와 관광 분석 사례를 아래 표에서 한눈에 비교합니다.
| 번호 | 한국어 | English | 핵심 의미 · Definition | 관광 분야 사례 · Tourism Example |
|---|---|---|---|---|
| 01 | 분류 | Classification | 정해진 범주 예측 | 관광객 리뷰를 사전에 정의한 긍정·부정 범주로 자동 분류 |
| 02 | 군집분석 | Clustering | 유사 데이터 그룹 형성 | 관광객의 방문 빈도·지출액·여행 목적에 따라 유사 고객군 발견 |
| 03 | 연관규칙 | Association Rule Mining | 함께 출현하는 항목 간 규칙 발견 | 관광상품 구매 기록에서 숙박권 구매와 렌터카 예약의 동반 구매 패턴 탐색 |
| 04 | 예측 | Prediction | 미지의 값 또는 결과 추정 | 과거 방문객 수·계절·휴일 자료를 이용해 다음 달 관광 수요 예측 |
| 05 | 문서 군집화 | Document Clustering | 문서 간 유사성을 이용한 그룹 형성 | 관광 리뷰 원문을 수치 벡터로 변환해 유사한 후기끼리 묶기 |
| 06 | 토픽모델링 | Topic Modeling | 문서 집합의 잠재 주제 발견 | 관광 뉴스 기사에서 지역축제·교통·친환경 관광 등 잠재 주제 추출 |
| 07 | 감성분석 | Sentiment Analysis | 텍스트의 긍정·부정 등 분석 | 호텔 후기에서 객실 청결은 긍정, 대기시간은 부정으로 분석 |
| 08 | 텍스트 벡터화 | Text Vectorization | 텍스트를 수치 벡터로 변환 | 관광 리뷰를 TF-IDF 또는 문장 임베딩 벡터로 변환해 군집분석 입력값으로 활용 |
관광객 리뷰를 군집분석하려면 문장끼리 얼마나 비슷한지 계산할 수 있어야 합니다. 이를 위한 과정이 텍스트 벡터화(Text Vectorization)입니다.
아래는 호텔·친절·버스·불편 네 단어의 등장 여부를 숫자로 나타낸 간단한 예시입니다.
| 관광객 리뷰 | 호텔 | 친절 | 버스 | 불편 |
|---|---|---|---|---|
| A. 호텔 직원이 친절해요 | 1 | 1 | 0 | 0 |
| B. 호텔 서비스가 친절해요 | 1 | 1 | 0 | 0 |
| C. 버스 이용이 불편해요 | 0 | 0 | 1 | 1 |
각 리뷰의 벡터는 A = [1, 1, 0, 0], B = [1, 1, 0, 0], C = [0, 0, 1, 1]입니다.
A와 B는 숫자 배열이 같으므로 이 표현에서는 완전히 유사합니다. 반면 C는 다른 배열을 가집니다. 따라서 K-means나 DBSCAN 같은 군집분석 알고리즘은 A와 B를 유사한 리뷰로 판단할 수 있습니다.
| 방법 | 영어 | 특징 |
|---|---|---|
| 단어 빈도 | Bag of Words (BoW) | 단어가 몇 번 등장했는지 계산 |
| TF-IDF | Term Frequency–Inverse Document Frequency | 문서에서 상대적으로 중요한 단어에 가중치 부여 |
| 문장 임베딩 | Sentence Embedding | 문장의 맥락과 의미적 유사성을 표현 |
예를 들어 “숙소가 깨끗하다”와 “객실이 청결하다”는 단어가 다르지만 의미는 비슷합니다. 단순 단어 빈도 방식은 이러한 관계를 충분히 반영하기 어렵지만, 적절한 문장 임베딩 모델은 두 문장이 의미적으로 가깝다는 것을 표현할 수 있습니다.
컴퓨터는 관광객의 리뷰를 그대로 읽고 수학적으로 비교할 수 없습니다. 따라서 리뷰에 있는 단어나 문장의 의미를 숫자로 바꿉니다. 이것이 텍스트 벡터화입니다. 이렇게 변환된 숫자를 이용하면 컴퓨터가 관광객 리뷰 사이의 거리를 계산하고, 비슷한 리뷰끼리 군집으로 묶을 수 있습니다.
① K개 중심점 초기화 → ② 각 점을 가장 가까운 중심점에 배정 → ③ 군집별 중심점 갱신 → ④ 수렴할 때까지 반복. 기본 K-means는 군집 내 제곱거리 합을 최소화합니다.
DBSCAN은 Density-Based Spatial Clustering of Applications with Noise의 약자로, 한국어로는 잡음을 고려한 응용 데이터의 밀도 기반 공간 군집화라고 풀이할 수 있습니다. 머신러닝의 비지도학습(Unsupervised Learning)에 속하는 군집분석 알고리즘입니다.
① 반경 ε와 최소 점 개수 MinPts 설정 → ② 핵심점(Core Point) 식별 → ③ 밀도 연결성을 따라 군집 확장 → ④ 경계점(Border Point)·이상치(Noise) 구분.
두 알고리즘의 특성을 보여주는 강의용 개념도입니다. 아래 점들은 실증 데이터가 아닙니다.
DBSCAN = Density-Based Spatial Clustering of Applications with Noise
잡음(이상치)을 고려한 밀도 기반 공간 군집화 · 비지도 머신러닝
이 채팅에서 처음 소개했던 DBSCAN 원리 그림을 원래의 군집 배치와 색상으로 수록했습니다.
밀집된 데이터는 같은 군집으로 묶고, 주변에 충분한 데이터가 없는 점은 이상치(Noise)로 분류하는 개념도
한 데이터 주변에서 이웃을 탐색하는 거리
밀집된 영역이라고 판단하기 위한 최소 데이터 수
핵심점(Core Point): 반경 ε 이내에 자신을 포함한 데이터 점이 MinPts개 이상 존재하는 점입니다. DBSCAN은 핵심점 사이의 밀도 연결성을 따라 군집을 확장하며, 경계점과 이상치를 구분합니다.
※ 그림은 설명을 위한 개념도이며 실제 ε 및 MinPts로 계산한 군집 결과가 아닙니다.
세 개의 군집(K=3)을 사전에 정해 중심점과의 거리로 데이터를 배정합니다.
밀집된 영역을 군집으로 식별하며, 군집과 연결되지 않은 점을 이상치로 구분할 수 있습니다.
| 구분 | K-means | DBSCAN |
|---|---|---|
| 기준 | 중심점과의 거리 | 데이터 밀도 |
| 군집 개수 | 사전 지정 | 자동 형성 |
| 군집 형태 | 주로 구형 | 불규칙한 형태 가능 |
| 이상치 탐지 | 별도 처리 필요 | 자체 구분 가능 |
| 주요 설정 | 군집 수 K | ε, MinPts |
| 주의점 | 이상치·초기값 민감 | 밀도가 다른 군집에 취약 |
계층 구조를 형성하는 방식과 데이터를 묶는 계산 원리는 서로 다른 분류 축입니다 — 두 기준을 한 줄로 합쳐 단순한 상하 관계로 보면 오해가 생깁니다.
| 계층 구조 기준 | 작동 원리별 유형 | 대표 알고리즘 | 데이터를 묶는 기준 | 군집 수 결정 | 이상치 처리 | 관광 분야 활용 사례 |
|---|---|---|---|---|---|---|
| 계층적 | ① 응집형 | Ward · Average · Complete Linkage | 가까운 개체·군집부터 단계적으로 합침 | 덴드로그램을 보고 결정 | 대체로 약함 | 관광객 선호도에 따른 단계적 유형 탐색 |
| 계층적 | ② 분할형 | DIANA | 전체 집단에서 시작해 단계적으로 나눔 | 분할 단계에서 결정 | 대체로 약함 | 관광시장을 큰 집단에서 세부 집단으로 구분 |
| 비계층적 | ③ 분할 기반 | K-means · K-medoids · K-modes | 각각 중심점 · 대표 관측치 · 최빈값 기준으로 배정 | k 사전 지정 | K-medoids는 상대적으로 강건, K-means는 민감 | 관광객 1만 명을 미식·휴양·액티비티형으로 분류 |
| 비계층적 | ④ 밀도 기반 | DBSCAN | 밀집된 점은 묶고 고립된 점은 노이즈로 구분 | 데이터·모수에 의해 형성 | 노이즈 탐지 가능 | 관광객 GPS 기록에서 핫스폿과 고립 지점 탐색 |
| 계층 정보 활용 | ④ 밀도 기반 확장 | OPTICS · HDBSCAN | 밀도 변화와 계층/도달가능성 구조를 활용 | 데이터·설정에 따라 추출 | 노이즈 탐지 가능 | 밀도가 다른 관광지의 방문 집중구역 발견 |
| 비계층적 | ⑤ 모형 기반 | GMM(EM) · LCA | 확률모형으로 잠재 집단 소속 가능성 추정 | 후보 모형 비교 등으로 선택 | 모형에 따라 다름 | 관광객 잠재 선호유형과 소속 확률 추정 |
| 비계층적 활용* | ⑥ 신경망 기반 | SOM | 유사한 관측치를 가까운 2차원 지도 위치에 배치 | 지도 크기 설정, 필요 시 후속 군집화 | 별도 처리 필요 | 관광상품 유형의 2차원 지도 시각화 |
| 비계층적 활용* | ⑦ 격자 기반 | STING · CLIQUE | 공간을 격자로 나눠 밀집 구역 탐색 | 격자 설정·데이터에 좌우 | 방법·설정에 따라 다름 | 대규모 관광객 위치 데이터 분석 |
| 구분 | 문서 군집화 | 토픽모델링 |
|---|---|---|
| 초점 | 문서 간 유사성 | 잠재 주제 구조 |
| 대표 방법 | K-means, DBSCAN, HDBSCAN | LDA, NMF 등 |
| 일반적 결과 | 문서별 군집 배정 | 토픽별 단어·문서 토픽 비중 |
| 주의점 | 거리·안정성 | 토픽 수·해석 가능성 |
A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise ↗
공간 데이터베이스에서 밀도 기반 군집과 이상치를 탐색하는 DBSCAN을 제안했습니다.
A Comparison of Document Clustering Techniques ↗
K-means, Bisecting K-means, 계층적 군집분석을 비교했습니다.
Exploration of Topic Classification in the Tourism Field with Text Mining Technology ↗
관광 분야 학술논문 초록 5,783개에 TF-IDF 및 계층적 K-means를 사용해 6개 연구 주제 군집을 도출한 연구입니다.
Tourist Preference Analysis Based on Google Reviews Using the DBSCAN Method ↗
관광지 Google Reviews 9,800건을 TF-IDF와 DBSCAN으로 분석했습니다. 보고된 설정(ε=0.8, MinPts=4)에서 주요 군집 9,353건과 이상치 447건을 확인했습니다.
숙박·음식·교통 등 관광 경험과 관련된 리뷰의 유사성을 분석하고 예외적인 리뷰를 탐색합니다.
관광 정책·산업·지역관광 담론을 뉴스 기사 유사성에 따라 탐색합니다.
초록·키워드·논문 내용을 군집화해 연구 분야의 하위 영역을 발견합니다.
관광객의 설문 변수를 군집화하는 방식과 리뷰 문서를 군집화하는 방식은 분석 단위가 다릅니다.
교육용 가상 사례 · 설명용 리뷰 3건 → 본 실습 100~500건
| 리뷰 원문 | 주요 키워드 | 관광서비스 속성 | 감성 |
|---|---|---|---|
| “호텔 직원들이 매우 친절했고 객실도 깨끗했어요.” | 직원·친절·객실·깨끗 | 숙박·서비스 | 긍정 |
| “지역 음식은 맛있지만 식당에서 오래 기다렸어요.” | 음식·맛·식당·대기 | 음식·서비스 | 긍정·부정 혼합 |
| “관광지까지 이동하는 버스 배차간격이 너무 길어요.” | 관광지·버스·배차간격 | 교통·접근성 | 부정 |
위 분류는 연구자의 교육용 해석이며 알고리즘 실행 결과가 아닙니다. 감성분석과 키워드 분석이 먼저 이루어지는 이유를 이해하는 데 사용합니다.
| 가상 군집 | 리뷰 수 | 예시 대표 단어 | 연구자의 해석 |
|---|---|---|---|
| 군집 A | 180건 | 객실·청결·직원·친절 | 숙박 및 서비스 경험 |
| 군집 B | 140건 | 음식·식당·가격·대기 | 외식 경험 |
| 군집 C | 180건 | 버스·이동·교통·주차 | 교통 및 접근성 |
“군집 수 K를 3으로 지정하면 어떤 리뷰들이 서로 가까운가?”
군집 수가 사전 지정되고 데이터는 가까운 중심점에 배정됩니다.
“어떤 리뷰들이 충분히 밀집되어 있고 어느 리뷰가 Noise인가?”
ε·MinPts 및 거리 척도 설정에 따라 군집과 이상치가 달라집니다.
정답: 숙박·서비스. 객실·청결·직원 친절이 주요 내용입니다.
해설 속성은 「리뷰가 무엇에 대해 말하는가」입니다. 「객실」 「깨끗」은 숙박 시설, 「직원」 「친절」은 서비스에 관한 단어라 두 속성이 함께 붙습니다. 감성(긍정)과 속성(숙박·서비스)은 서로 다른 질문이라는 점도 기억하세요.
정답: 긍정·부정 혼합. 음식 맛은 긍정, 대기시간은 부정입니다.
해설 「~지만」을 기준으로 앞은 긍정, 뒤는 부정입니다. 리뷰 전체에 감성 하나만 붙이면 이런 리뷰를 놓치므로, 실제 분석에서는 속성별 감성(음식 = 긍정, 대기 = 부정)으로 나눠 봅니다. 문서 군집화만으로는 이 차이가 드러나지 않아 별도 감성분석이 필요합니다.
정답: 이상치(Noise)로 분류될 수 있습니다. 단, Noise가 반드시 중요하거나 독특한 문제를 뜻하지는 않습니다.
해설 반경 ε 안에 이웃 리뷰가 MinPts개보다 적고, 어느 군집의 핵심점에도 닿지 않으면 Noise가 됩니다. 드문 불만(예: 휠체어 접근 문제)일 수도 있지만, 오타 · 광고 · 너무 짧은 리뷰일 수도 있습니다. 그래서 Noise는 원문을 직접 읽고 판단합니다. K-means라면 같은 리뷰도 가장 가까운 군집에 억지로 들어갑니다.
강의 핵심 문장: “K-means는 중심점과의 거리로 데이터를 묶고, DBSCAN은 데이터가 밀집된 영역에서 군집을 형성합니다. 두 기법을 텍스트에 적용하려면 먼저 문서를 수치 벡터로 변환해야 합니다.”
| 검토 항목 | 논문에서 명시할 사항 |
|---|---|
| 분석 단위 | 문서, 리뷰, 이용자, 키워드 중 무엇을 군집화했는가? |
| 텍스트 표현 | 전처리, TF-IDF 또는 임베딩 모델의 구체적 설정 |
| 거리 | 유클리드, 코사인 등 선택 기준 |
| 하이퍼파라미터 | K 또는 ε·MinPts 설정 근거 |
| 품질 확인 | 군집 규모·내적 평가·안정성·대표 문서 확인 |
| 해석 | 군집명은 실제 문서와 특징어에 근거해 부여 |
| 일반화 | 수집 기간·플랫폼·언어·편향 설명 |
이 문장은 예시이며 실제 수행한 분석의 방법·설정값·검증 절차로 구체화해야 합니다.
| 문헌 | 원 연구 맥락 | 활용 |
|---|---|---|
| Ester et al. (1996) | 공간 데이터베이스의 밀도 기반 군집 | DBSCAN 원리 설명 |
| Steinbach et al. (2000) | 문서 군집 알고리즘 비교 | 분석방법 비교 근거 |
| Chang et al. (2022) | 관광 학술논문 초록 분석 | 관광 분야 직접 적용 |
| Qori’atunnadyah et al. (2025) | 관광지 Google 리뷰 분석 | DBSCAN 응용 사례 |
분류와 군집분석은 정형 데이터뿐 아니라 벡터화된 텍스트에도 적용할 수 있다.
텍스트를 수치화하고 유사한 리뷰·기사·논문을 그룹으로 발견한다.
K-means는 중심점 기반, DBSCAN은 밀도 기반이며 이상치 식별이 가능하다.
군집명은 대표 문서·키워드를 검토하여 부여하며, 군집과 감성은 구분한다.
| 방법 | 주요 질문 | 관광 데이터 예시 |
|---|---|---|
| 키워드 분석 | 어떤 단어가 자주 나타나는가? | 관광 리뷰의 친절·청결·교통 빈도 |
| 감성분석 | 긍정·부정 등 정서는 어떠한가? | 호텔 리뷰의 만족·불만 |
| 문서 군집화 | 어떤 문서들이 서로 비슷한가? | 숙박·음식·교통 관련 리뷰 그룹 |
| 토픽모델링 | 어떤 잠재 주제가 나타나는가? | 관광 뉴스의 주제 구조 |
객관식 6문항 · 답안을 선택한 뒤 “채점하기”를 누르면 정답 · 해설 · 풀이 순서 · 관광 예시 · 보기별 풀이 · 더 알아보기가 표시됩니다. 고르지 않은 문항도 해설이 나옵니다.