Le conversazioni online sono onnipresenti nella vita moderna, spaziando dai videogiochi alle telecomunicazioni. Ciò ha portato a una crescita esponenziale della quantità di dati di conversazione online, che ha contribuito allo sviluppo di sistemi di elaborazione del linguaggio naturale (NLP) all'avanguardia come chatbot e modelli di generazione del linguaggio naturale (NLG). Nel tempo si sono evolute anche varie tecniche di PNL per l'analisi del testo. Ciò richiede la necessità di un servizio completamente gestito che possa essere integrato nelle applicazioni utilizzando le chiamate API senza la necessità di una vasta esperienza di machine learning (ML). AWS offre servizi di intelligenza artificiale AWS pre-addestrati come Amazon Comprehend, che può gestire efficacemente i casi d'uso della NLP che coinvolgono classificazione, riepilogo del testo, riconoscimento di entità e altro per raccogliere informazioni dettagliate dal testo.
Inoltre, le conversazioni online hanno portato a un fenomeno diffuso di uso non tradizionale della lingua. Le tecniche tradizionali della PNL spesso funzionano male su questi dati testuali a causa dei vocabolari in continua evoluzione e specifici del dominio che esistono all'interno di piattaforme diverse, nonché delle significative deviazioni lessicali delle parole dall'inglese corretto, accidentalmente o intenzionalmente come forma di attacco contraddittorio .
In questo post, descriviamo più approcci ML per la classificazione del testo delle conversazioni online con strumenti e servizi disponibili su AWS.
Prerequisiti
Prima di approfondire questo caso d'uso, completare i seguenti prerequisiti:
- Crea un file Account AWS ed creare un utente IAM.
- Configura il CLI AWS ed SDK AWS.
- (Facoltativo) Configura il tuo Ambiente IDE Cloud9.
dataset
Per questo post, utilizziamo il Jigsaw Bias non intenzionale nel set di dati di classificazione della tossicità, un punto di riferimento per il problema specifico della classificazione della tossicità nelle conversazioni online. Il set di dati fornisce etichette di tossicità e diversi attributi di sottogruppi come osceno, attacco di identità, insulto, minaccia e sessualmente esplicito. Le etichette sono fornite come valori frazionari, che rappresentano la proporzione di annotatori umani che credevano che l'attributo fosse applicato a un dato pezzo di testo, che raramente sono unanimi. Per generare etichette binarie (ad esempio, tossiche o non tossiche), viene applicata una soglia di 0.5 ai valori frazionari e i commenti con valori maggiori della soglia vengono trattati come classe positiva per quell'etichetta.
Incorporamento di sottoparole e RNN
Per il nostro primo approccio di modellazione, utilizziamo una combinazione di incorporamento di sottoparole e reti neurali ricorrenti (RNN) per addestrare modelli di classificazione del testo. Gli incorporamenti di sottoparole sono stati introdotti da Bojanowski et al. nel 2017 come miglioramento rispetto ai precedenti metodi di incorporamento a livello di parola. I tradizionali modelli skip-gram di Word2Vec sono addestrati per apprendere una rappresentazione vettoriale statica di una parola target che predice in modo ottimale il contesto di quella parola. I modelli di sottoparole, d'altra parte, rappresentano ogni parola di destinazione come un insieme di n-grammi di caratteri che compongono la parola, dove un n-gramma è composto da un insieme di n caratteri consecutivi. Questo metodo consente al modello di incorporamento di rappresentare meglio la morfologia sottostante delle parole correlate nel corpus, nonché il calcolo degli incorporamenti per parole nuove e fuori dal vocabolario (OOV). Ciò è particolarmente importante nel contesto delle conversazioni online, uno spazio problematico in cui gli utenti spesso scrivono in modo errato le parole (a volte intenzionalmente per eludere il rilevamento) e utilizzano anche un vocabolario unico e in continua evoluzione che potrebbe non essere catturato da un corpus di formazione generale.
Amazon Sage Maker semplifica l'addestramento e l'ottimizzazione di un modello di incorporamento di sottoparole non supervisionato sul proprio corpus di dati di testo specifici del dominio con il Algoritmo BlazingText. Possiamo anche scaricare modelli generici esistenti addestrati su grandi set di dati di testo online, come i seguenti Modelli in lingua inglese disponibili direttamente da fastText. Dalla tua istanza notebook SageMaker, esegui semplicemente quanto segue per scaricare un modello fastText preaddestrato:
Sia che tu abbia addestrato i tuoi incorporamenti con BlazingText o scaricato un modello preaddestrato, il risultato è un binario del modello compresso che puoi utilizzare con la libreria gensim per incorporare una determinata parola di destinazione come vettore in base alle sue sottoparole costituenti:
Dopo aver preelaborato un determinato segmento di testo, possiamo utilizzare questo approccio per generare una rappresentazione vettoriale per ciascuna delle parole costituenti (separate da spazi). Utilizziamo quindi SageMaker e un framework di deep learning come PyTorch per addestrare un RNN personalizzato con un obiettivo di classificazione binaria o multietichetta per prevedere se il testo è tossico o meno e il sottotipo specifico di tossicità sulla base di esempi di formazione etichettati.
Per caricare il tuo testo preelaborato su Servizio di archiviazione semplice Amazon (Amazon S3), utilizzare il seguente codice:
Per avviare l'addestramento del modello multi-GPU scalabile con SageMaker, immettere il codice seguente:
Nel quadro di , definiamo un set di dati PyTorch utilizzato da train.py
preparare i dati testuali per l'addestramento e la valutazione del modello:
Si noti che questo codice prevede che il vectors.zip
il file contenente i tuoi incorporamenti fastText o BlazingText verrà archiviato .
Inoltre, puoi distribuire facilmente modelli fastText pre-addestrati da soli su endpoint SageMaker attivi per calcolare al volo vettori di incorporamento da utilizzare in attività a livello di parola pertinenti. Vedi quanto segue Esempio GitHub per ulteriori dettagli.
Transformers con faccia che abbraccia
Per il nostro secondo approccio alla modellazione, passiamo all'uso dei Transformers, introdotti nel documento L'attenzione è tutto ciò che serve. I trasformatori sono modelli di deep learning progettati per evitare deliberatamente le insidie degli RNN facendo affidamento su un meccanismo di auto-attenzione per disegnare dipendenze globali tra input e output. L'architettura del modello Transformer consente una parallelizzazione significativamente migliore e può ottenere prestazioni elevate in tempi di addestramento relativamente brevi.
Basato sul successo di Transformers, BERT, introdotto nel giornale BERT: Pre-training di trasformatori bidirezionali profondi per la comprensione del linguaggio, aggiunta di pre-formazione bidirezionale per la rappresentazione linguistica. Ispirato dall'attività Cloze, BERT è pre-addestrato con la modellazione del linguaggio mascherato (MLM), in cui il modello impara a recuperare le parole originali per token mascherati casualmente. Il modello BERT è anche preaddestrato sul compito di previsione della frase successiva (NSP) per prevedere se due frasi sono nell'ordine di lettura corretto. Dal suo avvento nel 2018, BERT e le sue variazioni sono state ampiamente utilizzate nelle attività di classificazione dei testi.
La nostra soluzione utilizza una variante di BERT nota come RoBERTa, introdotta nel documento RoBERTa: un approccio di pre-addestramento BERT fortemente ottimizzato. RoBERTa migliora ulteriormente le prestazioni di BERT su una varietà di attività in linguaggio naturale ottimizzando l'addestramento del modello, inclusi modelli di addestramento più lunghi su un corpus 10 volte più grande, utilizzando iperparametri ottimizzati, mascheramento casuale dinamico, rimozione dell'attività NSP e altro ancora.
I nostri modelli basati su RoBERTa utilizzano il Abbracciare i trasformatori del viso libreria, che è un popolare framework Python open source che fornisce implementazioni di alta qualità di tutti i tipi di modelli Transformer all'avanguardia per una varietà di attività NLP. Hugging Face ha stretto una partnership con AWS per consentirti di addestrare e distribuire facilmente i modelli Transformer su SageMaker. Questa funzionalità è disponibile tramite Abbracciare le immagini di AWS Deep Learning Container, che includono le librerie Transformers, Tokenizer e Dataset e l'integrazione ottimizzata con SageMaker per l'addestramento e l'inferenza del modello.
Nella nostra implementazione, ereditiamo la spina dorsale dell'architettura RoBERTa dal framework Hugging Face Transformers e utilizziamo SageMaker per addestrare e distribuire il nostro modello di classificazione del testo, che chiamiamo RoBERTox. RoBERTox utilizza la codifica a coppia di byte (BPE), introdotta in Traduzione automatica neurale di parole rare con unità di subword, per tokenizzare il testo di input in rappresentazioni di sottoparole. Possiamo quindi addestrare i nostri modelli e tokenizzatori sui dati di Jigsaw o su qualsiasi corpus di dominio specifico di grandi dimensioni (come i registri delle chat di un gioco specifico) e utilizzarli per la classificazione del testo personalizzata. Definiamo la nostra classe del modello di classificazione personalizzato nel codice seguente:
Prima della formazione, prepariamo i nostri dati di testo e le etichette utilizzando la libreria di set di dati di Hugging Face e carichiamo il risultato su Amazon S3:
Iniziamo l'addestramento del modello in modo simile alla RNN:
Infine, il seguente frammento di codice Python illustra il processo per servire RoBERTox tramite un endpoint SageMaker live per la classificazione del testo in tempo reale per una richiesta JSON:
Valutazione delle prestazioni del modello: set di dati di distorsione non intenzionale Jigsaw
La tabella seguente contiene le metriche delle prestazioni per i modelli addestrati e valutati sui dati della competizione Jigsaw Unintend Bias in Toxicity Detection Kaggle. Abbiamo addestrato modelli per tre compiti diversi ma interconnessi:
- Caso binario – Il modello è stato addestrato sul set di dati di addestramento completo per prevedere il
toxicity
solo etichetta - Custodia a grana fine – Il sottoinsieme dei dati di addestramento per cui
toxicity>=0.5
è stato utilizzato per prevedere altre etichette di sottotipo di tossicità (obscene
,threat
,insult
,identity_attack
,sexual_explicit
) - Caso multitasking – Il set di dati di addestramento completo è stato utilizzato per prevedere tutte e sei le etichette contemporaneamente
Abbiamo addestrato i modelli RNN e RoBERTa per ciascuna di queste tre attività utilizzando le etichette frazionarie fornite da Jigsaw, che corrispondono alla proporzione di annotatori che pensavano che l'etichetta fosse appropriata per il testo, nonché con etichette binarie combinate con i pesi delle classi nella rete funzione di perdita. Nello schema di etichettatura binaria, le proporzioni sono state fissate a 0.5 per ciascuna etichetta disponibile (1 se etichetta>=0.5, 0 in caso contrario) e le funzioni di perdita del modello sono state ponderate in base alle proporzioni relative di ciascuna etichetta binaria nel set di dati di addestramento. In tutti i casi, abbiamo riscontrato che l'utilizzo delle etichette frazionarie ha portato direttamente alla migliore performance, indicando il valore aggiunto delle informazioni insito nel grado di concordanza tra gli annotatori.
Vengono visualizzate due metriche del modello: la precisione media (AP), che fornisce un riepilogo della curva di richiamo della precisione calcolando la media ponderata dei valori di precisione raggiunti ad ogni soglia di classificazione, e l'area sotto la curva caratteristica di funzionamento del ricevitore (AUC) , che aggrega le prestazioni del modello attraverso le soglie di classificazione rispetto al tasso di veri positivi e al tasso di falsi positivi. Si noti che la classe true per una determinata istanza di testo nel set di test corrisponde al fatto che la proporzione vera sia maggiore o uguale a 0.5 (1 se label>=0.5, 0 altrimenti).
. | Incorporamento delle sottoparole + RNN | RoBERta | ||
. | Etichette frazionarie | Etichette binarie + Ponderazione di classe | Etichette frazionarie | Etichette binarie + Ponderazione di classe |
Binario | AP=0.746, AUC=0.966 | PA=0.730, AUC=0.963 | PA=0.758, AUC=0.966 | PA=0.747, AUC=0.963 |
A grana fine | PA=0.906, AUC=0.909 | PA=0.850, AUC=0.851 | PA=0.913, AUC=0.913 | PA=0.911, AUC=0.912 |
Multitask | AP=0.721, AUC=0.972 | PA=0.535, AUC=0.907 | PA=0.740, AUC=0.972 | PA=0.711, AUC=0.961 |
Conclusione
In questo post, abbiamo presentato due approcci di classificazione del testo per le conversazioni online utilizzando i servizi di AWS ML. È possibile generalizzare queste soluzioni a tutte le piattaforme di comunicazione online, con settori come quello dei giochi che potrebbero trarre vantaggio da una migliore capacità di rilevare i contenuti dannosi. Nei post futuri, intendiamo discutere ulteriormente di un'architettura end-to-end per la distribuzione senza interruzioni dei modelli nel tuo account AWS.
Se desideri aiuto per accelerare l'utilizzo del machine learning nei tuoi prodotti e processi, contatta il Laboratorio di soluzioni Amazon ML.
Informazioni sugli autori
Marca Ryan è un Data Scientist nell'Amazon Machine Learning Solutions Lab. Ha esperienza specifica nell'applicazione dell'apprendimento automatico ai problemi della sanità e delle scienze della vita, e nel tempo libero ama leggere la storia e la fantascienza.
Sourav Bhabesh è un Data Scientist presso Amazon ML Solutions Lab. Sviluppa soluzioni AI/ML per clienti AWS in vari settori. La sua specialità è Natural Language Processing (NLP) ed è appassionata di deep learning. Al di fuori del lavoro gli piace leggere libri e viaggiare.
Liutong Zhou è uno scienziato applicato presso l'Amazon ML Solutions Lab. Costruisce soluzioni AI/ML su misura per i clienti AWS in vari settori. È specializzato in Natural Language Processing (NLP) ed è appassionato di deep learning multimodale. È un tenore lirico e ama cantare opere al di fuori del lavoro.
Sia Golami è Senior Data Scientist presso l'Amazon ML Solutions Lab, dove crea soluzioni AI/ML per clienti di vari settori. È appassionato di elaborazione del linguaggio naturale (PNL) e deep learning. Al di fuori del lavoro, Sia ama trascorrere il tempo nella natura e giocare a tennis.
Daniele Horowitz è un manager di scienza dell'intelligenza artificiale applicata. Dirige un team di scienziati nell'Amazon ML Solutions Lab che lavora per risolvere i problemi dei clienti e promuovere l'adozione del cloud con il machine learning.
- Coinsmart. Il miglior scambio di bitcoin e criptovalute d'Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. ACCESSO LIBERO.
- Criptofalco. Radar Altcoin. Prova gratuita.
- Fonte: https://aws.amazon.com/blogs/machine-learning/text-classification-for-online-conversations-with-machine-learning-on-aws/
- '
- "
- 10
- 100
- 7
- a
- capacità
- Chi siamo
- accelerando
- Il mio account
- Raggiungere
- raggiunto
- operanti in
- aggiunto
- Adozione
- Accordo
- AI
- Servizi di intelligenza artificiale
- Tutti
- consente
- Amazon
- quantità
- .
- api
- applicazioni
- applicato
- APPLICA
- AMMISSIONE
- approccio
- approcci
- opportuno
- architettura
- RISERVATA
- gli attributi
- disponibile
- media
- AWS
- Bags
- Segno di riferimento
- beneficio
- MIGLIORE
- Meglio
- fra
- maggiore
- Libri
- costruisce
- incassato
- chiamata
- Custodie
- casi
- caratteri
- classe
- classificazione
- Cloud
- codice
- combinazione
- combinato
- Commenti
- Comunicazione
- concorrenza
- completamento di una
- composto
- calcolo
- Calcolare
- informatica
- consecutivo
- costantemente
- contatti
- Contenitore
- contiene
- contenuto
- Conversazione
- Conversazioni
- creare
- curva
- costume
- cliente
- Clienti
- dati
- scienziato di dati
- deep
- schierare
- deployment
- descrivere
- progettato
- dettagli
- rivelazione
- Determinare
- Mercato
- diverso
- Dimensioni
- direttamente
- discutere
- Dsiplay
- scaricare
- guidare
- durante
- dinamico
- ogni
- facilmente
- in maniera efficace
- enable
- da un capo all'altro
- endpoint
- Inglese
- entrare
- entità
- valutazione
- evoluzione
- esempio
- Esempi
- esistente
- esperienza
- competenza
- estensivo
- Faccia
- Moda
- Fantasia
- Nome
- i seguenti
- modulo
- Avanti
- essere trovato
- frazionario
- Contesto
- Gratis
- da
- pieno
- function
- funzionalità
- funzioni
- ulteriormente
- futuro
- gioco
- Giochi
- gaming
- Generale
- scopo generale
- generare
- ELETTRICA
- globali
- maggiore
- Crescita
- maniglia
- capo
- assistenza sanitaria
- Aiuto
- aiutato
- Alta
- alta qualità
- storia
- HTTPS
- umano
- Identità
- implementazione
- importante
- migliorata
- miglioramento
- includere
- Compreso
- industrie
- informazioni
- inerente
- ingresso
- intuizioni
- fonte di ispirazione
- esempio
- Insulto
- integrato
- integrazione
- IT
- sega
- Lavoro
- Tasti
- conosciuto
- laboratorio
- Discografica
- etichettatura
- per il tuo brand
- Lingua
- grandi
- superiore, se assunto singolarmente.
- strato
- Leads
- IMPARARE
- apprendimento
- Guidato
- Biblioteca
- Life Sciences
- probabile
- vivere
- caricare
- macchina
- machine learning
- make
- FA
- gestito
- direttore
- mask
- Mascherine
- partita
- Matrice
- meccanismo
- Memorie
- metodi
- Metrica
- forza
- ML
- modello
- modelli
- Scopri di più
- multiplo
- Naturale
- Natura
- Rete
- reti
- GENERAZIONE
- taccuino
- numero
- Offerte
- online
- operativo
- OTTIMIZZA
- ottimizzati
- minimo
- i
- Altro
- altrimenti
- proprio
- Carta
- particolarmente
- collaborato
- appassionato
- performance
- pezzo
- Piattaforme
- gioco
- per favore
- Popolare
- positivo
- Post
- predire
- predizione
- Preparare
- precedente
- Problema
- problemi
- processi
- i processi
- lavorazione
- Prodotti
- Proiezione
- purché
- fornisce
- Lettura
- tempo reale
- Recuperare
- pertinente
- rimozione
- rappresentare
- rappresentazione
- che rappresenta
- richiesta
- ritorno
- problemi
- Ruolo
- Correre
- scalabile
- schema
- Scienze
- SCIENZE
- Scienziato
- scienziati
- senza soluzione di continuità
- segmento
- servizio
- Servizi
- servizio
- set
- alcuni
- Corti
- significativa
- simile
- Un'espansione
- da
- SIX
- Taglia
- soluzione
- Soluzioni
- RISOLVERE
- lo spazio
- spazi
- specializzata
- Specialità
- specifico
- Spendere
- state-of-the-art
- stati
- conservazione
- il successo
- SISTEMI DI TRATTAMENTO
- Target
- task
- team
- tecniche
- telecomunicazioni
- test
- I
- tre
- soglia
- Attraverso
- tempo
- volte
- Tokens
- strumenti
- torcia
- tradizionale
- Treni
- Training
- transizione
- Traduzione
- Di viaggio
- per
- unico
- uso
- utenti
- convalida
- APPREZZIAMO
- varietà
- vario
- Video
- video games
- se
- OMS
- entro
- senza
- parole
- Lavora
- lavoro
- Trasferimento da aeroporto a Sharm