Condividi tramite


Come preparare i dati e definire uno schema per l’analisi del testo personalizzata per l'integrità

Per creare un modello TA4H personalizzato, sono necessari dati di qualità per eseguirne il training. Questo articolo illustra come selezionare e preparare i dati, oltre a definire uno schema. La definizione dello schema è il primo passaggio nel ciclo di vita di sviluppo di un progetto e comporta la definizione dei tipi o delle categorie di entità che il modello deve estrarre dal testo durante il runtime.

Progettazione dello schema

L’analisi del testo personalizzata per l'integrità consente di estendere e personalizzare la mappa delle entità dell’analisi del testo per l’integrità. Il primo passaggio del processo consiste nella generazione dello schema che consente di definire i nuovi tipi di entità o categorie che il modello deve estrarre dal testo oltre alle entità esistenti dell’analisi del testo per l’integrità durante il runtime.

  • Esaminare i documenti nel set di dati per acquisire familiarità con il loro formato e la loro struttura.

  • Identificare le entità da estrarre dai dati.

    Ad esempio, se si estraggono entità da messaggi e-mail del supporto, potrebbe essere necessario estrarre "Nome cliente", "Nome prodotto", "Data richiesta" e "Informazioni di contatto".

  • Evitare tipi di entità ambigui.

    L’ambiguità si verifica quando i tipi di entità selezionati sono simili tra loro. Maggiore è l’ambiguità dello schema e più saranno i dati etichettati necessari per distinguere tipi di entità diversi.

    Ad esempio, se si estraggono dati da un contratto legale, per estrarre "Nome del primo contraente" e "Nome del secondo contraente" sarà necessario aggiungere altri esempi per evitare ambiguità dal momento che i nomi di entrambi i contraenti sembrano simili. Evitare l’ambiguità, perché consente di risparmiare tempo e lavoro, e migliora i risultati.

  • Evitare entità complesse. Le entità complesse possono essere difficili da scegliere con precisione dal testo, per cui è preferibile suddividerlo in più entità.

    Ad esempio, l'estrazione di "Indirizzo" sarebbe complessa se non fosse suddiviso in entità più piccole. Esistono così tante varianti del modo in cui vengono visualizzati gli indirizzi che sarebbe necessario un numero elevato di entità etichettate per insegnare al modello a estrarre un indirizzo, nel suo complesso, senza suddividerlo. Tuttavia, se si sostituisce "Indirizzo" con "Nome via", "Casella postale", "Città", "Stato" e "CAP", il modello richiederà un minor numero di etichette per entità.

Aggiungere entità

Per aggiungere entità al progetto:

  1. Passare al pivot Entità dalla parte superiore della pagina.

  2. Le entità dell’analisi del testo per l’integrità vengono caricate automaticamente nel progetto. Per aggiungere altre categorie di entità, selezionare Aggiungi dal menu in alto. Prima di completare la creazione dell'entità, verrà chiesto di digitare un nome.

  3. Dopo aver creato un'entità, si verrà indirizzati alla pagina dei dettagli dell'entità in cui è possibile definire le impostazioni di composizione per tale entità.

  4. Le entità vengono definite in base ai componenti entità: apprese, elencate o predefinite. Le entità dell'analisi del testo per l’integrità per impostazione predefinita sono popolate con il componente predefinito e non possono avere componenti appresi. Le entità appena definite possono essere popolate con il componente appreso dopo aver aggiunto etichette per tali entità nei dati, ma non possono essere popolate con il componente predefinito.

  5. È possibile aggiungere un componente elenco a qualunque entità.

Aggiungere un componente elenco

Per aggiungere un componente elenco, selezionare Aggiungi nuovo elenco. È possibile aggiungere più elenchi a ogni entità.

  1. Per creare un nuovo elenco, nella casella di testo Immetti valore immetterlo come valore normalizzato che verrà restituito quando viene estratto uno dei valori dei sinonimi.

  2. Per progetti multilingua, dal menu a discesa Lingua selezionare la lingua dell'elenco dei sinonimi e iniziare a digitare i sinonimi, quindi premere Invio dopo ognuno di essi. È preferibile avere elenchi di sinonimi in più lingue.

Definire opzioni entità

Andare al pivot Opzioni entità nella pagina dei dettagli dell'entità. Quando vengono definiti più componenti per un'entità, le stime possono sovrapporsi. Quando si verifica una sovrapposizione, la stima finale di ogni entità viene determinata in base all'opzione entità selezionata in questo passaggio. Selezionare quella da applicare a questa entità e selezionare il pulsante Salva nella parte superiore.

Dopo aver creato le entità, è possibile modificarle. È possibile modificare i componenti entità o eliminarli selezionando questa opzione nel menu in alto.

Selezione dei dati

La qualità dei dati con cui si esegue il training del modello influisce notevolmente sulle prestazioni del modello.

  • Usare dati reali che riflettono lo spazio del problema del dominio per eseguire un training efficace del modello. È possibile usare dati sintetici per accelerare il processo di training del modello iniziale, ma è probabile che differiscano dai dati reali e riducano l’efficacia del modello se usati.

  • Bilanciare la distribuzione dei dati il più possibile senza scostarsi dalla distribuzione in tempo reale. Ad esempio, se si esegue il training del modello per estrarre entità da documenti legali che possono avere molti formati e lingue diversi, è necessario fornire esempi che esemplificano la diversità come ci si aspetterebbe nella vita reale.

  • Usare dati diversi, quando possibile, per evitare l'overfitting del modello. Una minore diversità nei dati di training può causare correlazioni spurie di apprendimento del modello che potrebbero non esistere nei dati reali.

  • Evitare documenti duplicati nei dati. I dati duplicati influiscono negativamente sul processo di training, sulle metriche del modello e sulle prestazioni del modello.

  • Prendere in considerazione la provenienza dei dati. Se i dati vengono raccolti da una sola persona, da un reparto o da una parte dello scenario, è probabile che manchi una diversità importante per l’apprendimento del modello.

Nota

Se i documenti sono in più lingue, selezionare l'opzione di abilitazione di più lingue durante lacreazione del progetto e impostare l'opzione della lingua sulla lingua della maggior parte dei documenti.

Preparazione dei dati

Come prerequisito per la creazione di un progetto, è necessario caricare i dati di training in un contenitore BLOB nell'account di archiviazione. È possibile creare e caricare i documenti di training direttamente da Azure o tramite lo strumento Azure Storage Explorer. L'uso dello strumento Azure Storage Explorer consente di caricare più dati rapidamente.

È possibile usare solo documenti .txt. Se i dati sono in un altro formato, è possibile usare il comando parse di CLUtils per modificare il formato del documento.

È possibile caricare un set di dati con annotazioni oppure caricarne uno senza annotazioni ed etichettare i dati in Language Studio.

Set di test

Quando si definisce il set di test, includere documenti di esempio non presenti nel set di training. La definizione del set di test è un passaggio importante per calcolare le prestazioni del modello. Accertarsi, inoltre, che il set di test includa documenti che rappresentano tutte le entità usate nel progetto.

Passaggi successivi

Creare un progetto di analisi del testo personalizzata per l’integrità, se non ne è stato ancora creato uno. Se è la prima volta che si usa l’analisi del testo personalizzata per l'integrità, è preferibile seguire l’avvio rapido per creare un progetto di esempio. È anche possibile visualizzare l'articolo esplicativo per altri dettagli sui requisiti per creare un progetto.