Classificazione e Localizzazione di Diverse Forme di Molestie Sessuali
Classification and Localization of Various Forms of Sexual Harassment.
Introduzione
Sai qual è il fatto inevitabile sulla prevalenza del molestatore sessuale? È dovuto alla bassa percentuale di denunce. Se le vittime non segnalano il molestatore, come possono le autorità guidare le persone per evitare il molestatore e come può cambiare il comportamento dell’offensore? La classificazione e la localizzazione del caso di molestia sessuale aiutano le vittime ad esprimere la loro esperienza in modo anonimo e aiutano a categorizzare i vari tipi di molestie sessuali che le vittime hanno subito in modo da aiutare nella valutazione rapida della categoria per la presentazione delle testimonianze. Ciò aiuta anche a fornire precauzioni di sicurezza tenendo conto dell’analisi dei forum già presentati.
Queste precauzioni di sicurezza danno la testa all’individuo fornendo luoghi comuni con il maggior numero di tipi di molestie sessuali segnalate in quella regione e il comportamento degli autori. In futuro, dalle predizioni di cui sopra, gli individui trarranno molti vantaggi poiché forniscono informazioni e creano consapevolezza sulle circostanze degli eventi.
Obiettivi di apprendimento
- Predire la classificazione multi-label di vari tipi di molestie nella società
- Utilizzare tecniche di elaborazione del linguaggio naturale sul dataset
- Iterare su algoritmi di machine learning tradizionali
- Implementare reti neurali convoluzionali
- Il blog discute l’applicazione di questi metodi per affrontare le questioni correlate alla molestia
Questo articolo è stato pubblicato come parte del Data Science Blogathon.
- Ricerca di similarità, Parte 2 Quantizzazione di prodotto
- Rimozione e distillazione architetturale un percorso verso una compressione efficiente nei modelli di diffusione testo-immagine dell’IA.
- Forged in Flames Startup combina l’IA generativa e la computer vision per combattere gli incendi forestali.
Problema commerciale
Qui le storie delle vittime sono categorizzate in tre tipi di molestie sessuali, cioè, le convertiamo in una classificazione multi-label poiché le vittime possono subire uno o più tipi di molestie sessuali contemporaneamente.
Vincoli commerciali
Poiché il mio caso di studio è una classificazione multi-label, una classificazione errata non è più un errore o una risposta giusta o sbagliata. Una previsione contenente un sottoinsieme delle classi effettive dovrebbe essere considerata migliore di una previsione che non ne contiene nessuna, ossia prevedere correttamente due dei tre label è meglio che non prevederne nessuno. Non abbiamo alcuna preoccupazione riguardante la latenza rigorosa. L’interpretabilità è molto importante perché aiuta a trovare il motivo per cui la storia è classificata come uno dei tipi di molestie
Descrizione del dataset
I dati sono stati raccolti dal forum online di safecity e dal WIN World Survey (WWS), un sondaggio di ricerca di mercato e di sondaggio per raccogliere dati sui paesi in cui la molestia sessuale è predominante. Il dataset contiene due caratteristiche. Caratteristica 1: contiene le storie delle vittime (Descrizione), la Caratteristica 2 contiene la geolocalizzazione (Posizione) dell’evento.
La nostra etichetta di classe è una classificazione multi-label che contiene tre tipi di molestie sessuali (Commenti, Osservazioni e Palpeggiamenti) che la vittima ha subito.
Metriche di performance
Per la classificazione multi-label, le previsioni per un’istanza sono un insieme di etichette e quindi le nostre previsioni possono essere completamente corrette, parzialmente corrette o completamente errate. Ciò rende l’elaborazione di un classificatore multi-label più impegnativa rispetto all’elaborazione di un classificatore a singola etichetta. Tuttavia, per la valutazione della correttezza parziale, possiamo utilizzare le seguenti metriche per la valutazione.
Accuratezza – Qui l’accuratezza per un’istanza viene calcolata come la proporzione delle etichette corrette previste al numero totale (previsto e effettivo) di etichette. L’accuratezza complessiva può essere ottenuta dalla media di tutte le istanze.
Queste metriche possono essere calcolate su singole etichette di classe e poi mediare su tutte le classi. Questo è definito come macro-averaging. In alternativa, possiamo calcolare queste metriche globalmente su tutte le istanze e tutte le etichette di classe. Questo è definito come micro-averaging.
Utilizziamo la Macro F1-score e la Micro F1-score come metrica per la classificazione multi-label.
La Hamming Loss viene utilizzata come metrica per la classificazione multi-label, questa metrica calcola la proporzione di etichette previste in modo errato al numero totale di etichette.
Preprocessing
Per ottenere migliori informazioni, cerchiamo di pulire i nostri dati (come rimuovere simboli, punteggiatura, caratteri speciali, ecc.). Quando si tratta di dati di testo, la pulizia o l’elaborazione preliminare sono importanti quanto la costruzione del modello.
Ecco i passaggi di elaborazione preliminare che dobbiamo eseguire:
- Minuscole
- Rimozione delle cifre
- Rimozione della punteggiatura
- Rimozione dei caratteri speciali
- Rimozione dei tag HTML
- Rimozione delle stop word
- Espansione delle contrazioni
Analisi esplorativa dei dati
È importante assicurarsi che i dati siano pronti per il lavoro di modellizzazione. L’Analisi esplorativa dei dati (EDA) assicura la prontezza dei dati per l’apprendimento automatico. In effetti, l’EDA assicura che i dati siano più utilizzabili. Senza una EDA adeguata, il lavoro di apprendimento automatico soffre di problemi di precisione e molte volte, gli algoritmi non funzionano. L’EDA ci aiuta a capire i dati e ottenere migliori conoscenze. Quindi ci dirigiamo verso l’EDA.
Verifica dei valori null nel dataset
df.isnull().sum()
Aggiungiamo una nuova funzionalità al frame dei dati che calcola il numero di parole da una storia di vittima. Tracciando il grafico di distribuzione tenendo conto della colonna del conteggio delle parole dal nostro frame dei dati.
- Dal grafico sopra possiamo dedurre che la maggior parte delle vittime preferisce condividere le loro esperienze entro 100 parole.
Grafico geografico
Dal nostro frame dei dati prendiamo in considerazione la colonna della posizione e quindi calcoliamo il numero di volte per cui le vittime hanno subito molestie in una particolare regione. Per tracciare il grafico geografico costruiamo il frame dei dati dei paesi (regione in cui si è verificato l’abuso sessuale) e il conteggio delle vittime che hanno segnalato da quella particolare regione.
- Dal grafico sopra possiamo dedurre che il maggior numero di vittime si è verificato nella regione del Messico (regione gialla più chiara).
Grafico a barre
Grafici a barre per verificare il numero di storie di vittime in ogni categoria.
Stiamo creando una colonna ‘label’ come segue:
- Etichettiamo 1 quando la persona subisce solo un abuso verbale
- Etichettiamo 2 quando la persona subisce solo uno sguardo fisso
- Etichettiamo 3 quando la persona subisce solo palpeggiamenti
- Etichettiamo 4 quando la persona subisce solo abusi verbali e sguardi fisso
- Etichettiamo 5 quando la persona subisce solo sguardi fissi e palpeggiamenti
- Etichettiamo 6 quando la persona subisce solo abusi verbali e palpeggiamenti
- Etichettiamo 7 quando la persona non subisce alcun abuso
- Etichettiamo 8 quando la persona subisce tre tipi di abusi contemporaneamente
Dal grafico a barre sopra possiamo osservare che le donne del Messico hanno subito il maggior numero di molestie sessuali. Dobbiamo anche avere un’idea chiara delle parole che sono frequentemente occorse in ogni categoria. Di seguito ci sono i grafici a barre dei unigrammi, bigrammi e trigrammi più comuni per ogni categoria.
Categoria dei commenti
Categoria Occhiolino
Categoria Palpeggiamento
TSNE
Effettuando la vettorizzazione delle nostre storie di vittime al fine di ridurre la dimensionalità per una facile visualizzazione della categoria di molestie.
Come sappiamo, TSNE è di natura stocastica, quindi per molteplici esecuzioni otteniamo visualizzazioni diverse, quindi ho eseguito diverse perplessità e iterazioni al fine di ottenere il grafico sopra, questo grafico indica chiaramente che una classe può essere segregata dall’altra.
Word Cloud
Abbiamo anche implementato la nuvola di parole per la visualizzazione dei dati frequenti in ogni categoria.
Categoria di commento
- Dal sopra possiamo dedurre che per il tipo di molestie sessuali con commenti, la maggior parte degli autori erano ragazzi per questo tipo di evento si è solitamente verificato al college, alla stazione, in autobus, a scuola.
Categoria Occhiolino
- Dal sopra possiamo dedurre che per il tipo di molestie sessuali con occhiolino la maggior parte degli autori erano ragazzi per questo tipo di evento si è solitamente verificato per strada mentre le vittime camminavano, passavano, andavano al college.
Categoria Palpeggiamento
- Dal sopra possiamo dedurre che per il tipo di molestie sessuali con palpeggiamento la maggior parte degli autori erano uomini per questo tipo di evento si è solitamente verificato in luoghi pubblici come in autobus, alla stazione mentre stavano viaggiando dove le persone sono affollate.
Scatter Text
Utilizzando lo scatter text per la visualizzazione di termini unici e la loro frequenza. Il grafico scatter text funziona sui dati categorici come un classificatore binario, quindi stiamo creando colonne separate per ogni tipo di molestia con valori categorici.
Scatter Text Plot per la categoria di commenti
Dal grafico sopra possiamo dedurre le parole di commento principali e le parole non di commento. In alto a destra del grafico si trovano i termini più condivisi e in basso a sinistra quelli meno frequenti dei termini più condivisi.
Grafico a dispersione di testo per la categoria “Ogling”
Dalla figura sopra possiamo dedurre le parole più utilizzate per osservare e quelle meno utilizzate. In alto a destra del grafico ci sono i termini più condivisi, mentre in basso a sinistra ci sono quelli meno frequenti tra i termini più condivisi.
Grafico a dispersione di testo per la categoria “Palpeggiamento”
Dalla figura sopra possiamo dedurre le parole più utilizzate per il palpeggiamento e quelle meno utilizzate. In alto a destra del grafico ci sono i termini più condivisi, mentre in basso a sinistra ci sono quelli meno frequenti tra i termini più condivisi.
Modelli di apprendimento automatico
Per l’addestramento del modello abbiamo effettuato una semplice divisione tra training set e test set e abbiamo provato vari modelli.
Abbiamo effettuato vari modelli di apprendimento automatico utilizzando BOW, TFIDF, GLOVE 300 dimensioni e abbiamo osservato i seguenti valori per le rispettive metriche.
Dal grafico sopra possiamo dedurre un alto punteggio Macro F1 di 0,63 da Linear SVC utilizzando il vettorizzatore BOW, inoltre sia il vettorizzatore BOW che il vettorizzatore TFIDF sono migliori del vettorizzatore GLOVE in ogni metrica.
Ci siamo anche dedicati all’implementazione di modelli di apprendimento profondo.
Modelli di apprendimento profondo
Modello CNN
Abbiamo costruito una rete neurale convoluzionale passando Glove 300 Dimensioni al livello di embedding.
Dato che stiamo lavorando su una classificazione multi-label, abbiamo passato il nostro ultimo livello all’attivazione sigmoidale e abbiamo implementato la funzione di perdita di entropia binaria incrociata.
Modello CNN-LSTM
Abbiamo anche costruito una rete neurale convoluzionale passando Glove 300 Dimensioni al livello di embedding e abbiamo poi aggiunto il livello LSTM per il modello CNN-LSTM.
Sommario dei due modelli DL
Dalle metriche sopra, scegliamo il modello CNN come il migliore.
Deployment del modello
Abbiamo creato un’applicazione web utilizzando Flask e abbiamo distribuito il nostro miglior modello. Di seguito il video delle istanze in esecuzione del nostro modello distribuito.
Conclusioni
In conclusione, questo blog mette in luce il problema urgente del molestie sessuali e sottolinea la bassa incidenza di denunce come fattore contributivo alla sua diffusione. Sottolinea l’importanza che le vittime denuncino le loro esperienze per consentire alle autorità di guidare le persone e guidare un cambiamento nel comportamento degli autori.
Questo blog discute anche l’implementazione di tecniche di elaborazione del linguaggio naturale, algoritmi di apprendimento automatico tradizionali e reti neurali convoluzionali, con il modello CNN, integrato da un livello LSTM, che genera risultati superiori. Attraverso questo lavoro, l’obiettivo è di fornire potere alle persone, fornire orientamento e promuovere il cambiamento sociale nel affrontare il pervasivo problema del molestie sessuali.
Punti chiave
- Il modello CNN ha superato gli algoritmi di apprendimento automatico tradizionali nella previsione della classificazione multi-label delle forme di molestia.
- Il livello LSTM utilizzato nel modello CNN ha portato a un miglioramento significativo delle metriche di performance.
- L’articolo sottolinea la superiorità del modello CNN e l’impatto del livello LSTM sulle sue prestazioni.
Lavori futuri
- Dobbiamo raccogliere più dati in modo che ci aiuti a migliorare i valori delle nostre metriche di prestazione sul set di dati di test.
- Possiamo provare le incapsulazioni BERT e le incapsulazioni di parole FastText.
- Possiamo lavorare sul nostro modello personalizzato al fine di ottenere valori migliorati sulle metriche di prestazione cambiando l’architettura.
Puoi trovare il mio codice completo qui.
Domande frequenti
Riferimenti
- https://aclanthology.org/D18-1303.pdf
- https://stackoverflow.com/questions/19790188/expanding-english-language-contractions-in-python/47091490#47091490
- https://www.kdnuggets.com/2020/09/geographical-plots-python.html
- https://analyticsindiamag.com/visualizing-sentiment-analysis-reports-using-scattertext-nlp-tool/
I media mostrati in questo articolo non sono di proprietà di Analytics Vidhya e sono utilizzati a discrezione dell’autore.