次の方法で共有


pandas で ai.similarity を使用する

ai.similarity関数は、生成 AI を使用して 2 つの文字列式を比較し、セマンティック類似性スコアを計算します。 1 行のコードのみを使用します。 DataFrame の 1 つの列のテキスト値を、1 つの共通テキスト値または別の列のペアワイズ テキスト値と比較できます。

  • この記事では、pandas での ai.similarity の使用について説明します。 PySpark で ai.similarity を使用するには、 この記事を参照してください。
  • この概要記事では、他の AI 関数を参照してください。
  • AI 関数の構成をカスタマイズする方法について説明します。

概要

ai.similarity 関数は、pandas Series クラスを拡張します。

1 つの共通テキスト値に対する各入力行のセマンティック類似性を計算するには、 pandas DataFrame テキスト列で関数を呼び出します。 関数は、入力列と同じディメンションを持つ別の列の対応するペアワイズ値に対する各行のセマンティック類似性を計算することもできます。

この関数は、新しい DataFrame 列に格納できる類似性スコアを含む pandas Series を返します。

構文

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

パラメーター

名前 Description
other
必須
次のいずれかを含む 文字列
- 1 つの共通テキスト値。これは、入力行ごとに類似性スコアを計算するために使用されます。
- 入力と同じ次元を持つ別の 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' が含まれたデータ フレームのスクリーンショット。