Condividi tramite


Configurare il classificatore semantico e restituire i sottotitoli nei risultati della ricerca

La classificazione semantica esegue l'iterazione su un set di risultati iniziale, applicando una metodologia di classificazione L2 che promuove i risultati più pertinenti semanticamente all'inizio dello stack. È anche possibile ottenere didascalie semantiche, con evidenziazioni sui termini e sulle frasi più rilevanti e risposte semantiche.

Questo articolo illustra come configurare un indice di ricerca per la riclassificazione semantica.

Prerequisiti

  • Servizio di ricerca di livello Basic o superiore, soggetto alla disponibilità dell'area.

  • Classificatore semantico abilitato nel servizio di ricerca.

  • Indice di ricerca esistente con contenuto in formato RTF. La classificazione semantica si applica ai campi di tipo stringa (non vettoriale) e si adatta meglio ai contenuti informativi o descrittivi.

Scegliere un client

Per aggiungere una configurazione semantica, è possibile usare uno degli strumenti e SDK seguenti:

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 che sia necessario ricompilarla. Se si creano più configurazioni, è possibile specificare un valore predefinito. Durante l'esecuzione di una query, è possibile specificare una configurazione semantica in una richiesta di query o lasciare vuoto il campo per usare il valore predefinito.

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

Proprietà Caratteristiche
Campo Titolo Una stringa breve, idealmente con meno di 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 del contenuto Frammenti di testo più lunghi redatti 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 delle parole chiave Un elenco di parole chiave, come i tag di un documento, o un termine descrittivo, ad esempio la categoria di un elemento.

È possibile specificare un solo campo titolo, ma il numero di campi per il contenuto e le parole chiave si possono scegliere. Elencare i campi di contenuto e parole chiave in ordine di priorità, poiché quelli a bassa priorità potrebbero essere eliminati.

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

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

  2. Nella sezione 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 del campo titolo, dei campi per il contenuto e dei campi per le parole chiave. Sono idonei solo i campi stringa ricercabili e recuperabili. Assicurarsi di elencare i campi per il contenuto e le parole chiave in ordine di priorità.

    Screenshot che mostra come creare una configurazione semantica nel portale di Azure.

    Selezionare OK per salvare le modifiche.

Eseguire la migrazione dalle versioni di anteprima

Nel caso in cui il codice di classificazione semantica usi le API di anteprima, in questa sezione viene spiegato come eseguire la migrazione alle versioni stabili. È possibile controllare i log delle modifiche per verificare la disponibilità generale:

Modifiche del comportamento:

  • A partire dal 14 luglio 2023, il classificatore semantico è indipendente dalla lingua. È infatti in grado di riclassificare i risultati composti da contenuti multilingue, senza alcun pregiudizio nei confronti di una lingua specifica. Nelle versioni di anteprima, la classificazione semantica priva di priorità i risultati che differiscono dalla lingua specificata dall'analizzatore di campo.

  • 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: in una definizione di indice, semanticConfiguration definisce i campi di ricerca usati nella classificazione semantica. In precedenza, in una richiesta di query dell'API REST 2020-06-30-Preview, searchFields veniva usato per specificare i campi e assegnare le priorità. Questo approccio è stato usato solo per la versione 2020-06-30-Preview e risulta obsoleto per tutte le altre versioni.

Passaggio 1: rimuovere queryLanguage

Il motore di classificazione semantica è ora indipendente dalla lingua. Se specificato nella logica di query, queryLanguage non viene più usato per la classificazione semantica. Tuttavia, è comunque possibile applicarlo alla correzione ortografica.

Tenere queryLanguage se si usa il correttore ortografico e il valore della lingua è supportato dal correttore. Il controllo ortografico è disponibile solo per alcune lingue.

Altrimenti, 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 che searchFieldsvenga usato in una richiesta di query per specificare campi semantici e priorità. Nelle versioni beta iniziali, searchFields aveva un duplice scopo: limitare la query iniziale ai campi elencati in searchFields e impostare la priorità dei campi, nel caso in cui si utilizzasse la classificazione semantica. Nelle versioni successive, searchFields mantiene il suo scopo originario, ma non viene più utilizzato per la classificazione semantica.

Tenere searchFields nelle richieste di query, se lo si usa per limitare la ricerca full-text all'elenco dei campi denominati.

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

Passaggi successivi

Testare la configurazione semantica eseguendo una query semantica.