Presentiamo lo Strumento di Misurazione dei Dati uno strumento interattivo per analizzare i dataset.

Presentiamo uno strumento interattivo per analizzare dataset lo Strumento di Misurazione dei Dati.

tl;dr: Abbiamo creato uno strumento che puoi utilizzare online per costruire, misurare e confrontare dataset.

Clicca qui per accedere allo 🤗 Strumento di Misurazione dei Dati.


Come sviluppatori di un repository unificato in rapida crescita per i dataset di Machine Learning (Lhoest et al. 2021), il team di 🤗 Hugging Face ha lavorato per supportare le buone pratiche per la documentazione dei dataset (McMillan-Major et al., 2021). Mentre la documentazione statica (seppur in evoluzione) rappresenta un primo passo necessario in questa direzione, avere una buona comprensione di ciò che è effettivamente presente in un dataset richiede misurazioni ben motivate e la capacità di interagire con esso, visualizzando dinamicamente diversi aspetti di interesse.

A tal fine, presentiamo una libreria Python open-source e un’interfaccia senza codice chiamata 🤗 Strumento di Misurazione dei Dati, utilizzando i nostri Dataset e Spaces Hubs abbinati al fantastico strumento Streamlit. Questo può essere utilizzato per aiutare a comprendere, costruire, curare e confrontare dataset.

Cos’è lo 🤗 Strumento di Misurazione dei Dati?

Lo Strumento di Misurazione dei Dati (DMT) è un’interfaccia interattiva e una libreria open-source che consente ai creatori e agli utenti di dataset di calcolare automaticamente metriche significative e utili per lo sviluppo responsabile dei dati.

Perché abbiamo creato questo strumento?

La curatela e l’analisi ponderata dei dataset di Machine Learning spesso vengono trascurate nello sviluppo dell’AI. Le norme attuali per i “big data” nell’AI (Luccioni et al., 2021, Dodge et al., 2021) includono l’utilizzo di dati estratti da vari siti web, con poca o nessuna attenzione alle misurazioni concrete di ciò che rappresentano le diverse fonti di dati, né ai dettagli specifici su come possono influenzare ciò che un modello apprende. Sebbene gli approcci di annotazione dei dataset possano aiutare a curare dataset più in linea con gli obiettivi di uno sviluppatore, i metodi per “misurare” diversi aspetti di questi dataset sono piuttosto limitati (Sambasivan et al., 2021).

Una nuova ondata di ricerca nell’AI ha chiesto un cambiamento di paradigma fondamentale nell’approccio del campo ai dataset di ML (Paullada et al., 2020, Denton et al., 2021). Ciò include la definizione di requisiti dettagliati per la creazione del dataset fin dall’inizio (Hutchinson et al., 2021), la curatela dei dataset alla luce di contenuti problematici e preoccupazioni di bias (Yang et al., 2020, Prabhu and Birhane, 2020), e l’esplicitazione dei valori intrinseci alla costruzione e alla manutenzione del dataset (Scheuerman et al., 2021, Birhane et al., 2021). Sebbene vi sia un accordo generale sul fatto che lo sviluppo del dataset sia un compito che persone provenienti da discipline diverse dovrebbero essere in grado di influenzare, nella pratica spesso vi è un collo di bottiglia nell’interfacciarsi con i dati grezzi stessi, che tendono a richiedere competenze di codifica complesse per analizzare e interrogare il dataset.

Nonostante ciò, sono pochi gli strumenti disponibili pubblicamente che consentono alle persone di diverse discipline di misurare, interrogare e confrontare dataset. Il nostro obiettivo è contribuire a colmare questa lacuna. Impariamo e costruiamo su strumenti recenti come Know Your Data e Data Quality for AI, nonché su proposte di ricerca per la documentazione dei dataset come Vision and Language Datasets (Ferraro et al., 2015), Datasheets for Datasets (Gebru et al., 2018) e Data Statements (Bender & Friedman 2019). Il risultato è una libreria open-source per le misurazioni dei dataset e un’interfaccia senza codice correlata per l’analisi dettagliata dei dataset.

Quando posso utilizzare lo 🤗 Strumento di Misurazione dei Dati?

Lo 🤗 Strumento di Misurazione dei Dati può essere utilizzato in modo iterativo per esplorare uno o più dataset NLP esistenti e presto supporterà lo sviluppo iterativo di dataset da zero. Fornisce informazioni operative basate sulla ricerca sui dataset e sullo sviluppo responsabile del dataset, consentendo agli utenti di concentrarsi sia su informazioni di alto livello che su elementi specifici.

Cosa posso imparare utilizzando lo 🤗 Strumento di Misurazione dei Dati?

Concetti di base del dataset

Per una panoramica di alto livello del dataset

Questo inizia a rispondere a domande come “Cosa è questo dataset? Ha elementi mancanti?”. Puoi utilizzarlo come “controlli di coerenza” per verificare che il dataset con cui stai lavorando sia come ti aspetti.

  • Una descrizione del dataset (dal Hugging Face Hub)

  • Numero di valori mancanti o NaN

Statistiche descrittive

Per esaminare le caratteristiche superficiali del dataset

Questo inizia a rispondere a domande come “Che tipo di linguaggio è presente in questo dataset? Quanto è diversificato?”

  • La dimensione del vocabolario del dataset e la distribuzione delle parole, sia per le parole di classe aperta che per quelle di classe chiusa.

  • La distribuzione delle etichette del dataset e informazioni sull’equilibrio delle classi.

  • La media, la mediana, l’intervallo e la distribuzione delle lunghezze delle istanze.

  • Il numero di duplicati nel dataset e quante volte vengono ripetuti.

Puoi utilizzare questi strumenti per verificare se ciò che è più rappresentato e meno rappresentato nel dataset ha senso per gli obiettivi del dataset. Queste misurazioni sono destinate a informare se il dataset può essere utile per catturare una varietà di contesti o se ciò che cattura è più limitato, e per misurare quanto sono ”bilanciate” le etichette e le lunghezze delle istanze. Puoi anche utilizzare questi strumenti per identificare outlier e duplicati che potresti voler rimuovere.

Statistiche distributive

Per misurare i modelli linguistici nel dataset

Questo inizia a rispondere a domande come “Come si comporta il linguaggio in questo dataset?”

  • Adesione alla legge di Zipf, che fornisce misurazioni di quanto la distribuzione delle parole nel dataset si avvicina alla distribuzione attesa delle parole nel linguaggio naturale.

Puoi utilizzare questo per capire se il tuo dataset rappresenta il linguaggio come tende a comportarsi nel mondo naturale o se ci sono cose che lo rendono più innaturale. Se sei una persona che ama l’ottimizzazione, puoi considerare il valore alpha calcolato da questo strumento come un valore da avvicinare il più possibile a 1 durante lo sviluppo del dataset. Ulteriori dettagli sui valori alpha che seguono la legge di Zipf in diverse lingue sono disponibili qui.

In generale, un alpha maggiore di 2 o un rango minimo maggiore di 10 (prendi con le pinze) significa che la tua distribuzione è relativamente innaturale per il linguaggio naturale. Questo può essere un segno di artefatti misti nel dataset, come il markup HTML. Puoi utilizzare queste informazioni per pulire il tuo dataset o per guidarti nel determinare come distribuire ulteriormente il linguaggio che aggiungi al dataset.

Statistiche comparative

Questo inizia a rispondere a domande come “Che tipi di argomenti, pregiudizi e associazioni sono presenti in questo dataset?”

  • Cluster di embedding per individuare eventuali cluster di linguaggio simile nel dataset. Considerare la diversità del testo rappresentato in un dataset può essere sfidante quando è composto da centinaia o centinaia di migliaia di frasi. Raggruppare questi elementi di testo in base a una misura di similarità può aiutare gli utenti a ottenere alcune intuizioni sulla loro distribuzione. Mostriamo un clustering gerarchico dei campi di testo nel dataset basato su un modello Sentence-Transformer e un criterio di collegamento singolo basato sul prodotto di punti massimo. Per esplorare i cluster, puoi:

    • sopraffare un nodo per vedere i 5 esempi più rappresentativi (senza duplicati)
    • inserire un esempio nella casella di testo per vedere a quali cluster di foglie è più simile
    • selezionare un cluster per ID per visualizzare tutti i suoi esempi
  • La mutua informazione puntiforme normalizzata (nPMI) tra le coppie di parole nel dataset, che può essere utilizzata per identificare stereotipi problematici. Puoi utilizzare questo strumento per gestire il “bias” del dataset, dove il termine “bias” si riferisce a stereotipi e pregiudizi per gruppi identitari lungo gli assi del genere e dell’orientamento sessuale. Aggiungeremo ulteriori termini in futuro.

Qual è lo stato di sviluppo dello strumento di misurazione dei dati 🤗?

Attualmente presentiamo la versione alpha (v0) dello strumento, dimostrando la sua utilità su alcuni popolari dataset in lingua inglese (ad esempio SQuAD, imdb, C4, …) disponibili su Dataset Hub, con le funzionalità descritte sopra. Le parole che abbiamo selezionato per la visualizzazione di nPMI sono un sottoinsieme di termini identitari che sono emersi frequentemente nei dataset con cui stavamo lavorando.

Nelle prossime settimane e mesi, estenderemo lo strumento per:

  • Coprire più lingue e dataset presenti nella libreria 🤗 Datasets.
  • Fornire supporto per dataset forniti dall’utente e creazione iterativa di dataset.
  • Aggiungere ulteriori funzionalità e caratteristiche allo strumento stesso. Ad esempio, renderemo possibile aggiungere i propri termini per la visualizzazione nPMI in modo da poter selezionare le parole che contano di più per te.

Ringraziamenti

Grazie a Thomas Wolf per aver avviato questo lavoro, così come agli altri membri del team 🤗 (Quentin, Lewis, Sylvain, Nate, Julien C., Julien S., Clément, Omar e molti altri!) per il loro aiuto e supporto.