Spam-Erkennung: eine Deep-Learning-App

Inhalt

Dieser Beitrag wurde im Rahmen der Data Science Blogathon

Was jedes große Technologieunternehmen will, ist die Sicherheit seiner Kunden. Durch das Erkennen von Spam-Warnungen in E-Mails und Nachrichten, Sie wollen ihr Netzwerk schützen und das Vertrauen ihrer Kunden stärken. Apples offizielle Messaging-App und Googles offizielle Chat-App, Mit anderen Worten, Google Mail, sind Paradebeispiele für solche Anwendungen, bei denen das Spam-Erkennungs- und -Filterverfahren gut funktioniert, um Benutzer vor Spam-Warnungen zu schützen. Dann, wenn Sie ein Spam-Erkennungssystem erstellen möchten, Dieser Text ist für dich.

QuelleSpam-Erkennung

Was ist der sogenannte Spam?

Elektronische Nachrichten sind ein wichtiges Kommunikationsmittel zwischen vielen Menschen auf der ganzen Welt.. Aber verschiedene Personen und Unternehmen missbrauchen diese Funktion, um unerwünschte Massennachrichten zuzustellen, die allgemein als Spam-SMS bezeichnet werden.. Spam-SMS können Drogenwerbung enthalten, Software, Inhalt für Erwachsene, Versicherung oder andere betrügerische Werbung. Verschiedene Spam-Filter bieten typischerweise einen Schutzmechanismus, der ein System entwickelt, um Spam zu erkennen..

Spam-Erkennung

Nach Übermittlung Ihrer persönlichen Daten, wie Handynummer oder E-Mail-Adresse auf jeder Plattform, Sie fingen an, ihre ungewöhnlichen Produkte zu bewerben, indem sie ihn ständig anpingten. Sie versuchen zu werben, indem sie ständig E-Mails senden und mit Hilfe Ihrer Kontaktdaten senden sie Ihnen weiterhin Nachrichten und machen heute mehr WhatsApp. Deswegen, Das Ergebnis ist nichts anderes als eine Vielzahl von Spam-Benachrichtigungen und Benachrichtigungen, die in Ihrem Posteingang erscheinen. Häufig, Hier kommt die Aufgabe der Spam-Erkennung ins Spiel..

Spam-Erkennung bedeutet, Spam-Nachrichten oder E-Mails zu erkennen, indem der Inhalt des Textes verstanden wird, sodass Sie nur Benachrichtigungen über Ihre Nachrichten oder E-Mails erhalten, die für Sie wichtig sind. Wenn Spam-Nachrichten gefunden werden, werden automatisch in einen Spam-Ordner verschoben und Sie werden nie über solche Warnungen benachrichtigt. Dies trägt zur Verbesserung der Benutzererfahrung bei., da viele Spam-Benachrichtigungen viele Benutzer verärgern können.

Was ist Spamfilterung?

Können Sie sich vorstellen, wann Sie zum Ziel von Hackern werden?? Jawohl, wenn du an Spam denkst, du bist auf dem richtigen weg. Immer wenn Spam Ihren E-Mail- oder Nachrichteneingang erreicht, Sie sind in den Händen von Hackern und sie werden Sie ihr Ziel nennen. Wenn es um Technologie geht, Menschen sind in den meisten IT-Sicherheitssituationen das schwächste Glied. Angreifer werden ständig versuchen, dich auszutricksen, Manipulieren von Benutzern durch eine Reihe von Methoden, um auf Dinge zu klicken, die sie nicht sollten. Häufig, diese “Tricks” erfolgt per E-Mail, da E-Mail-Plattformen eine beträchtliche Anzahl von Personen ansprechen können und möglicherweise eine sehr “wirtschaftlich”. Nach dem Klicken auf das unangemessene verfügbare in Spam-E-Mails, Ihre wichtigen und persönlichen Daten Hackern preisgeben. Die Rolle der Spamfilterung entsteht, da E-Mails häufig verwendet werden, um Benutzer und ihre mächtigsten Daten zu nutzen.. Institutionen sollten einen Spam-Filter verwenden, um die Gefahr zu verringern, dass Benutzer auf etwas klicken, was sie nicht sollten, Schützen Sie Ihre internen Daten sukzessive vor einem Cyberangriff.

WEIL ES WICHTIG IST?

Die Implementierung der Spamfilterung ist ausschließlich für alle Institutionen relevant. Die Hauptaufgabe des Spam-Filters besteht darin, Junk-E-Mails aus E-Mail-Postfächern fernzuhalten.. Sie können die Spamfilterung auch wie einen Freund behandeln, der Ihr Leben nahtlos verwaltet, indem Sie nur sichere und gewünschte E-Mails anzeigen.. Spam-Filterung wird tatsächlich als Anti-Malware-Tool verwendet, da der einzige Trick von Hackern darin besteht, die Anhänge in der E-Mail zu teilen und Ihre Anmeldeinformationen anzufordern.. Ein weiterer nicht zu vernachlässigender Aspekt ist die Abschaffung von Graymail. Graymail ist eine E-Mail, die ein Benutzer zuvor ausgewählt hat, die du aber nicht wirklich brauchst oder in deinem Posteingang brauchst. Graymail gilt nicht als Spam, da diese E-Mails normalerweise kein Unternehmen infiltrieren. Was als graue Post angesehen wird, wird im Laufe der Zeit durch Benutzeraktionen entschieden, und Spam-Filterplattformen werden es verschlingen, um herauszufinden, was in einem Posteingang erwünscht ist oder nicht.

Bis jetzt, Was Sie gelernt haben, ist Spam-Erkennung, was und warum. Ich bin mir ziemlich sicher, dass es ihm sehr klar war. Jetzt, diese Zeit ist für die Umsetzung. Hier, in diesem Teil, Wir trainieren Machine-Learning-Modelle, um mit Hilfe der Sprache Python Spam in Ihren E-Mails zu erkennen. Ich beginne diese Aufgabe, indem ich die erforderlichen Python-Bibliotheken importiere und, deshalb, der gewünschte Datensatz für diese Aufgabe ist spam.csv

Paso 1: -Angehörige importieren

numpy als np importieren
Pandas als pd importieren
import matplotlib.pyplot als plt
Seegeboren als sns importieren
nltk importieren
aus nltk.corpus importieren Stoppwörter
von nltk.stem.porter importieren PorterStemmer
nltk.download('Stoppwörter')
Importieren
sklearn importieren
von sklearn.naive_bayes importieren MultinomialNB
von sklearn.metrics import precision_score

Paso 2: -Holen Sie sich den SMS-Datensatz

sms = pd.read_csv('Spam-SMS-Sammlung', sep = 't', Namen=['Etikett','Botschaft'])
sms.kopf()
sms.drop_duplicates(inplace=Wahr)
sms.reset_index(drop=wahr, inplace=Wahr)
plt.figur(Feigengröße=(8,5))
sns.countplot(x='Beschriftung', Daten=sms)
plt.xlabel('SMS-Klassifizierung')
plt.ylabel('Zählen')
plt.zeigen()

Paso 3: -Nachrichtenbereinigung

Korpus = []
ps = PorterStemmer()
für mich in Reichweite(0,sms.form[0]):
    Nachricht = re.sub(Muster='[^ a-zA-Z]', repl=" ", string=sms.nachricht[ich])
#Sonderzeichen aus der Nachricht entfernen

    Nachricht = Nachricht.lower() #Konvertieren der gesamten Nachricht in Kleinbuchstaben
    Wörter = Nachricht.split() # Die Bewertung mit Worten tokenisieren
    Wörter = [Wort für Wort in Wörtern, wenn Wort nicht in der Menge(Stoppwörter.Wörter('Englisch'))] 

#Entfernen der Stoppwörter

    Wörter = [ps.stem(Wort) für wort in worten] #Die Wörter eindämmen
    Nachricht=" ".beitreten(Wörter) #Zusammenfügen der Wortstämme
    korpus.anhängen(Botschaft) #Aufbau eines Korpus von Nachrichten

Paso 4: -Erstellen des Bag of Words-Modells

aus sklearn.feature_extraction.text import CountVectorizer
cv = CountVectorizer(max_features=2500)
X = cv.fit_transform(Korpus).toarray()

Paso 5: -Abhängige Variable aus Datensatz extrahieren

y = pd.get_dummies(SMS['Etikett'])
y = y.iloc[:, 1].Werte

Paso 6: -train_test_split

aus sklearn.model_selection import train_test_split
X_Zug, X_test, y_train, y_test = train_test_split(x, Ja, test_size=0.20, random_state=0)

Paso 7: -Überprüfung des naiven Bayes-Klassifikators alpha

best_accuracy = 0.0
alpha_val = 0.0
für i in np.arange(0.0,1.1,0.1):
    temp_classifier = MultinomialNB(alpha=i)
    temp_classifier.fit(X_Zug, y_train)
    temp_y_pred = temp_classifier.predict(X_test)
    Punktzahl = Genauigkeit_Punktzahl(y_test, temp_y_pred)
    drucken("Genauigkeitsbewertung für alpha={} ist: {}%".Format(runden(ich,1), runden(Punktzahl*100,2)))
    wenn punktzahl>beste_genauigkeit:
        best_accuracy = Punktzahl
        alpha_val = ich
drucken('--------------------------------------------------------')
drucken('Die beste Genauigkeit ist {}% mit Alpha-Wert als {}'.Format(runden(beste_genauigkeit*100, 2), runden(alpha_val,1)))

Paso 8: -Vorhersage

def predict_spam(Beispielnachricht):
    sample_message = re.sub(Muster='[^ a-zA-Z]',repl=" ", string = probe_message)
    sample_message = sample_message.lower()
    sample_message_words = sample_message.split()
    sample_message_words = [Wort für Wort in sample_message_words, wenn nicht Wort im Set(Stoppwörter.Wörter('Englisch'))]
    ps = PorterStemmer()
    final_message = [ps.stem(Wort) für Wort in sample_message_words]
    final_message=" ".beitreten(final_message)
    temp = cv.transform([final_message]).toarray()
    Klassifizierer.vorhersage zurückgeben(temp)
Ergebnis = ['Warte eine Minute, das ist ein SPAM!','Oh, das ist eine normale Nachricht.']
Nachricht = "Hi! Sie sind für die Premium SBI Kreditkarte vorqualifiziert. Erhalten Sie auch eine Amazon-Geschenkkarte im Wert von Rs.500*, 10X Prämienpunkt* & mehr. Klicken "
wenn vorhersagen_spam(Nachricht):
    drucken(Ergebnis[0])
anders:
    drucken(Ergebnis[1])

PRODUKTION

Warte eine Minute, Das ist Spam!

Nachricht = "[Aktualisieren] Herzlichen Glückwunsch Shivani, Ihr Konto ist für Investitionen in Aktien aktiviert. Klicken Sie hier, um jetzt zu investieren: "
wenn vorhersagen_spam(Nachricht):
    drucken(Ergebnis[0])
anders:
    drucken(Ergebnis[1])

PRODUKTION

Warte eine Minute, Das ist Spam!

Nachricht = "Ihr Börsenmakler FALANA BROKING LIMITED hat Ihr Fondsguthaben von Rs.1500.5 . gemeldet & Wertpapierbestand 0.0 ab Ende MAI-20. Guthaben decken Ihre Bank nicht, DP & PMS-Bilanz mit dem Makler. Überprüfen Sie die Details unter [E-Mail geschützt] Wenn die E-Mail-ID nicht korrekt ist, Bitte informieren Sie sich bei Ihrem Broker."
wenn vorhersagen_spam(Nachricht):
    drucken(Ergebnis[0])
anders:
    drucken(Ergebnis[1])

PRODUKTION

Oh, das ist ein normales ich

Zusammenfassung

Deswegen, häufig, So trainieren Sie ein Machine-Learning- oder insbesondere ein Deep-Learning-Modell, damit es erkennt, ob eine E-Mail oder eine Nachricht Spam ist oder nicht. Ein Spam-Detektor erkennt Spam-Nachrichten oder E-Mails, indem er den Inhalt des Textes versteht, sodass Sie nur Benachrichtigungen über Nachrichten oder E-Mails erhalten, die für Sie wichtig sind. Ich hoffe, dieser Beitrag hilft Ihnen, Ihre Reichweite zur Spam-Erkennung zu erhöhen. Im aktuellen Szenario, Wir können es uns nicht leisten, unsere Sicherheit so schnell zu verlieren. Starten wir gemeinsam mit AnalyticsVidya eine Kampagne zur Reduzierung der Cyberkriminalität. Stellen Sie gerne Ihre wertvollen Fragen im Kommentarbereich unten.. Für weitere Deep-Learning-Anwendungen, Klicke hier.

Die in diesem Beitrag gezeigten Medien sind nicht Eigentum von DataPeaker und werden nach Ermessen des Autors verwendet.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.