제27회 · LLM과 함께 배우는 생각그림

비슷한 문서는 왜 한곳에 모일까?

검색 결과를 문서 군집 지도로 묶는 과정을 따라가며, 화면의 거리와 실제 의미의 차이를 살핍니다.

문서유사도군집

검색 결과 40개를 제목 순서로만 읽기 어려울 때

“독서 모임 운영”을 검색하면 신청 안내, 회의록, 책 추천, 장소 규정이 섞여 나온다. 제목 목록은 개별 문서를 읽기에는 좋지만 전체 주제 분포를 보기 어렵다. 문서 군집 지도는 비슷한 특징을 가진 문서를 가까이 모아 어떤 묶음이 있는지 탐색하도록 돕는다.

지도는 원문 자체가 아니라 문서를 수치 특징으로 바꾸고 거리나 유사도를 계산한 결과다. 그러므로 화면에서 가까운 점이 곧 같은 주장이나 같은 출처를 뜻하지 않는다. 어떤 특징을 썼는지, 거리를 어떻게 계산했는지, 2차원으로 어떻게 줄였는지를 함께 읽어야 한다.

생각그림 1 · 목록에서 군집 지도로 가는 네 단계
문서 원문
특징 벡터
유사도·거리
군집·2차원 지도
각 단계의 선택이 달라지면 같은 문서도 다른 위치와 묶음에 놓일 수 있습니다.

문서를 비교하려면 먼저 수치 특징으로 바꾼다

TF-IDF는 문서 안에서 자주 나오지만 전체 문서 집합에서는 드문 단어에 상대적으로 큰 값을 주는 대표적인 표현 방식이다. “신청”, “정원”, “마감”이 특정 안내문에 함께 자주 나오면 그 문서의 특징이 된다. 조사나 매우 흔한 말은 보통 구분력이 낮다.

임베딩은 문장이나 문서를 여러 수치로 표현하는 또 다른 방법이다. 비슷한 맥락의 문서가 가까운 벡터를 가질 수 있지만, 사용한 모델과 입력 길이, 언어, 전처리에 따라 결과가 달라진다. 어느 방법이든 원문을 완전히 보존하지는 않으므로 대표 문서를 다시 읽어야 한다.

생각그림 2 · 세 문서의 교육용 TF-IDF 일부
문서신청장소토론추천
D1 신청 안내0.820.120.000.00
D2 장소 변경0.090.880.000.00
D3 토론 질문0.000.000.710.32
표의 수치는 설명을 위해 만든 값이며 실제 말뭉치를 계산한 결과가 아닙니다.

거리와 유사도는 같은 질문을 다른 방향으로 표현한다

코사인 유사도는 두 벡터가 향하는 방향이 얼마나 비슷한지 보고, 유클리드 거리는 좌표 사이의 직선거리를 본다. 값의 크기보다 단어 비율이 중요한 문서 비교에서는 코사인 유사도가 자주 쓰인다. 하지만 어느 측정이 적합한지는 특징 표현과 질문에 달려 있다.

임곗값도 결과를 바꾼다. 유사도 0.75 이상을 연결하면 0.74인 문서는 끊긴다. 이 경계는 자연법칙이 아니라 분석자가 선택한 기준이다. 여러 값을 시험하고, 경계 근처 문서를 직접 읽어 묶음이 해석 가능한지 확인해야 한다.

생각그림 3 · 임곗값에 따라 연결이 달라진다
D1–D2유사도 0.81 · 연결
D2–D4유사도 0.74 · 경계
D3–D5유사도 0.38 · 분리
검토0.70·0.75·0.80 비교
임곗값 바로 아래와 위의 문서를 읽으면 경계 선택의 영향을 확인할 수 있습니다.

군집은 정답표가 아니라 탐색 가설이다

K-평균은 미리 정한 군집 수를 기준으로 각 점을 가까운 중심에 할당한다. 계층적 군집은 가까운 항목을 차례로 묶어 나무처럼 보여 줄 수 있다. 밀도 기반 방법은 빽빽한 영역을 찾고 외딴 점을 별도로 둘 수 있다. 방법마다 기대하는 군집 모양이 다르다.

실루엣 점수는 각 샘플이 자기 군집 안에서 얼마나 응집되어 있고 다른 군집과 얼마나 떨어졌는지를 요약한다. 점수가 높아도 업무적으로 의미 없는 단어 차이를 반영할 수 있고, 점수가 낮아도 문서가 연속적인 주제 스펙트럼을 이룬다면 자연스러울 수 있다. 수치와 원문 검토를 함께 쓴다.

생각그림 4 · 세 군집 방법이 묻는 질문
K-평균몇 개의 중심 주변으로 나눌까?
계층적 군집어떤 문서부터 차례로 합칠까?
밀도 기반빽빽한 영역과 외딴 점은 어디인가?
실루엣자기 군집과 이웃 군집의 거리 차이는?
알고리즘 이름보다 그 방법이 전제하는 군집 모양과 질문을 먼저 확인합니다.

2차원 지도는 고차원 관계의 압축본이다

특징 벡터가 수백 차원이면 화면에 바로 그릴 수 없어 2차원으로 줄인다. PCA, t-SNE, UMAP 같은 방법은 서로 다른 방식으로 정보를 보존한다. 특히 지도에서 멀리 떨어져 보이는 군집 사이 거리가 원래 고차원 공간의 전역 거리를 그대로 나타낸다고 단정하면 안 된다.

축에 명확한 의미가 없는 경우 “신청성”이나 “토론성” 같은 이름을 임의로 붙이지 않는다. 지도는 가까운 이웃과 국소 묶음을 탐색하는 도구로 쓰고, 대표 문서 제목과 핵심 단어, 원문 링크를 함께 제공한다. 투영 방법과 매개변수도 기록한다.

생각그림 5 · 교육용 2차원 문서 지도
신청 안내장소 규정토론 자료
좌표는 설명용으로 만든 값입니다. 축 자체에는 업무 의미를 부여하지 않았습니다.

LLM은 군집 이름을 제안할 수 있지만 근거를 함께 내야 한다

LLM에 문서 제목과 요약을 주고 군집 이름을 붙이게 할 수 있다. 이때 각 이름에 대표 문서, 공통 표현, 경계 문서를 같이 제시하도록 요청한다. “기타” 군집이 너무 크면 특징이나 군집 수를 다시 검토하고, 문서가 여러 주제에 걸치면 하나로 강제하지 않는다.

문서 전문을 외부 서비스에 보내기 전에는 개인정보와 이용 권한을 확인한다. 민감한 원문 대신 승인된 요약이나 익명화된 특징을 사용할 수 있다. 모델이 보지 못한 문서 내용을 추정하지 않게 하고, 준비된 예시는 실제 서비스 실행 결과로 표현하지 않는다.

생각그림 6 · 군집 이름 제안의 검토 항목
대표 문서중심에 가까운 실제 문서
공통 특징단어·요약에서 확인 가능한 근거
경계 문서다른 군집과 비슷한 항목
외딴 점오류인지 새 주제인지 확인
권리·개인정보외부 전송 전 확인
이름은 군집을 설명하는 가설이며, 대표 문서와 경계 문서로 검증해야 합니다.

잘못된 지도는 색이 곧 진실인 것처럼 보인다

흔한 오류는 군집마다 선명한 색을 칠하고 범례에 “정답 주제”라고 쓰는 것이다. 알고리즘이 임의 초기값이나 매개변수에 따라 다른 묶음을 만들 수 있는데도 단일 결과만 보여 주면 불확실성이 사라진다. 점이 겹쳤다고 문서가 동일한 것도 아니다.

수정 지도에는 특징 방식, 거리, 군집 방법, 군집 수, 투영 방법을 적고 경계 문서를 테두리로 표시한다. 색 이외에 라벨이나 도형도 함께 써 색각 차이가 있는 독자도 구분할 수 있게 한다. 대표 문서를 클릭하거나 목록에서 원문으로 돌아갈 수 있어야 한다.

생각그림 7 · 군집 지도의 수정 전후
수정 전색 세 개와 “정답 군집”만 표시
수정 후방법·매개변수·대표 문서 표시
수정 후경계·외딴 점을 별도 표기
수정 후색 외에 기호와 라벨 사용
군집 지도의 신뢰성은 화려한 분리보다 생성 조건과 원문 복귀 경로에서 나옵니다.

다른 문서 집합으로 바뀌면 지도를 다시 계산한다

새 문서가 들어오면 단어 빈도와 군집 중심이 달라질 수 있다. 지난달 지도에 새 점만 얹으면 비교 기준이 섞인다. 같은 전처리와 특징 방식을 고정해 다시 계산하고, 버전·문서 수·날짜를 기록한다. 두 시점의 지도를 비교할 때는 좌표 회전이나 뒤집힘도 주의한다.

검색 결과를 실제로 검토할 때는 군집별로 중심 문서, 경계 문서, 외딴 문서를 표본으로 읽는다. 모두 읽지 못했다면 “대표 표본 검토”라고 정확히 밝힌다. 지도가 놓친 희귀하지만 중요한 문서는 별도 규칙 검색으로 보완한다.

생각그림 8 · 업데이트된 문서 집합을 검토하는 절차
문서 집합 버전 기록
특징 다시 계산
군집·투영 재실행
중심·경계·외딴 문서 읽기
차이와 한계 기록
재계산과 표본 검토를 구분하면 지도가 자동으로 최신 사실을 보장한다는 오해를 줄일 수 있습니다.

실습에서는 임곗값과 외딴 점을 함께 본다

아래 실습은 세 문서 쌍의 준비된 유사도 값을 사용한다. 임곗값을 높이면 연결이 줄고 낮추면 서로 다른 주제까지 합쳐질 수 있다. 결과 숫자만 보고 최적값을 정하지 말고, 끊기거나 새로 이어진 문서 쌍을 읽는 검토 과제를 함께 적는다.

외딴 점은 삭제 대상이 아니다. 잘못 수집된 문서일 수도 있고, 중요한 새 주제일 수도 있다. 제목·본문·출처를 확인한 뒤 오류라면 제외 이유를 기록하고, 새 주제라면 단독 군집이나 다중 라벨로 보존한다.

생각그림 9 · 임곗값 변화가 연결 수에 미치는 영향
임곗값연결되는 쌍읽기 과제
0.60D1–D2, D2–D4, D3–D5과잉 결합 확인
0.75D1–D2D2–D4 경계 읽기
0.85없음과도한 분리 확인
임곗값 선택은 연결 수가 아니라 경계 사례가 업무 목적에 맞는지를 보고 결정합니다.

복사해서 쓸 수 있는 LLM 요청문

아래 요청문은 교육용 예시다. 원문을 함께 제공하고, 모델이 빈칸을 추측하지 않도록 금지 조건을 넣었다. 결과를 받으면 원문 문장과 노드·선의 대응을 사람이 다시 확인한다.

다음 문서 목록을 군집 탐색용으로 정리해 줘.
1. 제공한 제목과 요약만 사용하고 보지 못한 본문은 추정하지 않는다.
2. 비슷한 문서를 묶되 각 군집 이름, 대표 문서, 공통 표현, 경계 문서를 함께 제시한다.
3. 두 군집에 걸치는 문서는 하나로 강제하지 말고 복수 후보로 표시한다.
4. 외딴 문서는 오류·희귀 주제·정보 부족 중 어떤 확인이 필요한지 적는다.
5. 이 결과가 준비된 텍스트 분류 예시이며 실제 벡터 계산 결과가 아니라면 그렇게 명시한다.
6. 마지막에 사람이 원문을 읽어야 할 우선순위를 제안한다.

[문서 목록]
D1 제목: ... / 요약: ...
생각그림 10 · 요청문에서 결과와 검토까지
원문 붙이기
도표 목적 명시
추정 금지
문장별 대조
요청문은 도표를 자동으로 진실로 만들지 않습니다. 원문과 결과를 왕복해 확인하는 절차가 핵심입니다.

직접 실습하고 결과를 읽기

이 실습은 브라우저 안에 준비한 교육용 자료만 사용한다. 외부 LLM을 호출하거나 실제 기관 자료를 조회하지 않는다. 입력을 바꾸어 결과가 어떻게 달라지는지 보고, 설명과 맞지 않는 결과가 나오면 어떤 정보가 빠졌는지 적어 본다.

임곗값을 바꿔 연결 변화를 살펴보세요.

자료와 출처

아래 자료는 이번 글의 정의와 표기법을 확인하는 데 사용했다. 생각그림과 사례 문장은 원자료를 복제하지 않고 이 글의 교육 목적에 맞게 새로 구성했다.