10 domande da porsi prima di iniziare un progetto di apprendimento automatico
- 10 domande da porsi prima di iniziare un progetto di apprendimento automatico
- 10 domande da porsi prima di iniziare un progetto di apprendimento automatico
- 1) Qual è il problema centrale e l'obiettivo del progetto?
- 2) Quali metriche saranno utilizzate per valutare il successo del progetto e a quale soglia?
- 3) Quanti dati abbiamo a disposizione per iniziare?
- 4) Quanti dati possono essere etichettati prima dell'inizio del progetto e quanti se ne possono generare al mese?
- 5) Quanta soggettività è coinvolta nell'etichettatura da parte degli annotatori umani?
- 6) Quali metadati saranno disponibili per ogni documento?
- 7) È possibile avere accesso a liste di entità che incontreremo?
- 8) C'è qualcosa che possiamo fare per accelerare il processo di raccolta dati/etichettatura?
- 9) Esistono dati non etichettati dello stesso dominio o dati etichettati non correlati al compito di predizione del pilota?
- 10) Esiste un database noto di testi specifici del dominio che condividono un vocabolario (e delle entità) simili?
- 10 domande da porsi prima di iniziare un progetto di apprendimento automatico
10 domande da porsi prima di iniziare un progetto di apprendimento automatico
Oltre 80% dei progetti di scienza dei dati non riescono ad andare oltre i test e a passare in produzione. Se tutti stanno avviando un progetto di apprendimento automatico, dove si sta sbagliando? Senza dubbio, le soluzioni di ML aumentano l'efficienza per chi si occupa di raccogliere o analizzare grandi quantità di dati. Ma spesso il pensiero minaccioso di come implementare un progetto del genere ci trattiene dal farlo.
Come si fa ad affrontare un compito del genere? Nello stesso modo in cui si mangia un elefante: morso dopo morso. Grazie alla mia esperienza alla guida del mio team nella costruzione di una piattaforma AI standard (Barra degli strumenti di Skim AI Chrome) e soluzioni personalizzate, ho identificato le 10 domande da porsi prima di iniziare un progetto di apprendimento automatico. Una volta risposto a queste 10 domande, avrete una base chiara su come affrontare il progetto.
10 domande da porsi prima di iniziare un progetto di apprendimento automatico
1) Qual è il problema centrale e l'obiettivo del progetto?
Ci sono diverse risposte valide a questa domanda, quindi vediamo di suddividerla. Innanzitutto, identificate l'obiettivo generale: dovete estrarre informazioni o classificare informazioni?
Successivamente, si deve individuare il livello di dettaglio a cui eseguire l'analisi. Ad esempio, il modello deve analizzare il livello di frase o l'intero documento. Oppure avete bisogno di qualcosa di personalizzato, come un sottoinsieme di frasi in un paragrafo, che potrebbe non essere ideale da implementare con un'elevata precisione?
2) Quali metriche saranno utilizzate per valutare il successo del progetto e a quale soglia?
Determinare i risultati quantitativi desiderati. Forse si vuole aumentare la quantità di dati classificati con l'estrazione automatica dei dati. In questo caso, è necessario indicare di quanto. O forse volete aumentare la quantità di dati che etichettate collettivamente come azienda o essere in grado di fare una previsione con un certo livello di precisione. Qualunque sia l'obiettivo, rendetelo chiaro e stabilite metriche misurabili.
3) Quanti dati abbiamo a disposizione per iniziare?
L'ideale sarebbe avere da due a cinquemila punti di dati per iniziare. ciascuno categoria di classificazione. È utile disporre di altre cinquanta-centomila parti di testo grezzo non etichettato, articoli o equivalenti da utilizzare come strato nel modello. Se si sta costruendo un classificatore di sentiment o di altro tipo per le menzioni di un prodotto nei dati delle notizie, sarebbe comunque utile avere qualche centinaio di migliaia di notizie che parlano di prodotti e del settore per il quale si sta costruendo il modello, anche se questi articoli non sono etichettati.
4) Quanti dati possono essere etichettati prima dell'inizio del progetto e quanti se ne possono generare al mese?
Come indicato nella domanda 3, il numero minimo di punti dati richiesto è di 5.000 per categoria per sviluppare un modello che fornisca risultati vicini alla precisione umana. Per creare una tempistica realistica, è necessario considerare il tempo necessario per etichettare manualmente il primo set.
5) Quanta soggettività è coinvolta nell'etichettatura da parte degli annotatori umani?
Sulla metodologia:
A volte è necessario semplificare il sistema per implementare un modello di apprendimento automatico utile. Spesso il motivo è che semplicemente non si hanno abbastanza dati per costruire un modello con una precisione di livello umano per distinguere le categorie.
La vostra metodologia è di facile comprensione per un essere umano? Le vostre categorie di classificazione sono distinte e presentano alcune differenze di vocabolario tra le categorie, oppure è difficile distinguere a causa della soggettività e dell'incapacità di definire regole con certezza.
Se un essere umano non è in grado di prendere una decisione entro uno o due secondi, una macchina avrà un problema. Alcuni team alleviano questo problema creando una categoria di classificazione "mista" e segnalando la categoria per la revisione da parte di un analista, così come quando una Tesla non è sicura di cosa fare in una situazione di confusione chiede al conducente di prendere il controllo del volante.
6) Quali metadati saranno disponibili per ogni documento?
È utile determinare le informazioni da raccogliere da ciascun documento del database. Queste possono includere elementi come l'autore, la data, l'ora, la sezione del giornale, il luogo, la fonte, la categoria o le entità coinvolte (oltre a molti altri elementi).
7) È possibile avere accesso a liste di entità che incontreremo?
La maggior parte dei progetti di estrazione dei dati vuole estrarre facilmente le entità (persone, luoghi e cose) in un testo. Molte aziende vogliono mappare questi dati a un particolare cliente o visualizzare analisi a livello di entità a un utente finale (probabilmente un cliente o una cliente). Se è necessario abbinare un'entità del testo a una presente nel database, è utile scrivere le corrispondenze desiderate.
Inoltre, se le entità sono già etichettate nel testo, la costruzione di un modello per estrarre le entità da un nuovo testo avrà un alto livello di precisione. Ciò è particolarmente vero se l'obiettivo è quello di etichettare tutte le varianti di una singola entità unificata (ad esempio, abbinando "Facebook", "WhatsApp" e "Instagram" al loro simbolo azionario condiviso "FB"). La creazione di un elenco principale di entità è utile anche nel caso in cui vi siano vari modi per trovare un'entità menzionata in un testo da visualizzare in un'interfaccia frontend rivolta al cliente, come un cruscotto di BI.
8) C'è qualcosa che possiamo fare per accelerare il processo di raccolta dati/etichettatura?
I dati sono un vantaggio competitivo che consente di costruire modelli. Dovreste prendere in considerazione la possibilità di sviluppare questa capacità internamente o in outsourcing per consentire i vostri progetti futuri.
Se non disponete di un team interno, prendete in considerazione la possibilità di esternalizzare le vostre esigenze di raccolta dati a società in India o nell'Europa dell'Est. Le loro tariffe sono molto competitive e dovrebbero variare da 500 a 1000 al mese per un raccoglitore di dati, a seconda di quanto sia sofisticato il vostro sistema di etichettatura.
9) Esistono dati non etichettati dello stesso dominio o dati etichettati non correlati al compito di predizione del pilota?
Ad esempio, ci sono ancora molti dati da etichettare memorizzati nel database, per questo particolare problema o per altri documenti specifici del dominio per i quali creeremo modelli in futuro?
In questo caso, è possibile costruire o adattare vari modelli linguistici per aumentare le prestazioni della maggior parte delle soluzioni. Infatti, anche i dati non etichettati sono utili ai modelli di apprendimento automatico per estrarre il significato dalle relazioni già presenti nel testo non etichettato.
10) Esiste un database noto di testi specifici del dominio che condividono un vocabolario (e delle entità) simili?
Per lo stesso motivo indicato sopra, i dati specifici del dominio sono molto utili per il ML/NLP. Spesso, qualcuno o qualche fornitore di dati ha ciò che serve per iniziare, a volte gratuitamente. Molti progetti di ricerca sono disposti a condividere i loro set di dati, spesso per uso non commerciale. Basta inviargli un'e-mail. Verificate che cosa occorre per ottenere l'accesso in termini di costi e se esistono delle API.
Google, Facebook, i governi, i fornitori di dati di mercato, i progetti di ricerca e altri possono aiutarvi a creare il vostro set di dati iniziale con i dati che mettono a disposizione della comunità. Spesso, disporre di un set di dati così ampio aumenta la capacità di ottenere di più dai vostri modelli, anche se disponete di dati meno etichettati.