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.
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: -Extraer la variabileIn statistica e matematica, un "variabile" è un simbolo che rappresenta un valore che può cambiare o variare. Esistono diversi tipi di variabili, e qualitativo, che descrivono caratteristiche non numeriche, e quantitativo, che rappresentano quantità numeriche. Le variabili sono fondamentali negli esperimenti e negli studi, poiché consentono l'analisi delle relazioni e dei modelli tra elementi diversi, facilitare la comprensione di fenomeni complessi.... dependiente del conjunto de datos
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, así es como entrenará un aprendizaje automático o especialmente un modelo de apprendimento profondoApprendimento profondo, Una sottodisciplina dell'intelligenza artificiale, si affida a reti neurali artificiali per analizzare ed elaborare grandi volumi di dati. Questa tecnica consente alle macchine di apprendere modelli ed eseguire compiti complessi, come il riconoscimento vocale e la visione artificiale. La sua capacità di migliorare continuamente man mano che vengono forniti più dati lo rende uno strumento chiave in vari settori, dalla salute... para que puedan detectar si un email o un mensaje es spam o no. 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.