Rilevamento spam: un'app per l'apprendimento profondo

Contenuti

Questo post è stato reso pubblico come parte del Blogathon sulla scienza dei dati

Ciò che ogni grande azienda tecnologica vuole è la sicurezza e la protezione dei propri clienti. Rilevando gli avvisi di spam nelle e-mail e nei messaggi, vogliono proteggere la loro rete e migliorare la fiducia dei loro clienti. L'app di messaggistica ufficiale di Apple e l'app di chat ufficiale di Google, In altre parole, Gmail, sono ottimi esempi di tali applicazioni in cui la procedura di rilevamento e filtraggio dello spam funziona bene per proteggere gli utenti dagli avvisi di spam. Quindi, se stai cercando di creare un sistema di rilevamento dello spam, questo testo è per te.

fonteRilevamento spam

Cos'è il cosiddetto Spam?

I messaggi elettronici sono un mezzo di comunicazione cruciale tra molte persone in tutto il mondo.. Ma diverse persone e aziende abusano di questa funzione per consegnare messaggi di massa non richiesti che sono comunemente indicati come SMS di spam.. Gli SMS di spam possono includere pubblicità di farmaci, Software, contenuto per adulti, assicurazioni o altri annunci fraudolenti. Vari filtri antispam in genere forniscono un meccanismo di protezione che progetterà un sistema per riconoscere lo spam..

Rilevamento spam

Dopo aver inviato i tuoi dati personali, come numero di cellulare o indirizzo e-mail su qualsiasi piattaforma, hanno iniziato a pubblicizzare i loro prodotti insoliti facendogli costantemente un ping. Cercano di fare pubblicità inviando e-mail costanti e con l'aiuto dei tuoi dati di contatto continuano a inviarti messaggi e oggi fanno di più su WhatsApp. Perché, il risultato non è altro che una serie di avvisi e notifiche di spam che compaiono nella tua casella di posta. Spesso, È qui che entra in gioco il compito del rilevamento dello spam..

Rilevamento dello spam significa rilevare messaggi o e-mail di spam comprendendo il contenuto del testo in modo da ricevere solo notifiche sui tuoi messaggi o e-mail che sono cruciali per te. Se vengono trovati messaggi di spam, vengono automaticamente trasferiti in una cartella spam e non ti vengono mai notificati tali avvisi. Questo aiuta a migliorare l'esperienza dell'utente., poiché molti avvisi di spam possono infastidire molti utenti.

Che cos'è il filtro antispam?

Potresti indovinare quando diventerai il bersaglio degli hacker?? sì, se stai pensando allo spam, sei sulla strada giusta. Ogni volta che lo spam raggiunge la tua email o la tua casella di posta, sei nelle mani di hacker e ti chiameranno il loro obiettivo. Quando si tratta di tecnologia, gli esseri umani tendono ad essere l'anello debole nella maggior parte delle situazioni di sicurezza IT. Gli aggressori cercheranno costantemente di ingannarti, manipolare gli utenti per fare clic su cose che non dovrebbero fare attraverso una serie di metodi. Spesso, queste “trucchi” sono fatti tramite e-mail, Poiché le piattaforme di posta elettronica possono raggiungere un numero considerevole di persone e forse molto “economico”. Dopo aver fatto clic sull'inappropriato disponibile nelle e-mail di spam, esposto i tuoi dati importanti e personali agli hacker. Il ruolo del filtro antispam nasce dal fatto che la posta elettronica è ampiamente utilizzata per sfruttare gli utenti e i loro dati più potenti.. Le istituzioni dovrebbero utilizzare un filtro antispam per ridurre il pericolo che gli utenti clicchino su qualcosa che non dovrebbero, mantenendo successivamente i tuoi dati interni protetti da un attacco informatico.

PERCHÉ È IMPORTANTE?

L'implementazione del filtro antispam è di esclusiva rilevanza per tutte le istituzioni. Il ruolo principale del filtro antispam è quello di tenere la spazzatura fuori dalle caselle di posta elettronica.. Puoi anche trattare il filtro antispam come un amico che gestisce la tua vita senza problemi, visualizzando solo le e-mail sicure e desiderate.. Il filtro antispam viene effettivamente utilizzato come strumento anti-malware perché l'unico trucco degli hacker è condividere gli allegati nella posta e richiedere le credenziali.. Un altro aspetto che non viene trascurato è l'eliminazione di Graymail. Graymail è un'e-mail che un utente ha precedentemente scelto di ricevere, ma di cui non hai davvero bisogno o di cui hai bisogno nella tua casella di posta. Graymail non è considerato spam, poiché queste e-mail di solito non si infiltrano in un'azienda. ciò che è considerato posta grigia è deciso dalle azioni dell'utente nel tempo, e le piattaforme di filtraggio dello spam lo divoreranno per scoprire cosa è o non è voluto in una casella di posta.

Fino ad ora, quello che hai imparato è il rilevamento dello spam, cosa e perché. Sono abbastanza sicuro che sia stato molto chiaro per lui. Ora, questa volta è per l'implementazione. Qui, in questa parte, formiamo modelli di machine learning per rilevare lo spam nella tua email con l'aiuto del linguaggio Python. Inizierò questa attività importando le librerie Python richieste e, perché, il set di dati che desideri per questa attività è spam.csv

passo 1: -Importa dipendenti

importa numpy come np
importa panda come pd
importa matplotlib.pyplot come plt
import seaborn come sns
import nltk
da nltk.corpus importa parole non significative
da nltk.stem.porter import PorterStemmer
nltk.download('stopword')
importare re
importare sklearn
da sklearn.naive_bayes import MultinomialNB
da sklearn.metrics import precision_score

passo 2: -Ottieni il set di dati SMS

sms = pd.read_csv("Raccolta SMS spam", settembre = 't', nomi=['etichetta','Messaggio'])
sms.testa()
sms.drop_duplicates(inplace=Vero)
sms.reset_index(drop=Vero, inplace=Vero)
plt.figure(figsize=(8,5))
sns.countplot(x='etichetta', dati=sms)
plt.xlabel('Classificazione SMS')
plt.ylabel('Contare')
plt.mostra()

passo 3: -Pulizia dei messaggi

corpo = []
ps = PorterStemmer()
per io nel raggio d'azione(0,sms.forma[0]):
    messaggio = re.sub(modello='[^ a-zA-Z]', repl=" ", stringa=sms.messaggio[io])
#Pulizia del carattere speciale dal messaggio

    messaggio = messaggio.inferiore() #Conversione dell'intero messaggio in minuscolo
    parole = messaggio.split() # Tokenizzare la recensione con le parole
    parole = [parola per parola in parole se la parola non è in set(stopwords.parole('inglese'))] 

#Rimozione delle parole di stop

    parole = [ps.stem(parola) per parola in parole] #Dimenticare le parole
    messaggio=" ".aderire(parole) #Unendo le parole derivate
    corpus.append(Messaggio) #Costruire un corpus di messaggi

passo 4: -Creazione del modello Bag of Words

da sklearn.feature_extraction.text import CountVectorizer
cv = ContaVectorizer(max_features=2500)
X = cv.fit_transform(corpus).toarray()

passo 5: -Estrai variabile dipendente dal set di dati

y = pd.get_dummies(sms['etichetta'])
y = y.iloc[:, 1].valori

passo 6: -train_test_split

da sklearn.model_selection import train_test_split
X_treno, X_test, y_train, y_test = train_test_split(X, e, test_size=0.20, stato_casuale=0)

passo 7: -Controllo dell'ingenuo classificatore di Bayes alpha

best_accuracy = 0.0
valore_alpha = 0.0
per io in np.arange(0.0,1.1,0.1):
    temp_classifier = MultinomialNB(alfa=i)
    temp_classifier.fit(X_treno, y_train)
    temp_y_pred = temp_classifier.predict(X_test)
    punteggio = precision_score(y_test, temp_y_pred)
    Stampa("Punteggio di precisione per alfa={} è: {}%".formato(il giro(io,1), il giro(punteggio*100,2)))
    se punteggio>best_accuracy:
        best_accuracy = punteggio
        alfa_val = i
Stampa('----------------')
Stampa('La migliore precisione è {}% con valore alfa come {}'.formato(il giro(best_accuracy*100, 2), il giro(alfa_val,1)))

passo 8: -Predizione

def predire_spam(sample_message):
    sample_message = re.sub(modello='[^ a-zA-Z]',repl=" ", stringa = messaggio_campione)
    sample_message = sample_message.lower()
    sample_message_words = sample_message.split()
    sample_message_words = [parola per parola in sample_message_words if not word in set(stopwords.parole('inglese'))]
    ps = PorterStemmer()
    messaggio_finale = [ps.stem(parola) per parola in sample_message_words]
    final_message=" ".aderire(messaggio_finale)
    temp = cv.trasformare([messaggio_finale]).toarray()
    classificatore di ritorno.predict(temperatura)
risultato = ['Apetta un minuto, questo è SPAM!','Ohhh, questo è un messaggio normale.']
messaggio = "Ciao! Sei prequalificato per la carta di credito SBI Premium. Ricevi anche una carta regalo Amazon del valore di Rs.500*, 10X punti premio* & Di più. Clic "
se forecast_spam(msg):
    Stampa(risultato[0])
altro:
    Stampa(risultato[1])

PRODUZIONE

Apetta un minuto, Questo è SPAM!

messaggio = "[Aggiornare] Congratulazioni Shivani, Il tuo account è attivato per l'investimento in Azioni. Clicca per investire ora: "
se forecast_spam(msg):
    Stampa(risultato[0])
altro:
    Stampa(risultato[1])

PRODUZIONE

Apetta un minuto, Questo è SPAM!

messaggio = "Il tuo agente di cambio FALANA BROKING LIMITED ha riportato il saldo del tuo fondo Rs.1500.5 & saldo titoli 0.0 da fine MAGGIO-20. I saldi non coprono la tua banca, DP & Saldo PMS con l'entità di intermediazione. Controlla i dettagli su [e-mail protetta] Se l'ID e-mail non è corretto, gentilmente aggiorna con il tuo broker."
se forecast_spam(msg):
    Stampa(risultato[0])
altro:
    Stampa(risultato[1])

PRODUZIONE

Ohhh, questo è un me normale

Riepilogo

Perciò, spesso, questo è il modo in cui allenerai un machine learning o soprattutto un modello di deep learning in modo che possano rilevare se un'email o un messaggio è spam o meno. Un rilevatore di spam rileva messaggi o e-mail di spam comprendendo il contenuto del testo in modo da ricevere solo notifiche su messaggi o e-mail che sono vitali per te. Spero che questo post ti aiuti ad aumentare la tua portata verso il rilevamento dello spam. Nello scenario attuale, non possiamo permetterci di perdere la nostra sicurezza così facilmente. Avviamo una campagna insieme ad AnalyticsVidya per ridurre il cybercrime. Sii felice di porre le tue preziose domande nella sezione commenti qui sotto.. Per applicazioni di deep learning, Clicca qui.

Il supporto mostrato in questo post non è di proprietà di DataPeaker e viene utilizzato a discrezione dell'autore.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.