Configurare la classificazione semantica e restituire didascalia nei risultati della ricerca

Questo articolo illustra come richiamare una classificazione semantica su un set di risultati, promuovendo i risultati più pertinenti semanticamente all'inizio dello stack. È anche possibile ottenere didascalia semantiche, con evidenziazioni sui termini e le frasi più rilevanti e risposte semantiche.

Prerequisiti

  • Un servizio di ricerca nel livello Basic, Standard (S1, S2, S3) o Archiviazione livello Ottimizzato (L1, L2), soggetto alla disponibilità dell'area.

  • Classificazione semantica abilitata nel servizio di ricerca.

  • Indice di ricerca esistente con contenuto RTF. La classificazione semantica si applica ai campi di testo (nonvector) e funziona meglio sul contenuto informativo o descrittivo.

Scegliere un client

Scegliere un client di ricerca che supporti la classificazione semantica. Di seguito sono riportate alcuni opzioni:

Aggiungere una configurazione semantica

Una configurazione semantica è una sezione dell'indice che stabilisce gli input dei campi per la classificazione semantica. È possibile aggiungere o aggiornare una configurazione semantica in qualsiasi momento, senza alcuna ricompilazione necessaria. Se si creano più configurazioni, è possibile specificare un valore predefinito. In fase di query specificare una configurazione semantica in una richiesta di query o lasciarla vuota per usare l'impostazione predefinita.

Una configurazione semantica ha un nome e le proprietà seguenti:

Proprietà Caratteristiche
Campo Titolo Stringa breve, idealmente sotto 25 parole. Questo campo può essere il titolo di un documento, il nome di un prodotto o un identificatore univoco. Se non si dispone di un campo appropriato, lasciarlo vuoto.
Campi contenuto Blocchi di testo più lunghi in formato in linguaggio naturale, soggetti ai limiti massimi di input dei token nei modelli di Machine Learning. Esempi comuni includono il corpo di un documento, la descrizione di un prodotto o un altro testo in formato libero.
Campi parola chiave Elenco di parole chiave, ad esempio i tag di un documento o un termine descrittivo, ad esempio la categoria di un elemento.

È possibile specificare un solo campo titolo, ma è possibile avere il numero di campi di contenuto e parola chiave desiderati. Per i campi contenuto e parola chiave, elencare i campi in ordine di priorità perché i campi con priorità inferiore potrebbero essere troncati.

In tutte le proprietà di configurazione semantica, i campi assegnati devono essere:

  • Attributi come searchable e retrievable
  • Stringhe di tipo Edm.String, Collection(Edm.String), sottocampi stringa di Collection(Edm.ComplexType)
  1. Accedere al portale di Azure e passare a un servizio di ricerca con classificazione semantica abilitata.

  2. Da Indici nel riquadro di spostamento a sinistra aprire un indice.

  3. Selezionare Configurazioni semantiche e quindi Aggiungi configurazione semantica.

    Viene visualizzata la pagina Nuova configurazione semantica con le opzioni per la selezione di un campo titolo, campi di contenuto e campi di parole chiave. Sono idonei solo i campi stringa ricercabili e recuperabili. Assicurarsi di elencare i campi del contenuto e i campi delle parole chiave in ordine di priorità.

    Screenshot that shows how to create a semantic configuration in the Azure portal.

    Selezionare OK per salvare le modifiche.

Eseguire la migrazione dalle versioni di anteprima

Se il codice di classificazione semantica usa le API di anteprima, questa sezione illustra come eseguire la migrazione a versioni stabili. È possibile controllare i log delle modifiche per verificare la disponibilità generale:

Modifiche al comportamento:

  • A partire dal 14 luglio 2023, il ranker semantico è indipendente dal linguaggio. Può rieseguire risultati composti da contenuti multilingue, senza pregiudizi verso una lingua specifica. Nelle versioni di anteprima, la classificazione semantica deprezza i risultati in modo diverso dalla lingua specificata dall'analizzatore di campi.

  • Nella versione 2021-04-30-Preview e in tutte le versioni successive, per l'API REST e tutti i pacchetti SDK destinati alla stessa versione: semanticConfiguration (in una definizione di indice) definisce i campi di ricerca usati nella classificazione semantica. In precedenza nell'API REST 2020-06-30-Preview, searchFields (in una richiesta di query) veniva usata per specificare il campo e la definizione delle priorità. Questo approccio funzionava solo nel 2020-06-30-Preview ed è obsoleto in tutte le altre versioni.

Passaggio 1: Rimuovere queryLanguage

Il motore di classificazione semantica è ora indipendente dal linguaggio. Se queryLanguage è specificato nella logica di query, non viene più usato per la classificazione semantica, ma si applica comunque alla correzione ortografica.

Mantenere queryLanguage se si usa il correttore ortografico e se il valore della lingua è supportato dal correttore ortografico. Il controllo ortografico ha una disponibilità limitata in tutte le lingue.

In caso contrario, eliminare queryLanguage.

Passaggio 2: Sostituire searchFields con semanticConfiguration

Se il codice chiama l'API REST 2020-06-30-Preview o i pacchetti BETA SDK destinati a tale versione dell'API REST, è possibile usare searchFields in una richiesta di query per specificare campi semantici e priorità. Nelle versioni beta iniziali, searchFields aveva un doppio scopo, vincolando la query iniziale ai campi elencati in searchFieldse impostando anche la priorità dei campi se è stata usata la classificazione semantica. Nelle versioni successive, searchFields mantiene lo scopo originale, ma non viene più usato per la classificazione semantica.

Mantenere searchFields le richieste di query se si usa per limitare la ricerca full-text all'elenco dei campi denominati.

Aggiungere un semanticConfiguration oggetto a uno schema di indice per specificare la priorità dei campi, seguendo le istruzioni riportate in questo articolo.

Passaggi successivi

Testare la configurazione semantica eseguendo una query semantica.