XGEN 15일 무료 체험 — 설치 없이 브라우저에서 바로 시작하세요체험 신청
PlateerAI Labs
·Reading Time | 1 min
작성 | 김진수

답변에 언급된 그래프 노드만 강조하기(7편)

키워드 부분 일치와 이웃 부풀리기를 제거하고, 답변 텍스트에 등장한 후보 라벨만 2D·3D 화면에 강조합니다.

답변에 언급된 그래프 노드만 강조하기(7편) — 커버 일러스트Series · 온톨로지 개발기시리즈 7번째 글 · 전체 10편 보기

지식그래프 설계 · 7/10

검색 품질을 높인 뒤 화면에서 답을 검증해 보니, 붉게 강조된 노드가 실제 근거보다 훨씬 많았습니다. 키워드가 일치한 후보와 그 주변 노드까지 모두 같은 색으로 표시돼, 답변에 쓰인 개체와 검색 중 잠시 거친 개체를 구분할 수 없었습니다.

그래프가 커지자 3D 화면은 또 다른 병목이 됐습니다. 전체 구조를 둘러보는 데는 유용했지만, 밀집 그래프에서 특정 답의 근거를 읽고 노드를 선택하는 작업은 느리고 불안정했습니다. 모든 그래프 화면이 같은 목적을 가질 필요는 없었습니다.

검색 응답에서 키워드 부분 일치와 이웃 전체를 근거로 간주하던 fallback을 제거했습니다. 대신 검색 후보의 라벨 가운데 최종 답변 문자열에 실제로 등장한 항목을 evidence_nodes로 반환하고, 화면은 그 목록만 강조했습니다. 2D는 답변과 관련된 노드를 확인하는 화면으로, 3D는 전체 구조와 군집을 탐색하는 화면으로 역할을 나눴습니다.

후보 전체와 답변에 언급된 라벨을 나눴습니다

검색기는 그래프 트리플과 클래스 결과에서 후보 노드 라벨을 모은 뒤, 정규화한 최종 답변에 이름이 포함된 후보만 evidence_nodes에 담습니다. 프론트엔드는 이 라벨 목록만 강조합니다. 검색 후보와 중간 경로는 디버깅이나 탐색 정보로 남길 수 있지만 근거 색상에는 섞지 않습니다.

검색 후보와 탐색 경로
        ↓ 근거 선별
최종 답변에 이름이 등장한 후보
        ↓
evidence_nodes
        ↓
그래프 강조

이 계약은 안정적인 노드 ID나 관계 단위 provenance가 아니라 라벨 문자열 기반입니다. 같은 라벨을 가진 노드가 여러 개면 함께 강조될 수 있고, 답변에 이름이 등장했다는 사실만으로 그 노드가 실제 추론 근거였다고 증명할 수도 없습니다. 키워드 fallback보다 강조 범위를 줄였다는 것이 확인한 범위입니다. 정확한 인용 연결에는 안정 URI와 citation → triple → sourceChunk 매핑이 더 필요합니다.

2D와 3D 화면의 목적을 나눴습니다

3D 그래프는 전체 구조를 둘러보고 밀집된 관계망을 펼쳐 보는 데 유리합니다. 깊이와 회전을 이용해 큰 그래프를 탐색할 수 있고, 물리 계산을 Web Worker로 넘겨 메인 화면의 부하를 줄일 수 있습니다.

최종 답변의 근거를 읽을 때는 요구가 다릅니다. 노드 이름과 관계 라벨을 빠르게 비교하고, 인용과 연결된 몇 개의 노드를 놓치지 않는 것이 중요합니다. 원근과 겹침이 적은 2D 보기를 추가해 근거 확인에 사용했습니다.

두 화면은 같은 그래프를 서로 다른 방식으로 그립니다.

어느 한쪽을 기본 정답으로 두지 않고 사용자가 현재 하려는 일에 맞춰 전환합니다. 화면이 달라져도 evidence_nodes 라벨 목록을 같은 상태로 공유합니다. 이 덕분에 두 화면의 강조는 맞출 수 있지만, 앞서 말한 동명 노드 문제까지 해결되지는 않습니다.

검색 결과부터 화면 동작까지 하나의 계약으로 검증했습니다

검증은 백엔드 필드가 존재하는지에서 끝내지 않았습니다. 답변에 없는 키워드 후보가 더 이상 강조되지 않는지, 반환된 라벨이 2D와 3D에서 같은 방식으로 표시되는지, 빈 그래프와 근거가 없는 답변에서 이전 강조가 남지 않는지 확인했습니다.

이 변경을 ‘정확한 근거 추적’이라고 부르지는 않았습니다. 과도한 후보 강조를 줄인 UI 개선이고, 실제 추론 근거를 증명하는 데이터 계약은 아직 남아 있습니다. 화면에서 설명 가능성을 높이려면 무엇을 덜 칠할지뿐 아니라, 어떤 관계와 원문이 답을 지지했는지를 식별자로 보존해야 합니다.

검색 근거 화면을 정리한 다음 작업은 반복 빌드의 무결성이었습니다. 정형 클래스가 후처리에서 합쳐지지 않게 생성 출처를 남기고, 문서는 이미 처리한 청크를 다시 추출하지 않도록 완료 기준을 저장해야 했습니다.


이전 편 → 빈 그래프를 측정한 A/B에서 시작한 검색 재설계 다음 편 → 열 개 CSV 클래스가 네 개가 된 이유

#온톨로지#근거 추적#그래프 시각화
블로그 목록으로