Dela via


Använda ai.similarity med PySpark

Funktionen ai.similarity använder generativ AI för att jämföra två stränguttryck och sedan beräkna en semantisk likhetspoäng. Den använder bara en enda kodrad. Du kan jämföra textvärden från en kolumn i en DataFrame med ett enda gemensamt textvärde eller med parvis textvärden i en annan kolumn.

Anmärkning

Översikt

Funktionen ai.similarity är tillgänglig för Spark DataFrames. Du måste ange namnet på en befintlig indatakolumn som en parameter. Du måste också ange ett enda gemensamt textvärde för jämförelser, eller namnet på en annan kolumn för parvis jämförelser.

Funktionen returnerar en ny DataFrame som innehåller likhetspoäng för varje rad med indatatext som finns i en utdatakolumn.

Syntax

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

Parameterar

Namn Description
input_col
Krävs
En sträng som innehåller namnet på en befintlig kolumn med indatatextvärden som ska användas för beräkning av likhetspoäng.
other eller other_col
Krävs
Endast en av dessa parametrar krävs. Parametern other är en sträng som innehåller ett enda gemensamt textvärde som används för att beräkna likhetspoäng för varje rad med indata. Parametern other_col är en sträng som anger namnet på en andra befintlig kolumn, med textvärden som används för att beräkna parvis likhetspoäng.
output_col
Valfritt
En sträng som innehåller namnet på en ny kolumn för att lagra beräknade likhetspoäng för varje textrad för indata. Om du inte anger den här parametern genereras ett standardnamn för utdatakolumnen.
error_col
Valfritt
En sträng som innehåller namnet på en ny kolumn som lagrar eventuella OpenAI-fel som uppstår när varje textrad bearbetas. Om du inte anger den här parametern genereras ett standardnamn för felkolumnen. Om en indatarad inte har några fel har den här kolumnen ett null värde.

Retur

Funktionen returnerar en Spark DataFrame som innehåller en ny kolumn som innehåller genererade likhetspoäng för varje textrad för indata. Utdatalikhetspoängen är relativa och används bäst för rangordning. Poängvärden kan variera från -1* (motsatser) till 1 (identiska). 0 Poängen indikerar att värdena inte har någon betydelse.

Example

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

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)

Den här exempelkodcellen innehåller följande utdata:

Skärmbild av en dataram med kolumnerna