시맨틱 ID 페이지 — 개념 어휘 큐레이션하기 - Entity Enricher 문서

시맨틱 ID 페이지

시맨틱 ID를 해석하는 모든 보강은 조직이 이미 알고 있는 개념을 재사용하거나 새 개념을 만들어 냅니다. 시맨틱 ID 페이지는 이렇게 늘어나는 어휘를 직접 들여다볼 수 있는 곳입니다. 어휘를 탐색하고, 두 항목이 실제로 얼마나 가까운지 측정하고, 용어를 직접 추가하고, 임계값 아래로 빠져나간 유사 중복을 찾아내고, 더 이상 필요 없는 항목을 정리하고, 전체를 다른 임베딩 모델로 옮길 수 있습니다.

페이지 열기

이 페이지는 사이드바의 /semantic-ids에 있으며, 조직에 임베딩 모델이 있고 시맨틱 ID를 사용하는 스키마가 하나 이상 있어야 쓸모가 있습니다. 개념은 이 페이지가 아니라 보강 작업이 생성합니다.

누가 무엇을 할 수 있나요

  • 편집자 — 탐색, 비교, 내보내기, 텍스트 확인, 개념 추가, 개념 삭제.
  • 소유자 / 관리자 — 가져오기로 개념을 생성하고, 개념 유형 전체를 비우며, 임베딩 모델을 마이그레이션할 수도 있습니다.

개념 표 읽기

각 행은 하나의 개념입니다: 표준 텍스트(개념을 처음 만든 아이덴티티 텍스트), 개념 유형(개념이 속한 공간 — 기본값은 엔터티 유형 이름), 해당 개념을 사용하는 레코드 수, 생성 시점을 보여줍니다. 텍스트, 개념 유형(개수 제한 없음), 최소 사용 횟수로 필터링해 살펴볼 만한 항목을 찾을 수 있으며, 보기 내보내기는 필터에 표시된 내용을 그대로 다운로드합니다.

시맨틱 ID 페이지: 왼쪽에는 개념 테이블, 오른쪽에는 선택한 개념이 표시됩니다
행을 선택하면 유사도 열이 해당 행을 기준으로 한 측정값으로 바뀌고, 오른쪽에 그 개념이 열립니다.

유사도는 하나의 공간 안에서만 측정됩니다. 벡터는 동일한 개념 유형임베딩 모델 안에서만 비교할 수 있습니다. 선택한 개념의 공간 밖에 있는 행에는 가 표시되며, 이는 “0%”가 아니라 “비교 불가”를 뜻합니다.

용어 추가: 큐레이션 루프

데이터가 들어오기 전에 이미 어휘를 알고 있는 경우가 있습니다 — 요리 목록, 상태, 제품군처럼요. Curate 바는 바로 그 목록을 입력하기 위한 것입니다. 개념 유형으로 범위를 한 번 지정하면 — 범위가 페이지 주소에 반영되므로 /semantic-ids/<concept type>이 해당 구간으로 바로 연결되는 링크가 됩니다 — 이후 값 입력 → 확인 → 추가를 반복하면 됩니다. Enter 키를 누르면 확인하고, 한 번 더 누르면 추가됩니다. 입력란은 비워지면서 포커스를 유지하므로, 50개 용어짜리 어휘도 마우스를 쓰지 않고 몇 분 만에 입력할 수 있습니다.

입력한 값에 일치하는 항목이 없어 추가할 수 있다고 알려주는 큐레이션 바
임계값을 넘어 이 텍스트로 확정되는 개념이 없으므로 개념 추가가 활성화됩니다. 이제 표는 입력한 값과의 유사도 순으로 모든 개념을 정렬합니다.

확인은 실제 해석 단계를 그대로 시험 실행합니다 — 보강이 실행하는 것과 동일한 단계이므로 그 판정은 추정이 아닙니다. 그리고 이미 그 판정에 비용을 지불했기 때문에 중복 방지 장치 역할도 겸합니다. 기존 개념이 임계값 이상으로 입력 텍스트를 포괄하면 개념 추가는 비활성 상태로 유지됩니다.

입력한 값이 이미 등록되어 있어 추가가 비활성화된 큐레이션 바
정확히 일치하면 모델 호출이 없으므로 비용이 전혀 들지 않습니다. 근접 일치인 경우에는 기존 개념과 그 점수를 대신 알려 줍니다.

이 거부는 의도적입니다. 임계값을 넘는 쌍둥이 개념은 확정에서 이길 수 없고, 이후의 일치 결과를 두 항목 사이에서 예측할 수 없게 갈라놓기 때문입니다. 입력란 옆의 임계값 슬라이더가 확인 시 적용되는 기준선을 정합니다. 값을 높이면 더 엄격해지고, 낮추면 더 적극적으로 병합합니다.

어휘집을 반드시 보강에서 시작해야 하는 것도 아닙니다. 새 개념 유형…(페이지 툴바에서 에디터 이상 권한으로 사용 가능)에서 유형 이름을 지정하고 해당 개념이 속할 임베딩 모델을 선택합니다 — 기본값은 조직의 모델입니다. 큐레이트 바는 즉시 해당 유형으로 범위가 지정되며, 유형은 처음 추가하는 개념과 함께 어휘집에 추가됩니다. 이미 존재하는 유형은 기존 모델을 유지하는데, 어휘집을 다른 모델로 옮기는 것은 마이그레이션이 담당하기 때문입니다.

임계값 아래의 중복 찾기

임계값을 넘는 항목은 이미 병합되어 있습니다. 흥미로운 사례는 바로 그 아래에 있습니다. 의심스러울 만큼은 가깝지만, 하나로 합쳐질 만큼 가깝지는 않은 경우입니다. 중복 보기는 정확히 그 구간을 나열하며, 슬라이더로 구간을 넓히거나 좁힐 수 있습니다.

유사도가 임계값 바로 아래에 있는 개념 쌍을 나열하는 중복 보기
같은 구간이지만 판정은 전혀 다릅니다. 하나는 같은 터봇 요리를 가리키는 두 이름이고, 다른 하나는 실제로 서로 다른 두 초콜릿 디저트입니다. 페이지는 후보를 찾아줄 뿐, 판단은 사용자의 몫입니다.

비교 →를 누르면 해당 개념이 선택된 상태로 테이블로 돌아가므로, 결정하기 전에 주변에 어떤 항목이 있는지 확인할 수 있습니다. 진짜 중복이라고 판단되는 쌍은 그 쌍을 만들어 내는 속성의 임계값에 대한 신호입니다. 스키마 편집기에서 임계값을 낮추면 이후 보강에서 그 쌍이 저절로 하나로 합쳐집니다. 사용 횟수를 보면 둘 중 어느 쪽을 데이터가 실제로 선호하는지 알 수 있습니다.

개념 하나 살펴보기

오른쪽 패널에는 해당 개념의 ID(복사 가능 — 데이터베이스가 조인 기준으로 사용하는 값입니다), 정규화된 텍스트, 그 뒤에 있는 임베딩 모델, 그리고 이 개념으로 해석된 레코드가 표시됩니다. 선택한 개념은 페이지 주소의 일부이므로, 주소 표시줄의 URL이 곧 해당 개념으로 바로 돌아오는 링크입니다 — 동료와 공유하거나 티켓에 남겨 두기에 좋습니다. 두 가지 보기를 통해 인접한 개념들 사이에서 해당 개념을 확인할 수 있습니다.

궤도 보기: 이웃 개념을 유사도에 해당하는 반경에 배치하고 임계값을 점선 원으로 표시한 모습
궤도 — 중심에서의 거리가 유사도입니다. 따라서 점선 원이 바로 임계값이며, 그 안에 있는 것은 모두 이 개념으로 해석됩니다.
3D 개념 맵: 전체 개념 공간을 UMAP으로 배치하고 측정된 유사도에 따라 색을 입힌 모습
개념 맵(3D) — 선택적으로 공간 전체를 배치해 보여 줍니다. 측정값은 색상이며, 위치는 클러스터의 모양을 암시할 뿐입니다. 그래서 임계값 구(球)는 표시되지 않습니다.

위치가 곧 진실은 아닌 이유

1536차원을 3차원으로 압축하면 거리를 그대로 유지할 수 없고, 배치는 클러스터를 실제보다 조밀해 보이게 만듭니다. 두 보기 모두 동일한 유사도 척도로 모든 점을 칠하므로, 간격이 아니라 색상을 보고 판단하세요. 세션의 첫 맵은 배치에 몇 초가 걸리지만, 이후에는 즉시 표시됩니다.

연결된 레코드

연결된 각 레코드에는 이 개념으로 해석된 점수가 표시됩니다. 는 ID가 입력에 이미 들어 있어 그대로 전달되었다는 뜻으로, 비교가 전혀 이루어지지 않았음을 의미합니다. 시맨틱 ID 가이드에서 설명한 무료이고 모호함이 없는 경로입니다.

어휘 가져오기 및 내보내기

Import & resolve는 CSV 열 전체를 동일한 해석 단계로 처리하고, 각 행에 어떤 결과가 적용될지 표시합니다 — 파일 크기 제한은 없으며, 큰 파일은 1000개씩 배치로 해석되고 진행 상황이 실시간으로 표시됩니다. 파일은 브라우저에서 파싱되며 — 값 자체만 전송됩니다.

값이 담긴 CSV의 행별 결과(정확히 일치, 일치, 생성 예정)를 보여주는 가져오기 대화 상자
매칭 전용 실행은 아무것도 기록하지 않으므로, 동일한 값으로 다음 보강이 어떻게 동작할지 그대로 미리 보여 줍니다.
결과무엇을 의미하나요
exact정규화한 동일 텍스트가 이미 존재합니다 — 무료이며 모델 호출이 없습니다.
matched다른 표현이 임계값 이상으로 기존 개념에 해석되었습니다.
would_mint충분히 가까운 항목이 없습니다. 이 경우 보강 작업은 새 개념을 생성합니다.
minted같은 상황에서 생성을 켠 모습 — 이제 개념이 존재합니다(소유자 전용).

확정된 행은 별도의 CSV로 내려받을 수 있어, 가져오기를 순수한 감사 용도로도 쓸 수 있습니다. 900개의 공급업체 이름 중 이미 알려진 것은 무엇이고, 새 정체성을 만들게 될 것은 무엇인지 확인하는 식입니다. 내보내기는 반대 방향으로 동작하며 사용한 필터를 파일 이름에 반영하므로, 내보낸 파일이 쌓인 폴더도 그 자체로 내용을 설명합니다.

개념 삭제

이 삭제는 대부분의 데이터 삭제와 달리 안전합니다. 다음 보강이 필요한 개념을 다시 만들어 내기 때문에 어휘는 스스로 복원됩니다. 돌아오지 않는 것은 이미 저장한 ID와의 수렴이며, 확인하기 전에 대화 상자가 실제 개수와 함께 이를 알려 줍니다.

영향을 받는 레코드, 스키마, 동기화된 데이터베이스의 수를 보여주는 삭제 확인 대화 상자
기존 레코드는 이미 보유한 ID를 그대로 유지하지만, 같은 대상에 대한 새 보강 작업은 다른 ID를 발급합니다. 다운스트림 데이터베이스는 이를 새 행으로 인식합니다.

이런 변경 후에 기존 개념을 그대로 두는 것은 신중한 선택이 아니라 위험한 선택입니다. 새 키로 구성된 아이덴티티가 여전히 옛 벡터의 임계값 안에 들어가 조용히 흡수될 수 있고, 그러면 이쪽도 저쪽도 아닌 의미의 ID만 남게 됩니다.

임베딩 모델 변경

서로 다른 두 모델에서 생성된 벡터는 비교할 수 없으므로, 모델을 바꾸면 모든 개념을 다시 임베딩해야 합니다. 개념이 이미 존재한다면 이 마이그레이션이 유일하게 허용되는 방법이며, 조직의 임베딩 모델 설정이 저절로 바뀌지 않는 이유이기도 합니다.

원본 모델과 그 개념 수, 대상 모델 선택기를 보여주는 임베딩 모델 마이그레이션 대화 상자
한 번에 하나의 임베딩 공간만 사용합니다. 개념 ID는 절대 바뀌지 않으므로 레코드, 엔터티, 내보내기, Database Sync는 그동안 계속 유효합니다.

먼저 시험 실행

미리보기는 재임베딩에 드는 비용과 함께 충돌할 가능성이 있는 개념 쌍, 즉 새 공간에서 서로 임계값 안에 들어와 함께 확정되기 시작할 쌍을 알려줍니다. 모든 쌍이 아니라 현실적인 후보만 측정하며, 그 사실도 함께 밝힙니다.

중단도, 지켜봐야 할 시간대도 없습니다

새 벡터가 옆에서 생성되는 동안 보강은 기존 공간에서 계속 해석되며, 그 사이에 새로 만들어진 개념은 이후 단계에서 처리됩니다. 전환은 마지막에 한 번에 이루어지며, 이때 조직의 기본 임베딩 모델도 함께 바뀝니다. 도중에 중단해도 문제가 없습니다. 다시 시작하면 멈춘 지점부터 이어집니다.

이 페이지에 드는 비용

확인, 추가, 가져오기는 다른 임베딩 사용량과 동일하게 과금되며, 정확히 일치하는 경우에는 모델을 호출하지 않으므로 비용이 들지 않습니다. 탐색, 비교, 궤도 보기, 3D 맵, 내보내기, 삭제는 무료입니다. 하루 동안의 대화식 사용 비용은 크레딧 내역에 한 줄로 합쳐지므로, 장부가 소수점 단위 금액으로 채워지지 않고 읽기 쉬운 상태로 유지됩니다.