series_cosine_similarity()

计算两个数值向量的余弦相似度。

函数 series_cosine_similarity() 接受两个数值序列作为输入,并计算它们的余弦相似度

语法

series_cosine_similarity(series1,series2)

详细了解语法约定

参数

客户 类型​​ 必需 说明
series1, series2 dynamic 具有数值数据的输入数组。

返回

返回一个 real 类型的值,其值为 series1 与 series2 的余弦相似度。 如果两个序列长度不相等,则较长的序列将截断为较短序列的长度。 将忽略输入序列的任何非数值元素。

备注

如果一个或两个输入数组为空,则结果为 null

优化性能

为了在使用此函数时提高性能并降低存储要求,请考虑使用 Vector16 编码策略来存储不需要 64 位精度的浮点矢量,例如 ML 矢量嵌入。 利用 Bfloat16 浮点表示形式的 Vector16 配置文件可以显著优化操作,并将存储大小减少 4 倍。 有关 Vector16 编码策略的更多详细信息,请参阅编码策略类型

示例

datatable(s1:dynamic, s2:dynamic)
[
    dynamic([0.1,0.2,0.1,0.2]), dynamic([0.11,0.2,0.11,0.21]),
    dynamic([0.1,0.2,0.1,0.2]), dynamic([1,2,3,4]),
]
| extend cosine_similarity=series_cosine_similarity(s1, s2)
s1 s2 cosine_similarity
[0.1,0.2,0.1,0.2] [0.11,0.2,0.11,0.21] 0.99935343825504
[0.1,0.2,0.1,0.2] [1,2,3,4] 0.923760430703401