Informazioni sui componenti di ricerca
Una soluzione di ricerca di intelligenza artificiale è costituita da più componenti, ognuno dei quali ha un ruolo importante nel processo di estrazione, arricchimento, indicizzazione e ricerca dei dati.
Origine dati
La maggior parte delle soluzioni di ricerca inizia con un'origine dati contenente i dati da cercare. Ricerca di intelligenza artificiale di Azure supporta più tipi di origine dati, tra cui:
- File non strutturati in contenitori di Archiviazione BLOB di Azure.
- Tabelle in database SQL di Azure.
- Documenti in Cosmos DB.
Ricerca di intelligenza artificiale di Azure può estrarre dati da queste origini dati per l'indicizzazione.
In alternativa, le applicazioni possono eseguire il push dei dati JSON direttamente in un indice, senza estrarli da un archivio dati esistente.
Set di competenze
In una soluzione di ricerca di base è possibile indicizzare semplicemente i dati estratti dall'origine dati. Le informazioni che possono essere estratte dipendono dall'origine dati. Ad esempio, durante l'indicizzazione dei dati in un database è possibile che vengano estratti i campi nelle tabelle del database oppure quando si indicizza un set di documenti è possibile che vengano estratti i metadati del file, ad esempio nome file, data di modifica, dimensioni e autore, insieme al contenuto di testo del documento.
Anche se una soluzione di ricerca di base che indicizza i valori dei dati estratti direttamente dall'origine dati può essere utile, le aspettative degli utenti di applicazioni moderne hanno generato la necessità di ottenere informazioni più dettagliate sui dati. In Ricerca di intelligenza artificiale di Azure è possibile applicare competenze di intelligenza artificiale come parte del processo di indicizzazione per arricchire i dati di origine con nuove informazioni, che possono essere mappate ai campi dell'indice. Le competenze usate da un indicizzatore sono incapsulate in un set di competenze, che definisce una pipeline di arricchimento in cui ogni passaggio ottimizza i dati di origine con informazioni dettagliate ottenute da una specifica competenza di intelligenza artificiale. Di seguito sono riportati alcuni esempi dei tipi di informazioni che possono essere estratte da una competenza di intelligenza artificiale:
- Lingua in cui viene scritto un documento.
- Frasi chiave che possono essere utili per determinare i temi principali o gli argomenti trattati in un documento.
- Punteggio del sentiment che quantifica il livello di positività o negatività di un documento.
- Posizioni specifiche, persone, organizzazioni o luoghi di interesse indicati nel contenuto.
- Descrizioni di immagini generate dall'intelligenza artificiale o testo dell'immagine estratto dal riconoscimento ottico dei caratteri.
- Competenze personalizzate sviluppate per soddisfare requisiti specifici.
Indicizzatore
L'indicizzatore è il motore che gestisce il processo di indicizzazione complessivo. Accetta gli output estratti usando le competenze nell'insieme di competenze, oltre ai valori dei dati e dei metadati estratti dall'origine dati originale, e ne esegue il mapping ai campi dell'indice.
Un indicizzatore viene eseguito automaticamente al momento della creazione e può essere pianificato per l'esecuzione a intervalli regolari o per l'esecuzione su richiesta per aggiungere altri documenti all'indice. In alcuni casi, ad esempio quando si aggiungono nuovi campi a un indice o nuove competenze a un set di competenze, potrebbe essere necessario reimpostare l'indice prima di eseguire nuovamente l'indicizzatore.
Indice
L'indice è il risultato ricercabile del processo di indicizzazione. È costituito da una raccolta di documenti JSON, con campi che contengono i valori estratti durante l'indicizzazione. Le applicazioni client possono eseguire query sull'indice per recuperare, filtrare e ordinare le informazioni.
Ogni campo di indice può essere configurato con gli attributi seguenti:
- key: campi che definiscono una chiave univoca per i record dell'indice.
- searchable: campi che possono essere sottoposti a query mediante una ricerca full-text.
- filterable: campi che possono essere inclusi nelle espressioni filtro per restituire solo i documenti corrispondenti ai vincoli specificati.
- sortable: campi che possono essere usati per ordinare i risultati.
- facetable: campi che possono essere usati per determinare i valori per i facet, ovvero elementi dell'interfaccia utente usati per filtrare i risultati in base a un elenco di valori noti dei campi.
- retrievable: campi che possono essere inclusi nei risultati della ricerca. Per impostazione predefinita, tutti i campi sono recuperabili, a meno che questo attributo non venga rimosso esplicitamente.