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.
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.