시맨틱 ID - Entity Enricher 문서

시맨틱 ID

같은 종류의 엔터티를 반복해서 보강하다 보면, 같은 회사, 같은 약물 부작용, 같은 사람처럼 동일한 현실 세계의 대상을 매번 조금씩 다른 표현으로 계속 다시 발견하게 됩니다. 시맨틱 ID는 Entity Enricher가 객체의 핵심 필드로부터 부여하는 안정적인 조직 범위 식별자로, 이러한 유사 중복 항목이 그룹화, 중복 제거, 조인이 가능한 하나의 정체성으로 통합됩니다.

문제: 같은 것, 다른 표현

객체의 정체성은 키 필드로 구성되며, 하나 또는 여러 개일 수 있습니다. 두 가지 예시:

키 하나

name을 키로 하는 부수 효과입니다

실행과 언어에 따라 Headache, Céphalée, Cephalalgia로 나타납니다. 하나의 키 필드, 세 가지 표기, 하나의 실제 개념입니다.

키 두 개

이름 + 국가로 키가 지정된 회사

Acme Inc. · United StatesAcme Incorporated · United States는 같은 회사이지만, Acme Inc. · Germany는 다른 회사입니다. 두 번째 키가 이를 구분해 주며, 그래서 하나의 객체가 여러 키를 가질 수 있습니다.

단순 문자열 매칭은 이 모든 경우에 실패하지만, 사람은 어느 것이 동일한지 압니다. 시맨틱 ID는 그러한 판단을 자동으로 인코딩합니다.

시맨틱 ID란

작동 방식

모델이 결과를 반환하면 Entity Enricher는 각 시맨틱 ID를 네 단계로 해석합니다 — 비용이 가장 낮은 것부터:

1
신원 텍스트를 작성하세요
객체의 모든 키 필드와 여기에 포함된 1-1 중첩 객체의 키를 기본 언어로 하나의 문자열로 결합합니다. 배열 내부의 항목은 포함되지 않으며, 각 배열 항목은 고유한 정체성을 가집니다. 텍스트는 사소한 차이를 줄이기 위해 정규화됩니다(소문자 변환, 괄호 안 내용 제거, 공백 축소).
2
정확히 일치하는 항목을 찾습니다
정규화된 해당 텍스트가 조직에서 이전에 확인된 적이 있으면 기존 ID가 즉시 재사용됩니다. 모델 호출도, 비용도 없습니다.
3
임베드 및 비교
그렇지 않으면 텍스트가 임베딩되어 벡터 유사도를 통해 동일한 유형의 기존 개념과 의미 기준으로 비교됩니다 — 따라서 “Acme Inc.”“Acme Incorporated”가 서로 가깝게 배치됩니다.
4
재사용 또는 새로 발급
가장 가까운 일치 항목이 유사도 임계값(기본값 0.92, 속성별 조정 가능)을 초과하는 점수를 받으면 해당 개념의 ID가 재사용됩니다. 그렇지 않으면 완전히 새로운 ID가 생성되어 다음을 위해 저장됩니다.

임계값 트레이드오프: 임계값이 높을수록 더 엄격하고(우발적 병합 감소), 낮을수록 더 느슨합니다(더 공격적인 중복 제거). 기본값 0.92가 과도하게 병합하거나 부족하게 병합할 때 property별로 조정하세요.

입력 ID 대 생성된 ID

ID가 생성되는지는 해당 객체의 입력에 이미 존재하는지에 따라 달라집니다. 이것이 왕복(round-trip)을 가능하게 합니다: 한 번 보강하여 ID를 얻은 다음, 이후 실행에서 알려진 ID를 다시 전달하여 동일한 정체성에 새로운 정보를 붙일 수 있습니다 — 더 저렴하고 모호하지 않습니다.

입력에 이미 있는 ID → 유지됨(조회)

전송하는 객체에 이미 시맨틱 ID가 있으면 조회로 처리됩니다. ID는 그대로 유지되고, 레코드는 기존 개념에 연결되며, 임베딩이 없습니다 — 비용도, 일치 또는 생성도 없습니다. 플랫폼에 "이 객체는 이미 우리 데이터베이스에서 식별되었습니다"라고 알려주는 것입니다.

입력에 ID가 없음 → 생성됨

객체에 시맨틱 ID가 없으면 플랫폼은 위의 네 단계로 하나를 생성합니다. 그 ID는 이후 조직의 데이터베이스에서 해당 객체의 안정적인 식별자가 됩니다.

존재하지만 인식할 수 없는 값(실제 개념 ID가 아닌 값)은 무시되며, 대신 ID가 생성됩니다.

활성화하는 방법

1
임베딩 모델을 선택하세요 (조직당 한 번)
소유자가 Model Management에서 임베딩이 가능한 모델을 조직의 기본 임베딩 모델로 선택합니다. 이는 거의 변경할 수 없습니다. 개념이 한 번 존재하면 전환할 수 없고 지우기만 가능합니다(저장된 벡터는 모델 간에 비교할 수 없습니다). 이것이 없으면 시맨틱 ID는 그냥 건너뜁니다.
2
스키마에 시맨틱 ID 추가
두 가지 방법이며, 모두 Schema Editor에 있습니다:
  • 생성 시 자동으로“유형에 대한 시맨틱 ID 생성”을 체크하세요. 키가 있는 모든 객체(자체 키 또는 1-1 중첩 객체의 키)는 루트 엔터티를 포함해 하나씩 부여받습니다.
  • 수동으로 — 아무 객체나 엔티티 하단에 있는 “+ 시맨틱 ID 추가” 컨트롤을 사용합니다.

해석은 강화당 소량의 임베딩 사용량이 듭니다(다른 모델 호출과 마찬가지로 측정됨). 정확히 일치하는 캐시는 반복 시 무료이며, 입력으로 제공된 ID는 비용이 들지 않습니다.

ID가 표시되는 위치와 활용 방법

해석된 ID는 강화 출력 JSON(각 객체의 id 필드)과 레코드 세부 정보의 시맨틱 개념에 표시됩니다. 다음 용도로 사용하세요:

다중 모델 융합을 보완합니다

융합은 단일 실행 내에서 모델 간의 불일치를 조정하고, 시맨틱 ID는 여러 실행과 시간에 걸쳐 동일한 엔티티를 조정합니다. 이 둘은 함께 작동합니다.