CosineSimilarity
두 개의 임베딩 벡터 사이의 유사도를 -1(반대)과 1(유사) 사이의 숫자로 반환합니다.
포맷
CosineSimilarity ( v1 ; v2 )
매개 변수
v1
및 v2
- 텍스트 표현식, 텍스트 필드이거나 임베딩 벡터를 포함하는 컨테이너 필드입니다.
반환되는 데이터 유형
숫자
다음 버전에서 시작됨
21.0
설명
이 함수는 코사인 메소드를 사용하여 두 임베딩 벡터 간에 유사도의 척도를 반환합니다. 임베딩 벡터의 경우 코사인 유사도는 두 텍스트 값이 얼마나 유사할 지에 대한 유용한 척도를 제공합니다. 결과 범위는 -1에서 1까지이며(1 포함), 값이 1에 가까울수록 시맨틱 유사도가 높음, 0은 유사도가 없음, -1은 비유사도를 나타냅니다.
v1과 v2가 텍스트인 경우 JSON 배열의 형태여야 합니다. 벡터는 또한 동일한 차원을 가져야 합니다(배열에서 요소의 수는 동일해야 함). 하지만 일반적으로 임베딩 벡터를 이진 컨테이너 데이터로 사용하면 성능이 향상됩니다.
참고
-
정규화된 임베딩 벡터가 필요합니다. 모든 임베딩 벡터는 동일한 모델에서 생성해야 호환성과 성능을 보장할 수 있으며, 서로 다른 모델의 임베딩 벡터를 혼합하는 것은 지원되지 않습니다.
예제 1
CosineSimilarity ( "[-0.043686170000000003333, 0.042094484000000001456, ... ]" ; "[-0.049242082999999998993, 0.040926795000000001923, ... ]" )
에서 특정 모델에 대해 .90848158767415143622를 반환합니다.
예제 2
CosineSimilarity( v1 ; v2 )
는 v1 및 v2 필드가 각각 "Claris"와 "Claire" 텍스트에 대한 임베딩 벡터를 포함할 때 특정 모델에 대해 .54682693950088512302를 반환합니다.