共用方式為


將 ai.similarity 與 pandas 一起使用

ai.similarity 函數使用生成式 AI 來比較兩個字串表達式,然後計算語義相似度分數。 它只使用一行代碼。 您可以比較 DataFrame 中一列的文本值,與單一共同的文本值進行比較,或與另一列的成對文本值進行比較。

備註

  • 本文涵蓋了如何將 ai.similarity 與 pandas 一起使用。 若要將 ai.similarity 與 PySpark 搭配使用,請參閱 這篇文章
  • 請參閱 此概述文章中的其他 AI 功能。
  • 瞭解如何自訂 AI 功能的設定

概觀

ai.similarity 函式會擴充 pandas Series 類別。

若要計算單一通用文字值的每個輸入資料列的語意相似性,請在 pandas DataFrame 文字欄上呼叫函數。 該函數還可以計算與輸入列具有相同維度的另一列中相應成對值的每一列的語義相似性。

此函式會傳回包含相似性分數的 pandas Series,可儲存在新的 DataFrame 資料行中。

語法

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

參數

名稱 Description
other
為必填項目
包含下列其中一項的 字串
- 單一通用文字值,用來計算每一個輸入列的相似性分數。
- 另一個與輸入尺寸相同的 pandas 系列 。 它包含文字值,可用來計算每個輸入列的成對相似性分數。

退貨

此函數會傳回一個 pandas Series ,其中包含每個輸入文字列的相似性分數。 輸出相似度分數是相對的,而且最適合用於排名。 分數值的範圍可以從 -1 (相反) 到 1* (相同)。 分數值 表示 0 這些值在意義上不相關。

Example

# This code uses AI. Always review output for mistakes.

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

此範例程式碼儲存格提供下列輸出:

具有資料行 'name' 和 'similarity' 的資料框螢幕擷取畫面。「相似性」欄包含名稱和輸入單字的相似性分數。