TESTIIMILARITY

Si applica a:colonna calcolatatabella calcolata calcolo visivomisura

Restituisce un punteggio di pertinenza a virgola mobile che indica in che modo il testo in una colonna corrisponde a una stringa di ricerca.

Syntax

TEXTSIMILARITY(<within_text_column>, <search_text>[, <match_mode>])

Parameters

Termine Definizione
within_text_column Colonna contenente i valori di testo da cercare. La colonna deve avere il tipo di dati String.
search_text Stringa di testo che definisce la condizione di ricerca.
match_mode (Facoltativo) Comportamento di corrispondenza da usare. I valori supportati sono TEXTMATCHING, FUZZYMATCHINGe PHRASEMATCHING. Il valore predefinito è TEXTMATCHING.

Valore restituito

Punteggio di pertinenza lessicale a virgola mobile. All'interno di una valutazione, un punteggio più alto indica una corrispondenza più forte e 0 indica che non esiste alcuna corrispondenza.

Il punteggio è un valore di classificazione opaco, non una misura di somiglianza percentuale, probabilità o normalizzata. Confrontare i punteggi solo all'interno dello stesso contesto di ricerca.

Non è garantito che i punteggi siano confrontabili o stabili tra esecuzioni di query separate, stringhe di ricerca, colonne, contesti di filtro, origini dati o modalità di archiviazione, contenuto di indice o generazioni o piani di esecuzione. Questi fattori possono modificare l'implementazione del corpus di punteggio o dell'assegnazione dei punteggi anche quando i valori di testo visibili sono invariati.

Modalità di corrispondenza

Mode Behavior
TEXTMATCHING Tokenzza e assegna punteggi al search_text testo che corrisponde a qualsiasi token di ricerca.
FUZZYMATCHING Assegna punteggi ai token simili ai token di ricerca in una piccola distanza di modifica. Questa modalità supporta la corrispondenza a tolleranza di digitatura.
PHRASEMATCHING Segna il testo quando i token analizzati vengono visualizzati uno accanto all'altro e nell'ordine specificato. La punteggiatura non influisce sulla sequenza di token.

Osservazioni:

  • La ricerca non fa distinzione tra maiuscole e minuscole.
  • La funzione applica stemming e rimozione di parole non significative specifiche della lingua in base alle impostazioni cultura del modello. Ad esempio, lo stemming consente a una ricerca di trovare run la corrispondenza con running, runse runner. La rimozione di parole non significative ignora parole di riempimento comuni, ad esempio the, andof, e in.
  • Le regole di confronto per colonna non controllano il linguaggio dell'analizzatore. Le impostazioni cultura del modello lo controllano. In Power BI Desktop selezionare Opzioni file>e impostazioniOpzioni> Impostazionicorrenti >Lingua impostazioni internazionali delfile>> per impostare la lingua del modello. Per altre informazioni, vedere FORMAT.
  • Le impostazioni cultura del modello supportate sono:
    • Inglese (en)
    • Francese (fr)
    • Tedesco (de)
    • Spagnolo (es)
    • Portoghese (pt)
    • Russo (ru)
    • Arabo (ar)
    • Turco (tr)
    • Danese (da)
    • Olandese (nl)
    • Finlandese (fi)
    • Greco (el)
    • Ungherese (hu)
    • Italiano (it)
    • Norvegese (no, nbe nn)
    • Romeno (ro)
    • Svedese (sv)
    • Tamil (ta)
  • Per le impostazioni cultura non supportate, TEXTSIMILARITY usa un tokenizzatore generico in minuscolo senza stemming o rimozione di parole non significative.
  • La riduzione dell'accento non è supportata. Ad esempio, café non corrisponde a cafe.
  • La funzione richiede un indice full-text persistente in within_text_column. È supportato per le modalità di importazione, duale e archiviazione Direct Lake. Altre modalità di archiviazione restituiscono un errore.
  • La funzione viene valutata riga per riga. Prima di usarlo in una colonna calcolata su una tabella molto grande, testare le prestazioni con un carico di lavoro rappresentativo.
  • Usare TEXTCONTAINS quando è necessario un risultato di corrispondenza booleano anziché un punteggio di pertinenza.

Esempi

Restituisce le righe più rilevanti

La query seguente restituisce le cinque revisioni con i punteggi di pertinenza più elevati per great refrigerator:

EVALUATE
TOPN (
    5,
    FactReviews,
    TEXTSIMILARITY ( FactReviews[Text], "great refrigerator" ), DESC
)
Testo di esempio Score
This is a great refrigerator, keeps everything cold and quiet. 3.42
Fantastic fridge! Great cooling performance and very spacious. 2.98
Our old refrigerator broke and this new one works great. 2.54
Refrigerator is decent, not great but gets the job done. 1.72
The refrigerator section is large, freezer is okay. 1.10

Filtrare e classificare le righe

La query seguente limita il risultato alle revisioni che corrispondono refrigeratora e quindi le classifica in base alla pertinenza di great refrigerator:

EVALUATE
TOPN (
    5,
    FILTER (
        FactReviews,
        TEXTCONTAINS ( FactReviews[Text], "refrigerator" )
    ),
    TEXTSIMILARITY ( FactReviews[Text], "great refrigerator" ), DESC
)

TEXTCONTAINS ed TEXTSIMILARITY eseguire in modo indipendente. Il filtro delle righe con TEXTCONTAINS non modifica l'ambito dell'indice usato per calcolare TEXTSIMILARITY i punteggi.

Testo di esempio Score
This is a great refrigerator - quiet, spacious, and keeps food fresh. 3.42
Fantastic fridge. Cooling performance is excellent and build quality is great. 3.01
Our old refrigerator died, but this new one works great and runs silently. 2.67
The refrigerator section is huge. Would be great if the freezer were larger. 1.94
Solid refrigerator. Not the best, but overall a great value for the price. 1.65

Visualizzare i punteggi di pertinenza

La query seguente aggiunge il punteggio di pertinenza per ogni descrizione del prodotto al risultato:

EVALUATE
ADDCOLUMNS (
    Products,
    "Relevance score", TEXTSIMILARITY ( Products[Description], "wireless bluetooth" )
)
Testo di esempio Score
Wireless headphones with Bluetooth 2.35
Wired headphones 0