Filtrare con la comprensione del linguaggio naturale
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
In questa pagina viene spiegato come applicare la comprensione del linguaggio naturale per creare automaticamente
filtri per le query di ricerca e, di conseguenza, migliorare la qualità dei
risultati restituiti.
Puoi utilizzare questa funzionalità con le app di ricerca connesse ai datastore di dati strutturati.
Informazioni sulla comprensione delle query in linguaggio naturale
Se hai un'app di ricerca personalizzata con dati strutturati,
le query in linguaggio naturale dei tuoi utenti possono essere riformattate come query filtrate
queries. In questo modo, i risultati di ricerca possono essere di qualità migliore rispetto alla ricerca di parole
nella stringa di query.
Ad esempio, una query in linguaggio naturale come "Find a coffee shop serving
banana bread" potrebbe essere riformulata come una query e un filtro:
"query": "banana bread", "filter": "type": ANY(\"cafe\").
Esistono due tipi di filtri che puoi applicare per la comprensione delle query in linguaggio naturale: hard
e soft.
Hard. Per impostazione predefinita, i filtri estratti vengono applicati come
criteri obbligatori che un risultato deve soddisfare per essere restituito.
Il comportamento è simile al campo filter nel
SearchRequest
messaggio.
Soft. Un'alternativa al filtro hard è applicare un boost ai
risultati di ricerca. È più probabile che vengano restituiti i risultati con boost, ma
possono essere restituiti anche i risultati che non soddisfano il criterio di boost.
Il comportamento è simile al campo boost_spec nel
SearchRequest
messaggio.
Puoi sperimentare entrambi i tipi di filtri. Se le ricerche non restituiscono
risultati sufficienti, prova a utilizzare il filtro soft anziché quello hard.
Per informazioni dettagliate su come applicare un filtro soft, consulta la sezione Cercare con il filtro
soft di seguito.
Esempi
Questa funzionalità è più facile da spiegare con gli esempi:
Esempio: estrazione di campi dalle query (filtro hard)
Questa funzionalità di comprensione delle query in linguaggio naturale viene spiegata tramite l'esempio della ricerca di un
hotel.
Prendi in considerazione la seguente query eseguita su un datastore di dati strutturati per un sito di hotel:
"Find me a family-friendly hotel with at least four stars that costs less
than 300 a night, lets me bring my dog, and has free Wi-Fi."
Senza la comprensione delle query in linguaggio naturale, l'app di ricerca cerca i documenti che contengono le parole
nella query.
Con la comprensione delle query in linguaggio naturale e i dati strutturati in modo appropriato, la ricerca diventa più
efficace sostituendo parte del linguaggio naturale nella query con i filtri.
Se i dati strutturati hanno campi per star_rating (numeri), price
(numeri) e amenities (stringhe), la query può essere formulata in modo da includere
i seguenti filtri:
Esempio: con un filtro di geolocalizzazione (filtro hard)
Questo esempio è simile al precedente, tranne per il fatto che include un
filtro di geolocalizzazione, che è un tipo speciale di filtro estratto.
Vertex AI Search è in grado di riconoscere le località in una query e
creare filtri di prossimità per le località.
Prendi in considerazione la seguente query eseguita su un sito di attività a livello statale:
"Find me a chic and stylish hotel with at least 4 stars that is in San
Francisco."
Con la comprensione delle query in linguaggio naturale e il filtro di geolocalizzazione, la ricerca viene riformulata in modo da
includere il seguente filtro per un hotel con una valutazione di almeno 4 stelle
e in un raggio di 10 km da San Francisco:
In questo esempio, GEO_DISTANCE è un indirizzo, ma in altre query
potrebbe essere scritto come latitudine e longitudine, anche se la query originale
conteneva un indirizzo.
Esempio: estrazione di campi dalle query (filtro soft)
Questa funzionalità di comprensione delle query in linguaggio naturale viene spiegata tramite l'esempio della ricerca
di un hotel, ma mostrando alcuni risultati che non soddisfano tutti i criteri.
Prendi in considerazione la seguente query eseguita su un sito di viaggi:
"Find me a family-friendly hotel with at least four stars that costs less
than 300 a night, and lets me bring my dog."
Con la comprensione delle query in linguaggio naturale e i dati strutturati in modo appropriato, la ricerca diventa più
efficace sostituendo parte del linguaggio naturale nella query con i filtri soft. Se i dati strutturati hanno campi per star_rating (numeri), price
(numeri) e amenities (stringhe), la query può essere riscritta come il
seguente boost:
Condizione di boost estratta dalla query in linguaggio naturale:
In questo caso, potrebbero essere restituiti alcuni hotel con una valutazione inferiore o hotel che non accettano animali domestici.
La forza del boost dipende dal numero di filtri strutturati a cui corrisponde un
documento. Se vengono estratte tre condizioni e il documento corrisponde
a una sola di queste, il documento riceve un piccolo boost.
In alternativa, se il documento corrisponde a tutte e tre le condizioni, riceve
un boost elevato.
Limitazioni
Le seguenti limitazioni si applicano alla comprensione delle query in linguaggio naturale:
La comprensione delle query in linguaggio naturale non può essere applicata alle app di ricerca combinate. Se
provi a utilizzare la comprensione delle query in linguaggio naturale con un'app di ricerca combinata, viene visualizzato un errore.
La comprensione delle query in linguaggio naturale funziona solo per le app di ricerca personalizzate che utilizzano datastore di dati strutturati.
L'utilizzo della comprensione delle query in linguaggio naturale aumenta la latenza, quindi potresti scegliere di non utilizzarla
se la latenza è un problema.
Per la geolocalizzazione, la località deve essere descritta in modo esplicito. Non puoi utilizzare località come "vicino a me" o "casa".
Il raggio per la geolocalizzazione è di 10 km e non è configurabile.
I campi booleani non possono essere utilizzati nei filtri. Ad esempio, se la query è "Find
me a non-smoking hotel room", un campo booleano come
"non_smoking": true non è utile, ma un campo stringa come
"non_smoking": "YES" può far parte del filtro.
Prima di iniziare
Prima di iniziare a utilizzare la comprensione delle query in linguaggio naturale, devi attivarla per i datastore di dati strutturati
connessi alle app che intendi utilizzare.
Per attivare la comprensione delle query in linguaggio naturale:
REST
Trova l'ID del datastore. Se hai già l'ID del datastore, vai al passaggio successivo.
Nella Google Cloud console, vai alla pagina AI Applications e
nel menu di navigazione fai clic su Datastore.
Se provi a utilizzare la comprensione delle query in linguaggio naturale prima che il datastore sia pronto, la risposta
che ricevi è la stessa di se filterExtractionCondition fosse impostato su DISABLED.
Cercare, convertendo le query in linguaggio naturale in filtri
Per cercare una query in linguaggio naturale e ottenere risultati ottimizzati per
le query in linguaggio naturale:
Cercare, convertendo le località nelle query in filtri di geolocalizzazione
Per cercare una query in linguaggio naturale e ottenere risultati ottimizzati per
le query in linguaggio naturale, inclusa la prossimità alle località:
Specificare i campi per le query in linguaggio naturale
Affinché un campo possa essere utilizzato come filtro nella comprensione delle query in linguaggio naturale, deve essere contrassegnato come
indicizzabile nello schema. (Per informazioni generali sulla visualizzazione e la modifica di uno
schema, consulta Aggiornare uno schema.)
Vertex AI Search determina quali dei campi indicizzabili nello schema
hanno senso da utilizzare nei filtri di comprensione delle query in linguaggio naturale. Tuttavia, se
sono inclusi campi che non vuoi, devi creare una lista consentita per
specificare quali campi possono essere utilizzati.
Considera un sito di prenotazione di hotel, in cui sono presenti campi come
amenities, id, price_per_night, rating, e room_types. Di questi, se
il id è una stringa di caratteri e numeri, è probabile che Vertex AI Search lo
escluda dai campi utilizzati per la comprensione delle query in linguaggio naturale.
Tuttavia, se noti che Vertex AI Search restituisce risultati di query di scarsa qualità
perché non esclude i campi che dovrebbe, devi
specificare quali campi possono essere utilizzati. Ad esempio, se lo schema dell'hotel ha un
campo per renovation_status che non è utile per i clienti e potrebbe essere
imbarazzante per la catena di hotel, puoi escluderlo dall'elenco dei
campi consentiti.
Esempio di record dal datastore di dati strutturati dei dati dell'hotel.
{"title":"Miller-Jones","rating":1.7,"price_per_night":115.16,"id":2902,…],"amenities":["Spa","Parking","Restaurant"…],"renovation_status":"Restaurant and spa renovation planned for 2027"}
Una lista consentita appropriata per i campi in questo esempio sarebbe ["amenities",
"price_per_night", "rating", "title"].
Manca renovation_status dall'elenco.
Per specificare una lista consentita di campi che possono essere utilizzati in una comprensione delle query in linguaggio naturale
in una ricerca:
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2026-01-05 UTC."],[],[]]