2025. 1. 13. 18:31ㆍpxd AI툴 이야기
어피니티버블은 다수의 사용자 목소리로 부터 핵심 주제를 뽑아 계층적으로 보여주는 시각화 방법입니다. pxd에서는 사용자 목소리에서 인사이트를 얻는 과정에 어피니티 다이어그램을 사용하는데요. 이 방법을 LLM을 이용해 모방하고 보로노이 트리맵으로 계층적으로 한눈에 보여줍니다. 일상에서 흔히 보는 보로노이 구조가 비누거품이라 방법과 시각화 각각에서 단어를 차용해 어피니티버블이라고 이름 붙였습니다. 텍스트 분석에서 많이 알려진 워드클라우드가 단순히 많이 사용되는 단어를 보여주는 데 비해 어피니티버블은 주제를 도출하고 그걸 정량적으로 시각화합니다. 트리맵 구조로 1차적으로 묶은 주제, 그걸 다시 묶어 추상화한 주제를 담고 있어 다양한 층위로 많은 정보를 효과적으로 전달합니다.
어피니티 버블 데모를 만들고 활용하면서 얻은 피드백을 반영해 개선된 서비스 베타 버전을 만들었습니다.
분석하려는 사용자 텍스트 양이 많으면 클러스터 덩어리가 너무 많아 한눈에 들어 오지 않고 너무 복잡해 보이는데요. 데모에선 사용자가 슬라이더로 유사도 문턱을 조절해 클러스터 크기를 조정하도록 했었는데요. 하지만 사용자가 의미를 이해하고 적당한 크기를 결정하는 걸 어려워했습니다. 그래서 슬라이더를 없애고 자동으로 묶도록 하고 대신 한번 더 2차로 클러스터링하면서 청크 갯수를 줄이도록 했습니다. 개선된 UI와 추가된 기능을 소개합니다.
1-2-3 구조 단순화
분석할 텍스트를 붙여넣고, 1차 클러스터링, 2차 클러스터링을 하는 구조로 단순화 했습니다.
1. 분석 텍스트 입력
분석할 텍스트를 엑셀이나 구글 시트에서 복사해 붙이면 됩니다. 유입 검색어처럼 각 텍스트의 가중치가 다를 경우에 size 정보를 추가로 줄 수 있습니다. tsv 데이터를 받아 올 수 있도록 해서, 분석할 텍스트는 text, 크기는 size를 헤더로해 같이 복사해 붙여넣으면 됩니다.
데이터를 넣으면 바로 버블형태로 보여지는데요. 어피니티 다이어그램과 같은 방식에 따라 비슷한 내용을 묶고 레이블을 추출하면서 어피니티버블 형태가 만들어집니다.
2. 클러스터링
어피니티 버블 만들기를 하면 1차 클러스터링을 합니다. 텍스트 임베딩을 하고, 벡터 유사도에 따라 비슷한 내용을 모아 클러스터링 하고, 각 클러스터를 대표하는 레이블을 만드는 작업을 순차적으로 진행하는데요. 레이블을 단순 키워드 형식으로 할지 사용자 목소리 형식으로 할지 선택할 수 있습니다. 사용자 인터뷰나 앱 리뷰 같은 텍스트인 경우에 사용자 목소리 형식으로 하면 내용을 이해 쉽습니다.
3. 상위 분류(2차 클러스터링)
1차 클러스터링으로 레이블을 붙이고 나면, 임시로 레이블을 이용해 비슷한 내용의 덩어리를 묶어 내용 파악을 수월하게 했는데요 . 텍스트 임베딩 벡터를 이용한 군집화가 1차 클러스터 처럼 아주 비슷한 내용을 묶을 때는 잘 되었는데, 보다 추상화한 큰 덩어리를 묶으려고 하면 잡음이 많이 포함되었습니다. 아마 임베딩이 텍스트의 실제 의미보다는 개별 단어(토큰)의 영향을 받아서 그런것 같습니다. 그래서 2차 상위 분류는 LLM을 사용 했습니다. 어피니티 다이어그램에서 첫번째는 비슷한 포스트잇을 모으고, 상위 분류에서는 관점을 반영하는 것처럼요. 언어모델의 응답을 사용하는 것이라 같은 데이터라도 사람이 하는 것처럼 매번 조금씩 다른 결과가 나옵니다. 단점이 될 수도 있지만, 조금씩 다른 관점을 얻을 수 있어 인사이트를 얻는데 도움이 되기도 합니다.
설문 조사 분석에서는 이 과정을 코딩이라고 하는데요. 모든 응답을 읽고 주요 패턴과 반복되는 주제를 우선 파악하고, 각 응답을 해당 코드에 따라 분류합니다. LLM에게 한번에 모든 텍스트들을 분류해줘라고 하면 어느 정도 되는 것 같지만 누락이 많이 생기는데요. 위 과정을 AI를 이용해 모방하고 있습니다.
여기에서도 목적에 따라 3가지 분류 방식을 제공합니다. 토픽은 기본적인 주제에 따른 분류이고, 도메인은 좀 더 넓은 범위의 분야나 영역을 나누도록 합니다. 사용자 골은 사용자 조사같은 유스 케이스를 위해 만들었는데, 사용자 목소리에서 니즈를 파악해 비슷한 골을 찾아 분류해 주도록 합니다. 용도에 따라 선택하면 됩니다.
분류에서 상세 요구 사항을 주고 사용자 의도에 따라 분류 할 수 있습니다. 앱 리뷰 같은 경우에 긍부정 피드백을 빠르게 나눠 보는데 활용할 수 있습니다.
클러스터 내보내기
어피니티버블은 하나의 시각화라, 이 분류를 활용하고 싶다는 요구가 있었는데요. 테이블 형식으로 내보낼 수 있게 했습니다. 테이블 복사를 하고 엑셀이나 구글 시트에 붙여넣으면 됩니다. 테이블 요약,확장 버튼은 토글로 클러스터안 의 개별 텍스트를 묶거나 펼쳐 볼 수 있습니다.
인사이트 리포트
어피니티 버블로 클러스터링 된 내용을 기반으로 핵심 발견 사항 형식의 간단한 리포트를 제공합니다. 핵심 사항과 그에 해당하는 사용자 목소리를 예시로 함께 보여줍니다.
내부 과제나 설문 분석, 사용자 조사, 이슈 분석등에 사용해보면서 기능을 다듬고 있습니다. 사용해 보시고 개선 사항이나 추가되었으면 하는 기능 의견 주시면 반영하도록 하겠습니다.