Addestramento della trasformazione di rilevamento delle corrispondenze - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Addestramento della trasformazione di rilevamento delle corrispondenze

Ogni trasformazione FindMatches deve essere addestrata rispetto a ciò che deve essere considerato una corrispondenza e ciò che non deve essere considerato tale. Una trasformazione viene addestrata aggiungendo delle etichette a un file e caricando tali scelte su AWS Glue.

È possibile orchestrare questa operazione di etichettatura all'interno della console di AWS Glue o utilizzando le operazioni API di machine learning di AWS Glue.

Quante volte è necessario eseguire l'operazione di etichettatura? Quante etichette sono necessarie?

Le risposte a queste domande dipendono generalmente dall'utilizzatore. È necessario valutare se FindMatches offre il livello di accuratezza di cui si necessita e se si ritiene che un'etichettatura aggiuntiva possa valere la pena. Il modo migliore per deciderlo è analizzare i parametri "Precision", "Recall" e "Area sotto la curva di precisione e recall" che è possibile generare selezionando Estimate quality (Valuta la qualità) all'interno della console di AWS Glue. Dopo aver etichettato ulteriori insiemi di attività, ricalcolare questi parametri e verificare il loro eventuale miglioramento. Se, dopo l'etichettatura di alcuni insiemi di attività, non si percepisce un miglioramento del parametro di interesse, la qualità della trasformazione potrebbe aver raggiunto uno stato stazionario.

Perché servono le etichette sia per gli eventi veri positivi che per quelli veri negativi?

La trasformazione FindMatches ha bisogno di esempi sia positivi che negativi per comprendere cosa intende l'utente per corrispondenza. Se si stanno etichettando dei dati di addestramento generati da FindMatches (ad esempio, utilizzando l'opzione I do not have labels (Non dispongo di etichette)), FindMatches prova a generare un set di "id di insiemi di etichette". All'interno di ciascuna attività, si assegna la stessa "etichetta" ad alcuni record e diverse "etichette" ad altri record. In altre parole, le attività generalmente non prevedono solo la presenza di elementi tutti uguali o tutti diversi (anche se è normale che una specifica attività comprenda elementi "tutti uguali" o "tutti diversi").

Se si sta addestrando la trasformazione FindMatches utilizzando l'opzione Upload labels from S3 (Caricamento delle etichette da S3), provare a includere sia esempi di record corrispondenti e che di record non corrispondenti. È accettabile averne di un solo tipo. Queste etichette consentono di creare una trasformazione FindMatches più accurata, ma è comunque necessario etichettare alcuni record generati utilizzando l'opzione Generate labeling file (Genera file di etichettatura).

Come posso fare in modo che la trasformazione rilevi le corrispondenze esattamente come è stata addestrata a fare?

La trasformazione FindMatches esegue un processo di apprendimento a partire dalle etichette fornite, perciò potrebbe generare coppie di record che non rispettano tali etichette. Per costringere la trasformazione FindMatches a rispettare le etichette, selezionare Enforce Provided Labels (Imponi l'utilizzo delle etichette fornite) in Find Matches Parameter (Parametro di rilevamento delle corrispondenze).

Quali tecniche è possibile utilizzare quando una trasformazione basata su ML identifica come corrispondenti degli elementi che non lo sono?

È possibile utilizzare le seguenti tecniche:

  • Incrementare il valore di precisionRecallTradeoff. Questa operazione porterà all'individuazione di un numero minore di corrispondenze ma, al raggiungimento di un valore sufficientemente elevato, dovrebbe anche suddividere un cluster di grandi dimensioni in componenti più piccole.

  • Selezionare le righe di output corrispondenti ai risultati errati e riformattarle sotto forma di insieme di dati per l'etichettatura (rimuovendo la colonna match_id e aggiungendo le colonne labeling_set_id e label). Se necessario, spezzettarle (suddividerle) in più insiemi di dati per l'etichettatura al fine di assicurare che l'addetto all'etichettatura possa concentrarsi su ogni set di dati durante il processo di etichettatura. Quindi, etichettare correttamente i set corrispondenti e caricare il file di etichettatura accodandolo alle etichette esistenti. Queste informazioni potrebbero addestrare la trasformazione a sufficienza su cosa cercare per comprendere lo schema.

  • (Avanzato) Infine, controllare i dati per verificare la presenza di uno schema che il sistema non sta rilevando. Pre-elaborare tali dati utilizzando le funzioni standard di AWS Glue per normalizzarli. Evidenziare gli elementi dai quali si desidera che l'algoritmo tragga insegnamenti separando i dati che l'utente ritiene importanti per la loro diversità nelle rispettive colonne. Oppure creare colonne combinate a partire dalle colonne i cui dati sono da ritenersi correlati.