L’intelligenza artificiale (AI) e l’apprendimento automatico (ML) hanno visto un’adozione diffusa tra le imprese e le organizzazioni governative. L'elaborazione dei dati non strutturati è diventata più semplice con i progressi nell'elaborazione del linguaggio naturale (NLP) e nei servizi AI/ML di facile utilizzo come Testo Amazon, Amazon Transcribee Amazon Comprehend. Le organizzazioni hanno iniziato a utilizzare servizi AI/ML come Amazon Comprehend per creare modelli di classificazione con i propri dati non strutturati per ottenere informazioni approfondite che prima non avevano. Sebbene sia possibile utilizzare modelli pre-addestrati con il minimo sforzo, senza un'adeguata cura dei dati e ottimizzazione dei modelli, non è possibile ottenere tutti i vantaggi dei modelli AI/ML.
In questo post spieghiamo come creare e ottimizzare un modello di classificazione personalizzato utilizzando Amazon Comprehend. Lo dimostriamo utilizzando una classificazione personalizzata Amazon Comprehend per creare un modello di classificazione personalizzato multi-etichetta e forniamo linee guida su come preparare il set di dati di addestramento e ottimizzare il modello per soddisfare parametri prestazionali quali accuratezza, precisione, richiamo e punteggio F1. Utilizziamo gli artefatti di output dell'addestramento del modello Amazon Comprehend come una matrice di confusione per ottimizzare le prestazioni del modello e guidarti nel miglioramento dei dati di addestramento.
Panoramica della soluzione
Questa soluzione presenta un approccio alla creazione di un modello di classificazione personalizzato ottimizzato utilizzando Amazon Comprehend. Eseguiamo diverse fasi, tra cui la preparazione dei dati, la creazione del modello, l'analisi delle metriche delle prestazioni del modello e l'ottimizzazione dell'inferenza in base alla nostra analisi. Usiamo un Amazon Sage Maker taccuino e la Console di gestione AWS per completare alcuni di questi passaggi.
Esaminiamo inoltre le migliori pratiche e le tecniche di ottimizzazione durante la preparazione dei dati, la creazione e l'ottimizzazione dei modelli.
Prerequisiti
Se non disponi di un'istanza notebook SageMaker, puoi crearne una. Per istruzioni, fare riferimento a Crea un'istanza notebook Amazon SageMaker.
Prepara i dati
Per questa analisi, utilizziamo il set di dati Toxic Comment Classification di Kaggle. Questo set di dati contiene 6 etichette con 158,571 punti dati. Tuttavia, ciascuna etichetta presenta solo meno del 10% dei dati totali come esempi positivi, mentre due etichette riportano meno dell'1%.
Convertiamo il set di dati Kaggle esistente nel file Formato CSV a due colonne di Amazon Comprehend con le etichette divise utilizzando un delimitatore barra verticale (|). Amazon Comprehend prevede almeno un'etichetta per ciascun punto dati. In questo set di dati incontriamo diversi punti dati che non rientrano in nessuna delle etichette fornite. Creiamo una nuova etichetta chiamata pulito e assegniamo a tutti i punti dati che non sono tossici come positivi con questa etichetta. Infine, dividiamo i set di dati selezionati in set di dati di training e test utilizzando un rapporto di suddivisione 80/20 per etichetta.
Utilizzeremo il notebook per la preparazione dei dati. I passaggi seguenti utilizzano il set di dati Kaggle e preparano i dati per il nostro modello.
- Sulla console di SageMaker, scegli Istanze di notebook nel pannello di navigazione.
- Seleziona l'istanza notebook che hai configurato e scegli Apri Jupyter.
- Sulla New menù, scegliere terminal.
- Esegui i seguenti comandi nel terminale per scaricare gli artefatti richiesti per questo post:
- Chiudi la finestra del terminale.
Dovresti vedere tre taccuini e treno.csv File.
- Scegli il taccuino Preparazione dei dati.ipynb.
- Esegui tutti i passaggi sul taccuino.
Questi passaggi preparano il set di dati Kaggle grezzo per fungere da set di dati di test e formazione curati. I set di dati selezionati verranno archiviati nel notebook e Servizio di archiviazione semplice Amazon (Amazon S3).
Considerare le seguenti linee guida per la preparazione dei dati quando si ha a che fare con set di dati multietichetta su larga scala:
- I set di dati devono contenere un minimo di 10 campioni per etichetta.
- Amazon Comprehend accetta un massimo di 100 etichette. Si tratta di un limite flessibile che può essere aumentato.
- Assicurarsi che il file del set di dati sia formattato correttamente con il delimitatore appropriato. Delimitatori errati possono introdurre etichette vuote.
- Tutti i punti dati devono avere etichette.
- I set di dati di addestramento e test dovrebbero avere una distribuzione bilanciata dei dati per etichetta. Non utilizzare la distribuzione casuale perché potrebbe introdurre distorsioni nei set di dati di training e test.
Costruisci un modello di classificazione personalizzato
Utilizziamo la formazione curata e i set di dati di test che abbiamo creato durante la fase di preparazione dei dati per costruire il nostro modello. I passaggi seguenti creano un modello di classificazione personalizzato multietichetta Amazon Comprehend:
- Sulla console di Amazon Comprehend, scegli Classificazione personalizzata nel pannello di navigazione.
- Scegli Crea nuovo modello.
- Nel Nome del modello, inserisci il modello di classificazione-tossico.
- Nel Nome versione, inserisci 1.
- Nel Annotazione e formato dei datiscegli Utilizzo della modalità multietichetta.
- Nel Set di dati di formazione, inserisci la posizione del set di dati di addestramento curato su Amazon S3.
- Scegli Set di dati di prova fornito dal cliente e inserisci la posizione dei dati di test selezionati su Amazon S3.
- Nel Dati di output, inserisci la posizione di Amazon S3.
- Nel Ruolo IAM, selezionare Crea un ruolo IAM, specificare il suffisso del nome come “comprehend-blog”.
- Scegli Creare per avviare l'addestramento del modello di classificazione personalizzato e la creazione del modello.
Lo screenshot seguente mostra i dettagli del modello di classificazione personalizzato nella console Amazon Comprehend.
Ottimizza le prestazioni del modello
Lo screenshot seguente mostra le metriche delle prestazioni del modello. Include metriche chiave come precisione, richiamo, punteggio F1, accuratezza e altro ancora.
Dopo che il modello è stato addestrato e creato, genererà il file output.tar.gz, che contiene le etichette del set di dati nonché la matrice di confusione per ciascuna etichetta. Per ottimizzare ulteriormente le prestazioni di previsione del modello, è necessario comprendere il modello con le probabilità di previsione per ciascuna classe. A tale scopo, è necessario creare un processo di analisi per identificare i punteggi assegnati da Amazon Comprehend a ciascuno dei punti dati.
Completare i seguenti passaggi per creare un processo di analisi:
- Sulla console di Amazon Comprehend, scegli Lavori di analisi nel pannello di navigazione.
- Scegli Crea lavoro.
- Nel Nome, accedere
toxic_train_data_analysis_job
. - Nel Tipo di analisiscegli Classificazione personalizzata.
- Nel Modelli di classificazione e volani, specificare
toxic-classification-model
. - Nel Versione, specificare 1.
- Nel Posizione dei dati di input S3, inserisci il percorso del file dei dati di allenamento selezionato.
- Nel Formato di inputscegli Un documento per riga.
- Nel Uscita dati S3 posizione, inserisci la località.
- Nel Autorizzazioni di accesso, selezionare Utilizza un ruolo IAM esistente e scegli il ruolo creato in precedenza.
- Scegli Crea lavoro per avviare il lavoro di analisi.
- Seleziona il Lavori di analisi per visualizzare i dettagli del lavoro. Si prega di prendere nota dell'ID lavoro in Dettagli lavoro. Utilizzeremo l'ID lavoro nel passaggio successivo.
Ripetere i passaggi per avviare il processo di analisi per i dati di test selezionati. Utilizziamo i risultati delle previsioni dei nostri lavori di analisi per conoscere le probabilità di previsione del nostro modello. Prendere nota degli ID lavoro dei lavori di formazione e analisi dei test.
Usiamo il Analisi soglia modello.ipynb notebook per testare gli output su tutte le soglie possibili e valutare l'output in base alla probabilità di previsione utilizzando scikit-learn precision_recall_curve
funzione. Inoltre, possiamo calcolare il punteggio F1 a ciascuna soglia.
Avremo bisogno degli ID del processo di analisi di Amazon Comprehend come input Analisi della soglia del modello taccuino. Puoi ottenere gli ID lavoro dalla console Amazon Comprehend. Esegui tutti i passaggi indicati Analisi della soglia del modello quaderno per rispettare le soglie per tutte le classi.
Notate come la precisione aumenta all'aumentare della soglia, mentre con il richiamo avviene il contrario. Per trovare l'equilibrio tra i due, utilizziamo il punteggio F1 dove presenta picchi visibili nella loro curva. I picchi nel punteggio F1 corrispondono ad una soglia particolare che può migliorare le prestazioni del modello. Si noti come la maggior parte delle etichette si colloca intorno al valore di soglia 0.5, ad eccezione dell'etichetta di minaccia, che ha una soglia intorno a 0.04.
Possiamo quindi utilizzare questa soglia per etichette specifiche che hanno prestazioni inferiori al previsto con solo la soglia predefinita di 0.5. Utilizzando le soglie ottimizzate, i risultati del modello sui dati del test migliorano per la minaccia dell'etichetta da 0.00 a 0.24. Stiamo utilizzando il punteggio massimo F1 alla soglia come punto di riferimento per determinare il positivo e il negativo per quell'etichetta invece di un punto di riferimento comune (un valore standard come > 0.7) per tutte le etichette.
Gestire le classi sottorappresentate
Un altro approccio efficace per un set di dati sbilanciato è oversampling. Sovracampionando la classe sottorappresentata, il modello vede la classe sottorappresentata più spesso e sottolinea l’importanza di tali campioni. Noi usiamo il Sovracampionamento-sottorappresentato.ipynb notebook per ottimizzare i set di dati.
Per questo set di dati, abbiamo testato come cambiano le prestazioni del modello sul set di dati di valutazione man mano che forniamo più campioni. Usiamo la tecnica di sovracampionamento per aumentare la presenza di classi sottorappresentate per migliorare le prestazioni.
In questo caso particolare, abbiamo testato 10, 25, 50, 100, 200 e 500 esempi positivi. Si noti che, sebbene stiamo ripetendo i dati, stiamo intrinsecamente migliorando le prestazioni del modello enfatizzando l'importanza della classe sottorappresentata.
Costo
Con Amazon Comprehend, paghi in base al numero di caratteri di testo elaborati. Fare riferimento a Prezzi comprensivi di Amazon per i costi effettivi.
ripulire
Una volta terminata la sperimentazione di questa soluzione, pulisci le tue risorse per eliminare tutte le risorse distribuite in questo esempio. Ciò ti aiuta a evitare costi continui nel tuo account.
Conclusione
In questo post abbiamo fornito best practice e indicazioni sulla preparazione dei dati, sull'ottimizzazione dei modelli utilizzando probabilità di previsione e tecniche per gestire le classi di dati sottorappresentate. Puoi utilizzare queste best practice e tecniche per migliorare i parametri prestazionali del tuo modello di classificazione personalizzato Amazon Comprehend.
Per ulteriori informazioni su Amazon Comprehend, visita Risorse per gli sviluppatori di Amazon Comprehend per trovare risorse video e post di blog e fare riferimento a Domande frequenti su AWS Comprende.
Informazioni sugli autori
Satya Balakrishnan è un Sr. Customer Delivery Architect nel team Professional Services di AWS, specializzato in soluzioni di dati e ML. Lavora con clienti finanziari federali statunitensi. È appassionato di creare soluzioni pragmatiche per risolvere i problemi aziendali dei clienti. Nel tempo libero, gli piace guardare film e fare escursioni con la sua famiglia.
Principe Mallari è un NLP Data Scientist nel team dei servizi professionali di AWS, specializzato in applicazioni di NLP per i clienti del settore pubblico. È appassionato di utilizzare il machine learning come strumento per consentire ai clienti di essere più produttivi. Nel tempo libero si diverte a giocare ai videogiochi e a svilupparne uno con i suoi amici.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/improve-prediction-quality-in-custom-classification-models-with-amazon-comprehend/
- :ha
- :È
- :Dove
- $ SU
- 1
- 10
- 100
- 200
- 24
- 25
- 50
- 500
- 7
- 9
- a
- WRI
- accetta
- Il mio account
- precisione
- operanti in
- presenti
- Inoltre
- Adozione
- avanzamenti
- AI
- AI / ML
- Tutti
- consentire
- anche
- Sebbene il
- Amazon
- Amazon Comprehend
- Amazon Sage Maker
- Amazon Web Services
- an
- .
- ed
- in qualsiasi
- applicazioni
- Applicazioni della PNL
- approccio
- SONO
- in giro
- AS
- Attività
- addetto
- At
- evitare
- AWS
- Equilibrio
- basato
- BE
- perché
- diventare
- prima
- Segno di riferimento
- vantaggi
- MIGLIORE
- best practice
- fra
- pregiudizio
- Blog
- Post di Blog
- costruire
- Costruzione
- affari
- by
- detto
- Materiale
- Può ottenere
- Custodie
- Modifiche
- caratteri
- Scegli
- classe
- classi
- classificazione
- clienti
- commento
- Uncommon
- completamento di una
- comprendere
- Calcolare
- configurato
- confusione
- consolle
- contiene
- continua
- convertire
- Costi
- creare
- creato
- creazione
- a cura
- curation
- curva
- costume
- cliente
- Clienti
- dati
- punti dati
- Preparazione dei dati
- scienziato di dati
- dataset
- trattare
- deep
- Predefinito
- consegna
- dimostrare
- schierato
- dettagli
- Determinare
- Costruttori
- in via di sviluppo
- distribuzione
- do
- documento
- Dont
- scaricare
- durante
- ogni
- più facile
- Efficace
- sforzo
- sottolinea
- enfatizzando
- entrare
- Impresa
- valutazione
- esempio
- Esempi
- Tranne
- eseguire
- esistente
- aspetta
- Spiegare
- f1
- Autunno
- famiglia
- Federale
- Compila il
- File
- Infine
- finanziario
- Trovate
- i seguenti
- Nel
- amici
- da
- pieno
- function
- ulteriormente
- Giochi
- generare
- ottenere
- Go
- va
- Enti Pubblici
- guida
- guida
- linee guida
- maniglia
- Avere
- avendo
- he
- aiuta
- il suo
- Come
- Tutorial
- Tuttavia
- HTML
- http
- HTTPS
- ID
- identificare
- ids
- importanza
- competenze
- miglioramento
- in
- inclusi
- Compreso
- Aumento
- è aumentato
- informazioni
- intrinsecamente
- ingresso
- intuizioni
- esempio
- invece
- istruzioni
- Intelligence
- ai miglioramenti
- introdurre
- IT
- Lavoro
- Offerte di lavoro
- ad appena
- Le
- Discografica
- per il tuo brand
- Lingua
- larga scala
- IMPARARE
- apprendimento
- meno
- meno
- piace
- LIMITE
- località
- macchina
- machine learning
- make
- gestione
- marchio
- Matrice
- max
- massimo
- Soddisfare
- Menu
- metrico
- Metrica
- forza
- minimo
- ordine
- ML
- modello
- modelli
- Scopri di più
- maggior parte
- Film
- devono obbligatoriamente:
- Nome
- Naturale
- Elaborazione del linguaggio naturale
- Navigazione
- Bisogno
- negativo.
- New
- GENERAZIONE
- nlp
- taccuino
- Avviso..
- numero
- osservare
- evento
- of
- di frequente
- on
- ONE
- esclusivamente
- ottimizzazione
- OTTIMIZZA
- ottimizzati
- ottimizzazione
- organizzazioni
- nostro
- produzione
- vetro
- particolare
- appassionato
- Paga le
- per
- performance
- scegliere
- tubo
- Platone
- Platone Data Intelligence
- PlatoneDati
- gioco
- per favore
- punto
- punti
- positivo
- possibile
- Post
- Post
- pratiche
- pragmatico
- Precisione
- predizione
- preparazione
- Preparare
- presents
- in precedenza
- problemi
- Elaborato
- lavorazione
- produttivo
- professionale
- corretto
- fornire
- purché
- la percezione
- qualità
- casuale
- rapporto
- Crudo
- rendersi conto
- riferimento
- necessario
- Risorse
- Risultati
- Ruolo
- sagemaker
- Scienziato
- Punto
- settore
- vedere
- visto
- vede
- servire
- Servizi
- alcuni
- dovrebbero
- Spettacoli
- Un'espansione
- Soft
- soluzione
- Soluzioni
- RISOLVERE
- alcuni
- specializzata
- specifico
- dividere
- Standard
- inizia a
- iniziato
- step
- Passi
- conservazione
- memorizzati
- tale
- Fai
- team
- per l'esame
- tecniche
- terminal
- test
- testato
- testo
- di
- che
- Il
- loro
- poi
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- questo
- quelli
- minaccia
- tre
- soglia
- Attraverso
- tempo
- a
- Totale
- allenato
- Training
- seconda
- per
- sottorappresentati
- capire
- us
- federale degli Stati Uniti
- uso
- user-friendly
- utilizzando
- APPREZZIAMO
- Video
- video games
- Visualizza
- visibile
- Visita
- vs
- guardare
- we
- sito web
- servizi web
- WELL
- quando
- quale
- while
- molto diffuso
- volere
- finestra
- con
- senza
- lavori
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro
- Codice postale