Del via


Brug ai.similarity med PySpark

Funktionen ai.similarity bruger generativ AI til at sammenligne to strengudtryk og derefter beregne en semantisk lighedsscore. Den bruger kun en enkelt kodelinje. Du kan sammenligne tekstværdier fra én kolonne i en DataFrame med en enkelt fælles tekstværdi eller med parvise tekstværdier i en anden kolonne.

Notat

Oversigt

Funktionen ai.similarity er tilgængelig for Spark DataFrames. Du skal angive navnet på en eksisterende inputkolonne som en parameter. Du skal også angive en enkelt fælles tekstværdi for sammenligninger eller navnet på en anden kolonne til parvise sammenligninger.

Funktionen returnerer en ny DataFrame, der indeholder lighedsscorer for hver række med inputtekst, der er i en outputkolonne.

Syntaks

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

Parametre

Navn Beskrivelse
input_col
Påkrævet
En streng , der indeholder navnet på en eksisterende kolonne med inputtekstværdier, der skal bruges til beregning af lighedsscorer.
other eller other_col
Påkrævet
Der kræves kun én af disse parametre. Parameteren other er en streng , der indeholder en enkelt fælles tekstværdi, der bruges til at beregne lighedsscore for hver inputrække. Parameteren other_col er en streng , der angiver navnet på en anden eksisterende kolonne med tekstværdier, der bruges til at beregne parvise lighedsscorer.
output_col
Valgfrit
En streng , der indeholder navnet på en ny kolonne til lagring af beregnede lighedsscorer for hver inputtekstrække. Hvis du ikke angiver denne parameter, genereres der et standardnavn for outputkolonnen.
error_col
Valgfrit
En streng , der indeholder navnet på en ny kolonne, der gemmer eventuelle OpenAI-fejl, der skyldes behandling af hver inputtekstrække. Hvis du ikke angiver denne parameter, genereres der et standardnavn for fejlkolonnen. Hvis der ikke er nogen fejl i en inputrække, har denne kolonne en null værdi.

Returnerer

Funktionen returnerer en Spark DataFrame , der indeholder en ny kolonne, der indeholder genererede lighedsscorer for hver inputtekstrække. Output-lighedsscores er relative, og de bruges bedst til rangering. Scoreværdier kan variere fra -1* (modsætninger) til 1 (identiske). En score på 0 angiver, at værdierne ikke er relateret i betydning.

Eksempel

# 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)

Denne eksempelkodecelle indeholder følgende output:

Skærmbillede af en dataramme med kolonnerne 'navn' og 'lighed'. Kolonnen 'lighed' indeholder lighedsscore for navnene og inputordet.