Fungsi INNER_PRODUCT_DISTANCE menghitung jarak inner product antara dua vektor.
Catatan
Inner product, juga dikenal sebagai dot product atau scalar product, merupakan hasil perkalian dua vektor yang menunjukkan tingkat penyelarasan antara keduanya. Vektor yang mirip menghasilkan inner product lebih besar dibandingkan vektor yang tidak mirip.
Syntax
FLOAT INNER_PRODUCT_DISTANCE(<vector>, <vector>)Parameters
vector: Wajib diisi. Vektor dengan tipe data VECTOR.
Return value
Mengembalikan nilai FLOAT yang merepresentasikan jarak inner product antara dua vektor input.
Optimasi dalam fungsi vektor dapat mengurangi presisi floating-point. Hasil fungsi ini mungkin memiliki kesalahan hingga 1e-4.
Examples
-- Aktifkan tipe data VECTOR.
set odps.sql.type.vector.enable=true;
set odps.sql.type.system.odps2=true;
-- Siapkan data.
CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT CAST(ARRAY(1.1,2.2,3.0) AS VECTOR(FLOAT,3)), CAST(ARRAY(1.0,1.0,1.0) AS VECTOR(FLOAT,3));
INSERT INTO vectors SELECT CAST(ARRAY(1.0,2.2,3.0) AS VECTOR(FLOAT,3)), CAST(ARRAY(4.0,6.0,8.0) AS VECTOR(FLOAT,3));
-- Hitung jarak inner product antara a dan b.
SELECT INNER_PRODUCT_DISTANCE(a, b) FROM vectors;
-- Result
+------------+
| _c0 |
+------------+
| -40.20000076293945 |
| -5.300000190734863 |
+------------+