将 ai.similarity 与 pandas 配合使用

ai.similarity 函数使用生成 AI 比较两个字符串表达式,然后计算语义相似性分数。 它只使用一行代码。 可以将数据帧的一列的文本值与单个通用文本值进行比较,也可以将另一列中的文本值与成对文本值进行比较。

注释

  • 本文介绍如何将 ai.similarity 与 pandas 配合使用。 若要将 ai.similarity 与 PySpark 配合使用,请参阅 本文
  • 请参阅 本概述文章中的其他 AI 函数。
  • 了解如何自定义 AI 函数的配置

概述

ai.similarity 函数扩展了 pandas Series 类。

若要计算单个公共文本值的每个输入行的语义相似性,请对 pandas DataFrame 文本列调用函数。 该函数还可以为与输入列具有相同维度的另一列中对应的成对值计算每行的语义相似性。

该函数返回一个 pandas Series,其中包含相似性分数,该分数可以存储在新的 DataFrame 列中。

Syntax

df["similarity"] = df["col1"].ai.similarity("value")

参数

Name Description
other
必选
包含以下任一项的 字符串
- 单个通用文本值,用于计算每个输入行的相似性分数。
- 与输入具有相同维度的另一个 pandas 系列 。 它包含用于计算每个输入行的成对相似性分数的文本值。

退货

该函数返回一个 pandas Series ,其中包含每个输入文本行的相似性分数。 输出相似性分数是相对的,最适合用于排名。 分数值的范围可以是 -1 (相反)到 1* (相同)。 分数 0 值指示值的含义不相关。

Example

# This code uses AI. Always review output for mistakes. 
# Read terms: https://azure.microsoft.com/support/legal/preview-supplemental-terms/.

df = pd.DataFrame([ 
        ("Bill Gates"), 
        ("Satya Nadella"), 
        ("Joan of Arc")
    ], columns=["name"])
    
df["similarity"] = df["name"].ai.similarity("Microsoft")
display(df)

此示例代码单元提供以下输出:

数据帧的屏幕截图,其中列为“name”和“similarity”。“similarity”列包含名称和输入单词的相似性分数。