NormalizeEmbedding
임베딩 벡터를 정규화합니다. 지정된 경우, 차원 매개 변수는 정규화하기 전에 사용할 벡터 차원의 수를 줄입니다.
포맷
NormalizeEmbedding ( data { ; dimension } )
매개 변수
데이터
- 임베딩 벡터를 포함하는 모든 텍스트 표현식, 텍스트 필드 또는 컨테이너 필드입니다.
차원
- 정규화에 사용할 벡터 차원의 수입니다. 생략되거나 값이 벡터의 실제 차원 크기보다 크거나 0보다 작거나 같으면 전체 벡터 차원 크기가 계산에 사용됩니다.
괄호{ }의 매개 변수는 옵션입니다.
반환되는 데이터 유형
텍스트, 컨테이너
다음 버전에서 시작됨
22.0
설명
이 함수는 입력 임베딩 벡터의 정규화된 버전을 반환합니다. 벡터 정규화는 길이(크기)가 1이 되도록 값을 확장하는 것을 의미합니다. 이는 유사성 측정이 벡터의 크기가 아닌 방향만 기반으로 하도록 하기 때문에 종종 코사인 유사성과 같은 계산을 수행하기 전에 필요한 단계입니다.
데이터
매개 변수가 텍스트인 경우, 부동 소수점 숫자를 포함하는 JSON 배열의 형태여야 합니다. 예: [-0.1, 0.5, ...]
. 하지만 일반적으로 임베딩 벡터를 이진 컨테이너 데이터로 사용하면 성능이 향상됩니다.
차원
매개 변수를 사용하면 지정된 초기 차원 수만 기준으로 벡터를 정규화할 수 있습니다. 차원
이 지정되면, 함수는 첫 번째 '차원' 요소만 사용하여 크기를 계산한 다음 그 크기를 기반으로 전체 원본 벡터의 크기를 조정합니다. 차원
매개 변수가 정규화 전에 벡터를 잘라 내기 위해 사용되지 않는 경우 반환된 벡터는 입력 벡터와 동일한 차원 수를 갖습니다.
참고
-
대부분의 임베딩 모델은 이미 정규화된 임베딩 벡터(단위 길이)를 생성합니다. 이러한 경우, 이러한 벡터에 대해
NormalizeEmbedding
을 호출할 필요는 없으며 원래 벡터만 반환합니다. 정규화된 벡터를 출력하지 않는 모델에 의해 생성된 임베딩 벡터로 작업하는 경우 또는 벡터 차원의 하위 세트를 기반으로 정규화해야 하는 경우에만 일반적으로 이 함수를 사용해야 합니다. -
선택적
차원
매개 변수를 사용하는 것은 초기 차원을 기반으로 비교 가능성을 유지하면서 더 큰 벡터의 더 작고 고정된 크기 표현으로 작업하려는 경우 유용할 수 있습니다.
예제 1
NormalizeEmbedding( "[3, 4]" )
은 [0.5999999999999999778, 0.80000000000000004441]을 반환하며, 이는 예시 목적으로 대략 [0.6, 0.8]
입니다. 원래 벡터 [3, 4]
의 길이는 Sqrt(3^2 + 4^2) = 5입니다. 정규화된 벡터 [0.6, 0.8]
의 길이는 Sqrt(0.6^2 + 0.8^2) = 1입니다.
예제 2
NormalizeEmbedding( Table::EmbeddingData; 256 )
는 원래 벡터의 처음 256 차원만 포함하는 새로운 벡터를 반환하고, 길이가 1이 되도록 정규화됩니다. 임베딩 벡터는 Table::EmbeddingData라는 컨테이너 필드에 저장됩니다. 이는 임베딩 모델이 큰 벡터를 생성하지만 코사인 유사성 계산에 더 작고 고정된 수의 차원만 사용하려고 하며 해당 차원을 정규화해야 하는 경우에 유용합니다.