Classificazione semantica in Ricerca di intelligenza artificiale di Azure

In Ricerca di intelligenza artificiale di Azure, la classificazione semantica migliora notevolmente la pertinenza della ricerca usando la comprensione del linguaggio per rerank dei risultati della ricerca. Questo articolo è un'introduzione generale. La sezione alla fine illustra la disponibilità e i prezzi.

Il ranker 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. Se stai cercando il supporto vettoriale e la ricerca di somiglianza? Per informazioni dettagliate, vedere Ricerca vettoriale in Ricerca di intelligenza artificiale di Azure.

Che cos'è la classificazione semantica?

Il ranker semantico è una raccolta di funzionalità correlate alle query che migliorano la qualità di un risultato di ricerca con classificazione BM25 o RRF iniziale 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 didascalia e risposte nella risposta, che è possibile eseguire il rendering in una pagina di ricerca per migliorare l'esperienza di ricerca dell'utente.

Ecco le funzionalità del reranker 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.
Didascalia semantiche ed evidenziazioni Estrae frasi e frasi verbatim 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 abbia testo con le caratteristiche di una risposta.

Funzionamento del ranker semantico

La classificazione semantica genera una query e i risultati ai modelli di comprensione del linguaggio ospitati da Microsoft e analizzano 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 ranker semantico può rilevare il contesto e promuovere i risultati che soddisfano la finalità della query.

Illustration of vector representation for context.

La classificazione semantica è sia una risorsa che un utilizzo intensivo del tempo. Per completare l'elaborazione all'interno della latenza prevista di un'operazione di query, gli input al ranker semantico vengono consolidati e ridotti in modo che il passaggio di reranking 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 con caratteri di sottolineatura, didascalia e risposte.

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 classificato in BM25 da una query di testo o da un risultato RRF classificato da una query ibrida. Solo i campi di testo vengono usati nell'esercizio di reranking e solo i primi 50 risultati avanzano nella classificazione semantica, anche se i risultati 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 con testo elevato, qualsiasi elemento dopo il limite massimo viene ignorato.

    Campo semantico Limite di token
    "title" 128 token
    "parole chiave 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 ranker per l'assegnazione dei punteggi e ai modelli di comprensione della lettura automatica per didascalia e risposte.

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

Output del ranker semantico

Da ogni stringa di riepilogo, i modelli di comprensione della lettura automatica trovano passaggi che sono i più rappresentativi.

Gli output sono:

  • Un didascalia semantico 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 documento.

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

Le didascalie e le risposte sono sempre testo verbatim 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 del token 256.

  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 rilevanza semantica del documento per la query specificata. I punteggi vanno da 4 a 0 (alto a 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 didascalia evidenziati e tutti i campi contrassegnati come recuperabili o specificati in una clausola select.

Nota

A partire dal 14 luglio 2023, la distribuzione di @search.rerankerScore sta cambiando. Non è possibile determinare l'effetto sui punteggi, ad eccezione dei test. Se si ha una dipendenza di soglia rigida da questa proprietà di risposta, eseguire di nuovo i test per comprendere quali nuovi valori devono essere per la soglia.

Funzionalità e limitazioni semantiche

Il ranker semantico è una tecnologia più recente, quindi è importante impostare le aspettative su 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 didascalia 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 verbatim 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 Ricerca intelligenza artificiale di Azure come funzionalità aggiuntiva. Per altre informazioni sugli investimenti di ricerca e intelligenza artificiale che supportano la classificazione semantica, vedere How AI from Bing is powering Azure AI Search (Blog di Microsoft Research).

Il video seguente offre una panoramica delle funzionalità.

Disponibilità e prezzi

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

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

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

La pagina dei prezzi di Ricerca intelligenza artificiale di Azure mostra la tariffa di fatturazione per valute e intervalli diversi.

Gli addebiti per la classificazione semantica vengono addebitati 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 addebito, anche se queryType è impostato su semantica.

Vedi anche