텍스트 임베딩과 데이터 시각화

텍스트 임베딩은 단어나 문장을 고차원 벡터로 변환하는 기술로, 의미적으로 유사한 텍스트는 벡터 공간에서 가깝게 위치한다. pxd 블로그의 한국어 감정 단어 시각화 프로젝트는 434개 감정 단어를 768차원 임베딩으로 변환한 후 UMAP으로 2차원에 축소하여 단어 간 관계를 지도처럼 펼쳐 보여줬다.

이 작업에서는 세 가지 시각화 방식을 단계적으로 적용했다. 먼저 어피니티 버블로 보로노이 트리맵 형태의 군집 표현을 만들고 쾌-불쾌 점수를 발산형 컬러맵으로 매핑했다. 다음으로 UMAP 잠재 공간 맵핑으로 단어들의 위치 관계를 2차원에 투영하고, force simulation으로 겹치는 레이블을 밀어내며 hull로 군집 경계를 표시했다. 마지막으로 LLM을 활용해 각 클러스터를 대표하는 레이블을 자동 생성했다.

cos 유사도 기반 임베딩은 같은 의미보다 같이 자주 쓰이는 단어를 묶는 경향이 있어 사랑과 슬픔, 감탄과 절망이 같은 군집에 포함되는 흥미로운 결과가 나타난다. 긍정 감정은 좁게 모여있고 부정 감정은 넓게 분산되는 패턴도 관찰됐다.

핵심 내용

  • 고차원 임베딩 벡터를 2차원으로 축소할 때 PCA보다 UMAP이 유사성 관계 보존에 유리
  • 발산형 컬러맵(Diverging Colormap)은 양 극단이 대립하는 속성(예: 쾌-불쾌)에 적합
  • 클러스터 크기를 시각적 위계로 반영하면 중요한 덩어리에 먼저 시선이 간다
  • force simulation은 레이블 겹침 해소에 효과적
  • LLM으로 클러스터 레이블 자동 생성 가능
지도 기반 데이터 시각화도 유사한 도전 과제를 안고 있다. 서울시 생활 인구 코로플레스맵 프로젝트는 KT 기지국 통신 이력 기반의 시계열 인구 데이터를 D3.jsTopoJSON으로 구현한 사례다. 컬러맵 선택이 핵심인데, 순차적 비교에는 무지개(jet) 스킴 대신 선형적으로 명도가 변하는 sequential 스킴(YlGnBu 등)을 쓰고, 유출입 같은 양방향 변화에는 diverging 스킴(RdYlBu 등)을 쓴다. 슬라이더와 방향키를 통한 시계열 탐색, D3 내장 transition을 이용한 색상/그래프 애니메이션, 히트맵·범위 면적 차트의 조합으로 다차원 데이터를 한 화면에서 탐색할 수 있도록 설계했다.

핵심 내용

  • 고차원 임베딩 벡터를 2차원으로 축소할 때 PCA보다 UMAP이 유사성 관계 보존에 유리
  • 발산형 컬러맵(Diverging Colormap)은 양 극단이 대립하는 속성(예: 쾌-불쾌, 유입-유출)에 적합
  • 순차적 값 비교에 무지개(jet) 스킴은 부적합 — 명도가 균질하지 않아 인지적으로 선형 관계가 왜곡됨
  • 클러스터 크기를 시각적 위계로 반영하면 중요한 덩어리에 먼저 시선이 간다
  • force simulation은 레이블 겹침 해소에 효과적
  • LLM으로 클러스터 레이블 자동 생성 가능
  • 지도 데이터는 GeoJSON보다 TopoJSON이 용량 효율이 높음

관련 개념

언어학자가 바라보는 Gen AI: pxd talks에서 서비스나우 언어학자 김미담이 강연한 내용은 임베딩 기술의 학습자 친화적 입문이다. 판별형 AI vs 생성형 AI의 차이는 "고양이/강아지를 구분하는 것"과 "새로운 동물을 만들어내는 것"의 차이다. 단어 임베딩은 단어를 숫자(고차원 벡터)로 바꾸는 작업으로, 의미가 비슷한 단어가 가까이 묶이는 원리다. 트랜스포머의 핵심은 셀프 어텐션(Self-Attention) — 문장 속 단어들을 숫자로 변환해 짝지어 비교하고, 관련성이 높을수록 더 높은 점수를 부여하는 방식이다. 예를 들어 "It is a wide street"에서 "It"이 무엇을 가리키는지 "wide"와의 관계를 통해 "street"임을 추론한다. 파운데이션 모델(Foundation Model)은 트랜스포머를 기반으로 거대한 말뭉치로 학습된 모델이며 ChatGPT·BERT·Llama·Mixtral 등이 대표적이다. 강연자는 "세상의 모든 지식을 가진 5살짜리 아이"라는 비유로 이 모델의 잠재력과 한계(실수·예측 불가성)를 동시에 표현했다. 실제 회사가 생성형 AI 모델을 출시하는 4단계는 ① 고객 문제·용처 파악 → ② 데이터 정리(개인정보 마스킹·노이즈 제거) → ③ 모델 훈련(HITL: Human In The Loop 기반 반복 평가) → ④ 출시 + 조정.

유튜브 댓글 NLP 분석은 pxd UXtech Lab이 실무 적용한 사례다. Kakao Brain의 Pororo 라이브러리를 활용해 단어 임베딩과 감성 분류를 수행하며, 보로노이 트리맵으로 주요 단어군을 시각화한다. 비슷한 의미의 단어를 단어군으로 묶고 빈도를 합산하면 개별 단어로는 드러나지 않던 주제도 찾아낼 수 있다. 문장 임베딩 클러스터링으로 단어의 맥락적 사용 패턴을 분석하고, 긍부정 분포와 롱테일 토픽을 파악하며, 동영상 내 특정 구간에 대한 반응을 타임스탬프로 추출할 수 있다. 다만, 댓글 작성자가 전체 시청자를 대표하지 않으며 극소수 의견이 과대 대표될 수 있다는 한계를 인식해야 한다.

출처

최종 업데이트: 2026-04-07 | 출처 4개