Costruzione di un flusso di lavoro di apprendimento automatico per la classificazione degli accenti inglesi
Flusso di lavoro per classificazione accenti inglesi
Una guida passo-passo per la creazione di un modello di classificazione di apprendimento automatico basato sull’audio per gli accenti inglesi più comuni e la sua implementazione su Hugging Face
Nel nostro mondo sempre più interconnesso, la comunicazione non conosce confini. Con comunità diverse che interagiscono oltre i confini e le culture, capire gli accenti è diventato una parte essenziale della comunicazione efficace. Un sistema di classificazione preciso degli accenti inglesi ha il potenziale per colmare le lacune linguistiche, migliorare i sistemi di riconoscimento vocale, migliorare gli strumenti di apprendimento delle lingue e persino aiutare nelle esperienze utente personalizzate. Di seguito, descrivo dettagliatamente come sviluppare un tale sistema, mettendo in luce le numerose applicazioni che offre nel favorire una comunicazione senza soluzione di continuità e inclusiva.
Tutto il codice end-to-end per la selezione dei dati, l’addestramento del modello e l’invio al repository di HuggingFace è disponibile pubblicamente qui. Di seguito, descrivo i passaggi più importanti.
Selezione dei dati, campionamento e trasformazione
L’analisi si basa sulla versione di Kaggle del dataset Common Voice di Mozilla, che contiene circa 500 ore di registrazioni vocali, con diverse demografie degli speaker (inclusi gli accenti degli speaker). Il dataset è distribuito con una licenza di CC0: Public Domain.
Distribuzione dei campioni di dati in base all’accento:
- Incontra MetaGPT l’assistente AI alimentato da ChatGPT che trasforma il testo in applicazioni web.
- Emozionante lancio annunciamo i corsi gratuiti di GenAI Nano
- Programmazione Orientata agli Oggetti (OOP) in Python – per Principianti (Parte 1)
us 30997england 14938indian 4490australia 4287canada 3901scotland 1556african 1173newzealand 1153ireland 944philippines 326wales 262bermuda 196malaysia 182singapore 124hongkong 99southatlandtic 83
Sulla base di questa distribuzione, ho selezionato i 5 accenti più comuni — US, England, Indian, Australia e Canada — e ho eseguito un campionamento con sottocampionaggio per ottenere la distribuzione del campione:
# sottocampionamento casuale di tutte le classi tranne quella di minoranza
rus = RandomUnderSampler(random_state=83, sampling_strategy='not minority')
y = dd[['label']]
dd = dd.drop(['label']…