将字符串转换为向量以计算余弦相似度

斯里奥罗文德

我有以下结构的两个 PySpark 数据框。我想执行交叉连接并计算余弦相似度。qry_emb 是一个带有逗号分隔值的字符串列。

如何将此字符串转换为密集向量?

Pyspark 数据框

df.printSchema()
# root
# |-- query: string (nullable = true)
# |-- qry_emb: string (nullable = true)
ZygD

要将字符串转换为向量,首先将字符串转换为数组 ( split),然后使用array_to_vector

from pyspark.sql import functions as F
from pyspark.ml.functions import array_to_vector
df = df.withColumn('qry_emb', array_to_vector(F.split('qry_emb', ',[ ]*').cast('array<double>')))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章