Condividi tramite


Classificazione semantica in Azure AI Search

In Azure AI Search, la classificazione semantica è una funzionalità che migliora notevolmente la pertinenza della ricerca usando i modelli di comprensione del linguaggio di Microsoft per riclassificare i risultati della ricerca. Questo articolo è un'introduzione generale. La sezione alla fine illustra disponibilità e prezzi.

Il classificatore semantico è una funzionalità Premium, fatturata in base all'utilizzo. Questo articolo è consigliato per informazioni generali ma, se si preferisce iniziare, seguire questa procedura:

Nota

La classificazione semantica non usa l'intelligenza artificiale generativa o i vettori. Si stanno cercando supporto ai vettori e ricerca di similarità? Vedere Ricerca vettoriale in Azure AI Search per i dettagli.

Che cos'è la classificazione semantica?

Il classificatore semantico è una raccolta di funzionalità lato query che migliorano la qualità di un risultato ricerca iniziale con classificazione BM25 o RRF per le query basate su testo. Quando la si abilita nel servizio di ricerca, la classificazione semantica estende la pipeline di esecuzione delle query in due modi:

  • Prima di tutto, aggiunge la classificazione secondaria su un set di risultati iniziale con punteggio BM25 o RRF. Questa classificazione secondaria usa modelli di Deep Learning multilingue adattati da Microsoft Bing per promuovere i risultati più rilevanti in modo semantico.

  • In secondo luogo, estrae e restituisce sottotitoli e risposte nella risposta, di cui è possibile eseguire il rendering in una pagina di ricerca per migliorare l'esperienza di ricerca dell'utente.

Ecco le funzionalità del riclassificatore semantico.

Funzionalità Descrizione
Classificazione semantica Usa il contesto o il significato semantico di una query per calcolare un nuovo punteggio di pertinenza sui risultati pre-classificati.
Didascalie semantiche ed evidenziazioni Estrae frasi ed espressioni parola per parola da un documento che riepiloga meglio il contenuto, con evidenziazioni sui passaggi chiave per facilitare l'analisi. Le didascalie che riepilogano un risultato sono utili quando i singoli campi di contenuto sono troppo densi per la pagina dei risultati della ricerca. Il testo evidenziato eleva i termini e le frasi più rilevanti in modo che gli utenti possano determinare rapidamente il motivo per cui una corrispondenza è stata considerata rilevante.
Risposte semantiche Una sottostruttura facoltativa e aggiuntiva restituita da una query semantica. Fornisce una risposta diretta a una query simile a una domanda. Richiede che un documento disponga di testo con le caratteristiche di una risposta.

Funzionamento del classificatore semantico

La classificazione semantica genera una query e risultati per i modelli di comprensione del linguaggio ospitati da Microsoft e analizza le corrispondenze migliori.

La figura seguente illustra il concetto. Si consideri il termine "capitale". Ha significati diversi a seconda che il contesto sia finanziario, legale, geografico o grammaticale. Grazie alla comprensione del linguaggio, il classificatore semantico può rilevare il contesto e promuovere i risultati che soddisfano la finalità della query.

Illustrazione della rappresentazione vettoriale per il contesto.

La classificazione semantica utilizza molte risorse ma impiega anche molto tempo. Per completare l'elaborazione all'interno della latenza prevista di un'operazione di query, gli input al classificatore semantico vengono consolidati e ridotti in modo che il passaggio di riclassificazione possa essere completato il più rapidamente possibile.

Esistono due passaggi per la classificazione semantica: riepilogo e assegnazione dei punteggi. Gli output sono costituiti da risultati, sottotitoli e risposte con caratteri di sottolineatura.

Come vengono raccolti e riepilogati gli input

Nella classificazione semantica, il sottosistema di query passa i risultati della ricerca come input ai modelli di riepilogo e classificazione. Poiché i modelli di classificazione hanno vincoli di dimensione di input e richiedono un utilizzo intensivo dell'elaborazione, i risultati della ricerca devono essere ridimensionati e strutturati (riepilogati) per una gestione efficiente.

  1. La classificazione semantica inizia con un risultato con classificazione BM25 da una query di testo o con un risultato con classificazione RRF da una query ibrida. Solo i campi di testo vengono usati nell'esercizio di riclassificazione e solo i primi 50 risultati avanzano alla classificazione semantica, anche se i risultati ne includono più di 50. In genere, i campi usati nella classificazione semantica sono informativi e descrittivi.

  2. Per ogni documento nel risultato della ricerca, il modello di riepilogo accetta fino a 2.000 token, dove un token è di circa 10 caratteri. Gli input vengono assemblati dai campi "title", "keyword" e "content" elencati nella configurazione semantica.

  3. Le stringhe eccessivamente lunghe vengono tagliate per garantire che la lunghezza complessiva soddisfi i requisiti di input del passaggio di riepilogo. Questo esercizio di taglio è il motivo per cui è importante aggiungere campi alla configurazione semantica in ordine di priorità. Se sono presenti documenti di dimensioni molto grandi con campi pieni di testo, qualsiasi elemento dopo il limite massimo viene ignorato.

    Campo semantico Limite di token
    "title" 128 token
    "keywords 128 token
    "content" token rimanenti
  4. L'output di riepilogo è una stringa di riepilogo per ogni documento, composta dalle informazioni più rilevanti di ogni campo. Le stringhe di riepilogo vengono inviate al classificatore per l'assegnazione dei punteggi e ai modelli di comprensione della lettura automatica per sottotitoli e risposte.

    La lunghezza massima di ogni stringa di riepilogo generata passata al classificatore semantico è di 256 token.

Output del classificatore semantico

Da ciascuna stringa di riepilogo, i modelli di comprensione di lettura computer trovano i passaggi più rappresentativi.

Gli output sono:

  • Una didascalia semantica per il documento. Ogni didascalia è disponibile in una versione di testo normale e in una versione di evidenziazione ed è spesso inferiore a 200 parole per ogni documento.

  • Una risposta semantica facoltativa, presupponendo che sia stato specificato il parametro answers, che la query sia stata posta come domanda e che nella stringa lunga sia presente un passaggio che fornisce una risposta probabile alla domanda.

Le didascalie e le risposte sono sempre copiate parola per parola dall'indice. In questo flusso di lavoro non esiste alcun modello di intelligenza artificiale generativa che crea o compone nuovi contenuti.

Come vengono assegnati punteggi ai riepiloghi

L'assegnazione dei punteggi viene eseguita sulla didascalia e su qualsiasi altro contenuto della stringa di riepilogo che riempie la lunghezza di 256 token.

  1. Le didascalie vengono valutate per pertinenza concettuale e semantica rispetto alla query fornita.

  2. A ogni documento viene assegnato un @search.rerankerScore in base alla pertinenza semantica del documento per la query specificata. I punteggi vanno da 4 a 0 (alto e basso), dove un punteggio più alto indica una rilevanza maggiore.

  3. Le corrispondenze vengono elencate in ordine decrescente in base al punteggio e incluse nel payload della risposta alla query. Il payload include risposte, testo normale e didascalie evidenziate e tutti i campi contrassegnati come recuperabili o specificati in una determinata clausola.

Nota

Per una determinata query, le distribuzioni di @search.rerankerScore possono presentare lievi variazioni a causa delle condizioni a livello di infrastruttura. Gli aggiornamenti del modello di classificazione sono noti anche per influire sulla distribuzione. Per questi motivi, se si scrive codice personalizzato per le soglie minime o si imposta la proprietà soglia per le query vettoriali e ibride, non rendere i limiti troppo granulari.

Funzionalità e limitazioni semantiche

Il classificatore semantico è una tecnologia più recente, quindi è importante capire ciò che può e non può fare. Cosa può fare:

  • Alzare di livello le corrispondenze che sono semanticamente più vicine alla finalità della query originale.

  • Trovare le stringhe da usare come didascalie e risposte. Le didascalie e le risposte vengono restituite nella risposta e possono essere visualizzate in una pagina dei risultati della ricerca.

La classificazione semantica non può eseguire di nuovo la query sull'intero corpus per trovare risultati semanticamente rilevanti. La classificazione semantica classifica il set di risultati esistente, costituito dai primi 50 risultati come segnati dall'algoritmo di classificazione predefinito. Inoltre, la classificazione semantica non può creare nuove informazioni o stringhe. I sottotitoli e le risposte vengono estratti parola per parola dal contenuto, quindi se i risultati non includono testo simile a una risposta, i modelli linguistici non ne produrranno uno.

Anche se la classificazione semantica non è utile in ogni scenario, alcuni contenuti possono trarre vantaggio in modo significativo dalle sue funzionalità. I modelli linguistici nella classificazione semantica funzionano meglio sul contenuto ricercabile, ricco di informazioni e strutturato come prosa. Una knowledge base, la documentazione online o i documenti che contengono contenuto descrittivo possono sfruttare al meglio le funzionalità di classificazione semantica.

La tecnologia sottostante proviene da Bing e Microsoft Research e si integra nell'infrastruttura di Azure AI Search come funzionalità aggiuntiva. Per altre informazioni sugli investimenti di ricerca e intelligenza artificiale che supportano la classificazione semantica, vedere Come l'IA da Bing sta migliorando Azure AI Search (Blog di ricerca Microsoft).

Il video seguente offre una panoramica delle funzionalità.

Disponibilità e prezzi

Il classificatore semantico è disponibile nei servizi di ricerca nei livelli Basic e superiore, a seconda della disponibilità a livello di area.

Quando si abilita il classificatore semantico, scegliere un piano tariffario per la funzionalità:

  • Con volumi di query inferiori (meno di 1000 mensili), la classificazione semantica è gratuita.
  • In volumi di query superiori scegliere il piano tariffario standard.

La pagina Prezzi di Azure AI Search mostra la tariffa di fatturazione per valute e intervalli diversi.

Gli addebiti per la classificazione semantica vengono effettuati quando le richieste di query includono queryType=semantic e la stringa di ricerca non è vuota ( ad esempio, search=pet friendly hotels in New York). Se la stringa di ricerca è vuota (search=*), non viene addebitato alcun costo, anche se queryType è impostato su semantico.

Vedi anche