Sfruttare Hugging Face per casi d’uso complessi di classificazione del testo

Utilizzare Hugging Face per classificare il testo in casi d'uso complessi.

La storia di successo di Witty Works con il programma di accelerazione degli esperti di Hugging Face.

Se sei interessato a costruire soluzioni di apprendimento automatico più velocemente, visita la pagina di destinazione del programma di accelerazione degli esperti e contattaci qui !

Contesto aziendale

Man mano che l’informatica continua a evolversi e a plasmare il nostro mondo, è imperativo creare un ambiente più diversificato e inclusivo all’interno del settore. Witty Works è stata fondata nel 2018 per affrontare questa sfida. Inizialmente una società di consulenza che consigliava le organizzazioni su come diventare più diverse, Witty Works ha iniziato aiutando a scrivere annunci di lavoro utilizzando un linguaggio inclusivo. Per ampliare questo sforzo, nel 2019 hanno sviluppato un’app web per assistere gli utenti nella scrittura di annunci di lavoro inclusivi in inglese, francese e tedesco. Hanno ampliato rapidamente il campo con un assistente di scrittura che funziona come estensione del browser e che corregge automaticamente e spiega il potenziale pregiudizio in e-mail, post su Linkedin, annunci di lavoro, ecc. L’obiettivo era offrire una soluzione per la comunicazione interna ed esterna che favorisse un cambiamento culturale fornendo spiegazioni sul pregiudizio sottostante delle parole e delle frasi evidenziate.

Esempio di suggerimenti dell’assistente di scrittura

Primi esperimenti

Witty Works ha inizialmente scelto un approccio di apprendimento automatico di base per costruire il loro assistente da zero. Utilizzando il trasferimento di apprendimento con modelli spaCy pre-addestrati, l’assistente era in grado di:

  • Analizzare il testo e trasformare le parole in lemma,
  • Eseguire un’analisi linguistica,
  • Estrarre le caratteristiche linguistiche dal testo (forme plurali e singolari, genere), etichette di parte del discorso (pronomi, verbi, sostantivi, aggettivi, ecc.), etichette di dipendenza delle parole, riconoscimento delle entità nominate, ecc.

Rilevando e filtrando le parole in base a una specifica base di conoscenza utilizzando le caratteristiche linguistiche, l’assistente poteva evidenziare parole non inclusive e suggerire alternative in tempo reale.

Sfida

Il vocabolario conteneva circa 2300 parole non inclusive e modi di dire in tedesco e inglese corrispondentemente. L’approccio di base descritto sopra funzionava bene per l’85% del vocabolario, ma falliva per le parole dipendenti dal contesto. Pertanto, l’obiettivo era costruire un classificatore dipendente dal contesto per le parole non inclusive. Una tale sfida (comprendere il contesto piuttosto che riconoscere le caratteristiche linguistiche) ha portato all’utilizzo dei modelli Hugging Face transformers.

Esempio di parole dipendenti dal contesto non inclusive: 
I combustibili fossili non sono risorse rinnovabili. Vs Lui è un vecchio fossile
Avrai un orario flessibile. Vs Dovresti mantenere flessibile il tuo orario.

Soluzioni fornite dagli esperti di Hugging Face

  • Ottieni indicazioni per decidere l’approccio di machine learning corretto.

    L’approccio inizialmente scelto erano i transformer “vanilla” (utilizzati per estrarre i token di parole specifiche non inclusive). L’esperto di Hugging Face ha consigliato di passare dagli embedding di parole contestualizzati agli embedding di frasi contestualizzate. In questo approccio, la rappresentazione di ogni parola in una frase dipende dal contesto circostante.

Gli esperti di Hugging Face hanno suggerito l’utilizzo di un’architettura Sentence Transformers. Questa architettura genera embedding per le frasi nel loro complesso. La distanza tra frasi semanticamente simili viene ridotta al minimo e massimizzata per frasi distanti.

In questo approccio, i Sentence Transformers utilizzano reti Siamese e strutture di rete triplette per modificare i modelli di transformer pre-addestrati per generare embedding di frasi “semanticamente significativi”.

L’embedding di frase risultante serve come input per un classificatore classico basato su KNN o regressione logistica per costruire un classificatore dipendente dal contesto per le parole non inclusive.

Elena Nazarenko, Lead Data Scientist a Witty Works: 
"Generiamo vettori di embedding contestualizzati per ogni parola in base alla sua 
frase (embedding BERT). Quindi, manteniamo solo l'embedding per il token della 
parola 'problema' e calcoliamo l'angolo più piccolo (similarità coseno)"  

Per addestrare un classificatore basato su transformer “vanilla”, come un semplice modello BERT, Witty Works avrebbe avuto bisogno di una quantità sostanziale di dati annotati. Sarebbero state necessarie centinaia di campioni per ogni categoria di parole segnalate. Tuttavia, un tale processo di annotazione sarebbe stato costoso e richiedente tempo, cosa che Witty Works non poteva permettersi.

  • Ottieni indicazioni per selezionare la libreria di machine learning corretta.

    L’esperto di Hugging Face ha suggerito di utilizzare la libreria di addestramento fine-tuning per Sentence Transformers (nota anche come SetFit), un framework efficiente per il fine-tuning con pochi esempi di modelli Sentence Transformers. Combinando l’apprendimento contrastivo e la similarità semantica delle frasi, SetFit raggiunge un’alta precisione nelle attività di classificazione del testo con pochi dati etichettati.

Julien Simon, Chief Evangelist di Hugging Face: 
"Il set di adattamento per attività di classificazione del testo è uno strumento fantastico da aggiungere alla cassetta degli attrezzi di ML"

Il team di Witty Works ha riscontrato che le prestazioni erano adeguate con soli 15-20 frasi etichettate per parola specifica.

Elena Nazarenko, Data Scientist Principale presso Witty Works: 
"A fine giornata, abbiamo risparmiato tempo e denaro non creando questo grande set di dati"

Ridurre il numero di frasi era essenziale per garantire che l’addestramento del modello rimanesse veloce e che l’esecuzione del modello fosse efficiente. Tuttavia, era anche necessario per un altro motivo: Witty adotta esplicitamente un approccio altamente supervisionato/basato su regole per gestire attivamente il bias. Ridurre il numero di frasi è molto importante per ridurre lo sforzo nella revisione manuale delle frasi di addestramento.

  • Ottieni indicazioni sulla scelta dei modelli di ML giusti.

    Una delle principali sfide per Witty Works era implementare un modello con bassa latenza. Nessuno si aspetta di dover aspettare 3 minuti per ottenere suggerimenti per migliorare il proprio testo! Sia Hugging Face che Witty Works hanno sperimentato alcuni modelli di trasformatori di frasi e hanno scelto mpnet-base-v2 combinato con regressione logistica e KNN.

Dopo un primo test su Google Colab, gli esperti di Hugging Face hanno guidato Witty Works nel deploy del modello su Azure. Non è stata necessaria alcuna ottimizzazione poiché il modello era sufficientemente veloce.

Elena Nazarenko, Data Scientist Principale presso Witty Works: 
"Lavorare con Hugging Face ci ha risparmiato molto tempo e denaro. 
Ci si può sentire persi nell'implementazione di casi d'uso complessi di classificazione del testo. 
Essendo uno dei compiti più popolari, ci sono molti modelli disponibili nell'Hub. 
Gli esperti di Hugging Face mi hanno guidato attraverso l'ampia quantità di modelli basati su trasformatori 
per scegliere l'approccio migliore possibile. 
Inoltre, mi sono sentito molto supportato durante il deployment del modello"

Risultati e conclusione

Il numero di frasi di addestramento è sceso da 100-200 per parola a 15-20 per parola. Witty Works ha ottenuto un’accuratezza del 0.92 e ha implementato con successo un modello personalizzato su Azure con un minimo sforzo di DevOps!

Lukas Kahwe Smith CTO & Co-fondatore di Witty Works: 
"Lavorare su un progetto IT da soli può essere impegnativo e anche se 
l'EAP è un investimento significativo per una startup, è il modo più economico 
e significativo per ottenere un partner di allenamento"

Con la guida degli esperti di Hugging Face, Witty Works ha risparmiato tempo e denaro implementando un nuovo flusso di lavoro di ML alla maniera di Hugging Face.

Julien Simon, Chief Evangelist di Hugging Face: 
"Il modo Hugging per costruire flussi di lavoro: 
trova modelli pre-addestrati open-source, 
valutali subito, 
vedi cosa funziona, vedi cosa non funziona. 
Attraverso l'iterazione, si inizia a imparare immediatamente"

🤗 Se tu o il tuo team siete interessati ad accelerare la vostra roadmap di ML con gli esperti di Hugging Face, visita hf.co/support per saperne di più.