Importazione guidata dati in Ricerca di intelligenza artificiale di Azure

La procedura guidata Importa dati nella portale di Azure crea più oggetti usati per l'indicizzazione e l'arricchimento tramite intelligenza artificiale in un servizio di ricerca. Se non si ha familiarità con Ricerca intelligenza artificiale di Azure, è una delle funzionalità più potenti a disposizione. Con il minimo sforzo, è possibile creare una pipeline di indicizzazione o arricchimento che esercita la maggior parte delle funzionalità di Ricerca di intelligenza artificiale di Azure.

Se si usa la procedura guidata per i test di verifica, questo articolo illustra le operazioni interne della procedura guidata in modo da poterlo usare in modo più efficace.

Questo articolo non è un passaggio dettagliato. Per informazioni sull'uso della procedura guidata con dati di esempio predefiniti, vedere Avvio rapido: Creare un indice di ricerca o Guida introduttiva: Creare un set di competenze per la traduzione di testo ed entità.

Avvio della procedura guidata

Nel portale di Azure aprire la pagina per la ricerca dei servizi dal dashboard o trovare il servizio nell'elenco. Nella pagina Panoramica del servizio nella parte superiore selezionare Importa dati.

Screenshot of the Import data command

La procedura guidata viene aperta completamente espansa nella finestra del browser in modo da avere più spazio per lavorare.

È anche possibile avviare Importa dati da altri servizi di Azure, tra cui Azure Cosmos DB, database SQL di Azure, Istanza gestita di SQL e Archiviazione BLOB di Azure. Cercare Aggiungi Ricerca intelligenza artificiale di Azure nel riquadro di spostamento a sinistra nella pagina di panoramica del servizio.

Oggetti creati dalla procedura guidata

La procedura guidata restituirà gli oggetti nella tabella seguente. Dopo aver creato gli oggetti, è possibile esaminare le relative definizioni JSON nel portale o chiamarle dal codice.

Oggetto Descrizione
Indicizzatore Oggetto di configurazione che specifica un'origine dati, un indice di destinazione, un set di competenze facoltativo, una pianificazione facoltativa e impostazioni di configurazione facoltative per la gestione degli errori e la codifica base 64.
Origine dati Rende persistenti le informazioni di connessione a un'origine dati supportata in Azure. Un oggetto di origine dati viene usato esclusivamente con gli indicizzatori.
Indice Struttura dei dati fisici usata per la ricerca full-text e altre query.
Set di competenze (Facoltativo). Set completo di istruzioni per la modifica, la trasformazione e la modellazione del contenuto, tra cui l'analisi e l'estrazione di informazioni dai file di immagine. A meno che il volume di lavoro non sia inferiore al limite di 20 transazioni al giorno per indicizzatore, il set di competenze deve includere un riferimento a una risorsa multiservizio di Azure per intelligenza artificiale che fornisce l'arricchimento.
Archivio conoscenze (Facoltativo). Archivia l'output da una pipeline di arricchimento tramite intelligenza artificiale in tabelle e BLOB in Archiviazione di Azure per l'analisi indipendente o l'elaborazione downstream.

Vantaggi e limitazioni

Prima di scrivere codice, è possibile usare la procedura guidata per la creazione di prototipi e test di verifica. La procedura guidata si connette a origini dati esterne, campiona i dati per creare un indice iniziale e quindi importa i dati come documenti JSON in un indice in Ricerca di intelligenza artificiale di Azure.

Se si valutano set di competenze, la procedura guidata gestirà tutti i mapping dei campi di output e aggiungerà funzioni helper per creare oggetti utilizzabili. La suddivisione del testo viene aggiunta se si specifica una modalità di analisi. L'unione testo viene aggiunta se si sceglie l'analisi delle immagini in modo che la procedura guidata possa riunire le descrizioni di testo con il contenuto dell'immagine. Competenze del shaper aggiunte per supportare proiezioni valide se si sceglie l'opzione dell'archivio conoscenze. Tutte le attività precedenti sono dotate di una curva di apprendimento. Se non si ha familiarità con l'arricchimento, la possibilità di gestire questi passaggi consente di misurare il valore di una competenza senza dover investire molto tempo e fatica.

Il campionamento è il processo in base al quale viene dedotto uno schema di indice e presenta alcune limitazioni. Quando viene creata l'origine dati, la procedura guidata seleziona un campione casuale di documenti per decidere quali colonne fanno parte dell'origine dati. Non tutti i file vengono letti, perché ciò potrebbe richiedere ore per origini dati molto grandi. Dato una selezione di documenti, metadati di origine, ad esempio nome di campo o tipo, viene usato per creare una raccolta di campi in uno schema di indice. A seconda della complessità dei dati di origine, potrebbe essere necessario modificare lo schema iniziale per l'accuratezza o estenderlo per completezza. È possibile apportare le modifiche inline nella pagina di definizione dell'indice.

In generale, i vantaggi dell'uso della procedura guidata sono chiari: purché i requisiti siano soddisfatti, è possibile creare un prototipo di un indice queryable entro pochi minuti. Alcune delle complessità dell'indicizzazione, ad esempio la serializzazione dei dati come documenti JSON, vengono gestite dalla procedura guidata.

La procedura guidata non è senza limitazioni. I vincoli sono riepilogati nel modo seguente:

  • La procedura guidata non supporta l'iterazione o il riutilizzo. Ogni passaggio della procedura guidata crea un nuovo indice, un set di competenze e una configurazione dell'indicizzatore. Solo le origini dati possono essere mantenute e riutilizzate all'interno della procedura guidata. Per modificare o perfezionare altri oggetti, eliminare gli oggetti e ricominciare oppure usare le API REST o .NET SDK per modificare le strutture.

  • Il contenuto di origine deve trovarsi in un'origine dati supportata.

  • Il campionamento viene eseguito su un subset di dati di origine. Per le origini dati di grandi dimensioni, è possibile che la procedura guidata non eseghi i campi. Potrebbe essere necessario estendere lo schema o correggere i tipi di dati dedotti, se il campionamento non è sufficiente.

  • L'arricchimento tramite intelligenza artificiale, come esposto nel portale, è limitato a un subset di competenze predefinite.

  • Un archivio conoscenze, che può essere creato dalla procedura guidata, è limitato a poche proiezioni predefinite e usa una convenzione di denominazione predefinita. Per personalizzare nomi o proiezioni, è necessario creare l'archivio conoscenze tramite l'API REST o gli SDK.

  • L'accesso pubblico a tutte le reti deve essere abilitato nell'origine dati supportata mentre viene usata la procedura guidata, perché il portale non sarà in grado di accedere all'origine dati durante l'installazione se l'accesso pubblico è disabilitato. Ciò significa che se l'origine dati dispone di un firewall abilitato o se è stato impostato un collegamento privato condiviso, è necessario disabilitarli, eseguire la procedura guidata Importa dati e quindi abilitarla al termine dell'installazione guidata. Se non si tratta di un'opzione, è possibile creare l'origine dati, l'indicizzatore, il set di competenze e l'indice di Ricerca di intelligenza artificiale di Azure tramite l'API REST o gli SDK.

Workflow

La procedura guidata è organizzata in quattro passaggi principali:

  1. Connessione a un'origine dati di Azure supportata.

  2. Creare uno schema di indice, dedotto dai dati dell'origine di campionamento.

  3. Facoltativamente, aggiungere arricchimenti di intelligenza artificiale per estrarre o generare contenuto e struttura. Gli input per la creazione di un archivio conoscenze vengono raccolti in questo passaggio.

  4. Eseguire la procedura guidata per creare oggetti, caricare dati, impostare una pianificazione e altre opzioni di configurazione.

Il flusso di lavoro è una pipeline, quindi è un modo. Non è possibile usare la procedura guidata per modificare gli oggetti creati, ma è possibile usare altri strumenti del portale, ad esempio la finestra di progettazione dell'indice o dell'indicizzatore o gli editor JSON, per gli aggiornamenti consentiti.

Configurazione dell'origine dati nella procedura guidata

La procedura guidata Importa dati si connette a un'origine dati supportata esterna usando la logica interna fornita dagli indicizzatori di Ricerca di intelligenza artificiale di Azure, che sono attrezzati per campionare l'origine, leggere i metadati, leggere i documenti per leggere contenuto e struttura e serializzare il contenuto come JSON per l'importazione successiva in Ricerca di intelligenza artificiale di Azure.

È possibile incollare una connessione a un'origine dati supportata in una sottoscrizione o un'area diversa, ma la selezione Scegli una connessione esistente ha come ambito la sottoscrizione attiva.You can paste in a connection to a supported data source in a different subscription or region, but the Choose an existing connection picker is scoped to the active subscription.

Screenshot of the Connect to your data tab.

Non tutte le origini dati di anteprima sono sicuramente disponibili nella procedura guidata. Poiché ogni origine dati ha il potenziale per introdurre altre modifiche downstream, un'origine dati di anteprima verrà aggiunta solo all'elenco delle origini dati se supporta completamente tutte le esperienze della procedura guidata, ad esempio la definizione del set di competenze e l'inferenza dello schema dell'indice.

È possibile importare solo da una singola tabella, una vista di database o una struttura di dati equivalente, ma la struttura può includere sottostruttura gerarchiche o annidate. Per altre informazioni, vedere Come modellare tipi complessi.

Configurazione del set di competenze nella procedura guidata

La configurazione del set di competenze si verifica dopo la definizione dell'origine dati perché il tipo di origine dati informerà la disponibilità di determinate competenze predefinite. In particolare, se si esegue l'indicizzazione di file da BLOB Archiviazione, la scelta della modalità di analisi di tali file determinerà se l'analisi del sentiment è disponibile.

La procedura guidata aggiungerà le competenze scelte, ma aggiungerà anche altre competenze necessarie per ottenere un risultato positivo. Ad esempio, se si specifica un archivio conoscenze, la procedura guidata aggiunge una competenza Shaper per supportare proiezioni (o strutture di dati fisiche).

I set di competenze sono facoltativi ed è presente un pulsante nella parte inferiore della pagina per andare avanti se non si vuole l'arricchimento tramite intelligenza artificiale.

Configurazione dello schema di indice nella procedura guidata

La procedura guidata illustra l'origine dati per rilevare i campi e il tipo di campo. A seconda dell'origine dati, potrebbe anche offrire campi per l'indicizzazione dei metadati.

Poiché il campionamento è un esercizio impreciso, esaminare l'indice per le considerazioni seguenti:

  1. L'elenco dei campi è accurato? Se l'origine dati contiene campi che non sono stati prelevati nel campionamento, è possibile aggiungere manualmente tutti i nuovi campi che il campionamento non è stato eseguito e rimuovere tutti gli elementi che non aggiungono valore a un'esperienza di ricerca o che non verranno usati in un'espressione di filtro o in un profilo di punteggio.

  2. Il tipo di dati è appropriato per i dati in ingresso? Ricerca di intelligenza artificiale di Azure supporta i tipi di dati EDM (Entity Data Model). Per i dati SQL di Azure, è disponibile un grafico di mapping che definisce i valori equivalenti. Per altre informazioni, vedere Mapping e trasformazioni dei campi.

  3. Si dispone di un campo che può fungere da chiave? Questo campo deve essere Edm.string e deve identificare in modo univoco un documento. Per i dati relazionali, è possibile che venga eseguito il mapping a una chiave primaria. Per i BLOB, potrebbe essere .metadata-storage-path Se i valori dei campi includono spazi o trattini, è necessario impostare l'opzione Chiavi di codifica Base 64 nel passaggio Crea un indicizzatore, in Opzioni avanzate, per evitare il controllo di convalida per questi caratteri.

  4. Impostare gli attributi per determinare la modalità di utilizzo di tale campo in un indice.

    Dedicare tempo a questo passaggio perché gli attributi determinano l'espressione fisica dei campi nell'indice. Se si vogliono modificare gli attributi in un secondo momento, anche a livello di codice, sarà quasi sempre necessario eliminare e ricompilare l'indice. Gli attributi principali, ad esempio Ricercabile e Recuperabile, hanno un impatto trascurabile sull'archiviazione. L'abilitazione dei filtri e l'uso di suggerimenti aumentano i requisiti di archiviazione.

    • Ricercabile abilita la ricerca full-text. Ogni campo usato nelle query in formato libero o nelle espressioni di query deve contenere questo attributo. Per ogni campo contrassegnato come Ricercabile vengono creati indici invertiti.

    • Recuperabile restituisce il campo nei risultati della ricerca. Ogni campo che fornisce contenuto ai risultati della ricerca deve avere questo attributo. L'impostazione di questo campo non influisce in modo significativo sulle dimensioni dell'indice.

    • Filtrabile consente di fare riferimento al campo nelle espressioni di filtro. Ogni campo usato in un'espressione $filter deve avere questo attributo. Le espressioni di filtro sono per le corrispondenze esatte. Poiché le stringhe di testo rimangono intatte, è necessario più spazio di archiviazione per contenere il contenuto verbatim.

    • Con facet abilita il campo per l'esplorazione in base a facet. Solo i campi contrassegnati anche come Filtrabile possono essere contrassegnati come Con facet.

    • Ordinabile consente di usare il campo in un ordinamento. Ogni campo usato in un'espressione $Orderby deve avere questo attributo.

  5. È necessaria un'analisi lessicale? Per i campi Edm.string ricercabili, è possibile impostare un analizzatore se si desidera eseguire query e indicizzazione ottimizzate per il linguaggio.

    Il valore predefinito è Standard - Lucene ma è possibile scegliere Inglese - Microsoft se si vuole usare l'analizzatore Microsoft per l'elaborazione lessicale avanzata, ad esempio per la risoluzione di forme verbali o nominali irregolari. Solo gli analizzatori del linguaggio possono essere specificati nel portale. L'uso di un analizzatore personalizzato o di un analizzatore non linguistico come Parola chiave, Modello e così via, deve essere eseguito a livello di codice. Per altre informazioni sugli analizzatori, vedere Aggiungere analizzatori del linguaggio.

  6. Sono necessarie funzionalità typeahead sotto forma di completamento automatico o risultati suggeriti? Selezionare la casella di controllo Suggerisci per abilitare i suggerimenti di query typeahead e il completamento automatico nei campi selezionati. I suggerimenti aggiungono al numero di termini con token nell'indice e quindi usano più spazio di archiviazione.

Configurazione dell'indicizzatore nella procedura guidata

L'ultima pagina della procedura guidata raccoglie gli input utente per la configurazione dell'indicizzatore. È possibile specificare una pianificazione e impostare altre opzioni che variano in base al tipo di origine dati.

Internamente, la procedura guidata configura anche le definizioni seguenti, che non sono visibili nell'indicizzatore fino a quando non viene creato:

Passaggi successivi

Il modo migliore per comprendere i vantaggi e le limitazioni della procedura guidata consiste nell'eseguirne il passaggio. La guida introduttiva seguente illustra ogni passaggio.