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

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

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

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

핵심 내용

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

핵심 내용

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

관련 개념

출처

최종 업데이트: 2026-04-06 | 출처 2개