次の方法で共有


PySpark で ai.similarity を使用する

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

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

概要

ai.similarity関数は Spark DataFrames で使用できます。 既存の入力列の名前をパラメーターとして指定する必要があります。 また、比較に 1 つの共通テキスト値を指定するか、ペアワイズ比較用に別の列の名前を指定する必要があります。

この関数は、出力列にある入力テキストの各行の類似性スコアを含む新しい DataFrame を返します。

構文

df.ai.similarity(input_col="col1", other="value", output_col="similarity")

パラメーター

名前 Description
input_col
必須
類似性スコアの計算に使用する入力テキスト値を持つ既存の列の名前を含む 文字列
other または other_col
必須
これらのパラメーターの 1 つだけが必要です。 other パラメーターは、入力行ごとに類似性スコアを計算するために使用される 1 つの共通テキスト値を含む文字列です。 other_col パラメーターは、2 番目の既存の列の名前を指定する文字列であり、ペアの類似性スコアの計算に使用されるテキスト値が使用されます。
output_col
オプション
入力テキスト行ごとに計算された類似性スコアを格納する新しい列の名前を含む 文字列 。 このパラメーターを設定しない場合は、出力列に既定の名前が生成されます。
error_col
オプション
各入力テキスト行の処理に起因する OpenAI エラーを格納する新しい列の名前を含む 文字列。 このパラメーターを設定しない場合は、エラー列の既定の名前が生成されます。 入力行にエラーがない場合、この列には null 値があります。

返品ポリシー

この関数は、入力テキスト行ごとに生成された類似性スコアを含む新しい列を含む Spark DataFrame を返します。 出力の類似性スコアは相対的であり、順位付けに最適です。 スコアの値の範囲は、 -1* (反対) から 1 (同じ) までです。 0のスコアは、値が意味に無関係であることを示します。

Example

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

df = spark.createDataFrame([
        ("Bill Gates",), 
        ("Sayta Nadella",), 
        ("Joan of Arc",) 
    ], ["names"])

similarity = df.ai.similarity(input_col="names", other="Microsoft", output_col="similarity")
display(similarity)

このコード セルの例では、次の出力が提供されます。

列 'name' と 'similarity' が含まれたデータ フレームのスクリーンショット。