Zbuduj wykrywacz spamu e-mail za pomocą Amazon SageMaker | Usługi sieciowe Amazona

Zbuduj wykrywacz spamu e-mail za pomocą Amazon SageMaker | Usługi sieciowe Amazona

Wiadomości spamowe, zwane także wiadomościami-śmieciami, są wysyłane jednocześnie do dużej liczby użytkowników i często zawierają oszustwa, treści typu phishing lub tajemnicze wiadomości. Wiadomości spamowe są czasami wysyłane ręcznie przez człowieka, ale najczęściej są wysyłane za pomocą bota. Przykładami wiadomości spamowych są fałszywe reklamy, łańcuszki e-maili i próby podszywania się pod inne osoby. Istnieje ryzyko, że szczególnie dobrze zamaskowana wiadomość spamowa może wylądować w Twojej skrzynce odbiorczej, a kliknięcie może być niebezpieczne. Ważne jest, aby podjąć dodatkowe środki ostrożności w celu ochrony urządzenia i poufnych informacji.

W miarę ulepszania się technologii wykrywanie wiadomości e-mail zawierających spam staje się trudnym zadaniem ze względu na jego zmieniający się charakter. Spam różni się znacznie od innych rodzajów zagrożeń bezpieczeństwa. Na pierwszy rzut oka może się to wydawać irytującą wiadomością, a nie wiadomością groźba, ale ma natychmiastowy efekt. Również spamerzy często adaptują nowe techniki. Organizacje świadczące usługi poczty e-mail chcą w jak największym stopniu minimalizować spam, aby uniknąć szkód dla klientów końcowych.

W tym poście pokazujemy, jak proste jest zbudowanie detektora spamu e-mailowego Amazon Sage Maker. Wbudowany Algorytm BlazingText oferuje zoptymalizowane implementacje algorytmów klasyfikacji Word2vec i tekstu. Word2vec jest przydatny do różnych zadań związanych z przetwarzaniem języka naturalnego (NLP), takich jak analiza tonacji, rozpoznawanie nazwanych jednostek i tłumaczenie maszynowe. Klasyfikacja tekstu jest niezbędna w zastosowaniach takich jak wyszukiwanie w Internecie, wyszukiwanie informacji, rankingowanie i klasyfikacja dokumentów.

Omówienie rozwiązania

W tym poście pokazano, jak skonfigurować wykrywacz spamu e-mailowego i filtrować wiadomości spamowe za pomocą programu SageMaker. Zobaczmy, jak zazwyczaj działa wykrywacz spamu, jak pokazano na poniższym diagramie.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Wiadomości e-mail są wysyłane za pośrednictwem detektora spamu. Wiadomość e-mail zostanie wysłana do folderu ze spamem, jeśli wykrywacz spamu wykryje ją jako spam. W przeciwnym razie jest wysyłany na skrzynkę odbiorczą klienta.

Przeprowadzimy Cię przez następujące kroki, aby skonfigurować nasz model detektora spamu:

  1. Pobierz przykładowy zestaw danych z repozytorium GitHub.
  2. Załaduj dane do pliku Studio Amazon SageMaker notatnik.
  3. Przygotuj dane do modelu.
  4. Trenuj, wdrażaj i testuj model.

Wymagania wstępne

Zanim zagłębisz się w ten przypadek użycia, spełnij następujące wymagania wstępne:

  1. Skonfiguruj Konto AWS.
  2. Ustawić Domena SageMakera.
  3. Tworzenie Usługa Amazon Simple Storage Łyżka (Amazon S3). Aby uzyskać instrukcje, zobacz Utwórz swój pierwszy zasobnik S3.

Pobierz zbiór danych

Pobierz plik email_dataset.csv z GitHub i prześlij plik do segmentu S3.

Algorytm BlazingText oczekuje pojedynczego, wstępnie przetworzonego pliku tekstowego z tokenami oddzielonymi spacjami. Każda linia pliku powinna zawierać jedno zdanie. Jeśli chcesz trenować na wielu plikach tekstowych, połącz je w jeden plik i prześlij go na odpowiedni kanał.

Załaduj dane do SageMaker Studio

Aby wykonać ładowanie danych, wykonaj następujące czynności:

  1. Pobierz spam_detector.ipynb plik z GitHub i prześlij plik do SageMaker Studio.
  2. W notatniku Studio otwórz plik spam_detector.ipynb notatnik.
  3. Jeśli pojawi się monit o wybranie jądra, wybierz jądro Python 3 (Data Science 3.0) i wybierz Wybierz. Jeśli nie, sprawdź, czy automatycznie zostało wybrane właściwe jądro.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Zaimportuj wymaganą bibliotekę Pythona i ustaw role oraz segmenty S3. Określ segment S3 i prefiks, do którego przesłano plik email_dataset.csv.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Uruchom krok ładowania danych w notatniku.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Sprawdź, czy zestaw danych jest zrównoważony, czy nie, na podstawie etykiet kategorii.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Widzimy, że nasz zbiór danych jest zrównoważony.

Przygotuj dane

Algorytm BlazingText oczekuje danych w następującym formacie:

__label__<label> "<features>"

Oto przykład:

__label__0 “This is HAM"
__label__1 "This is SPAM"

Kontrola Format danych szkoleniowych i walidacyjnych dla algorytmu BlazingText.

Uruchom teraz w notatniku etap przygotowania danych.

  1. Najpierw musisz przekonwertować kolumnę Kategoria na liczbę całkowitą. Następująca komórka zastępuje wartość SPAM wartością 1 i wartością HAM wartością 0.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Następna komórka dodaje przedrostek __label__ do każdej wartości kategorii i tokenizuje kolumnę Wiadomość.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Następnym krokiem jest podzielenie zestawu danych na zestawy danych pociągowych i walidacyjnych oraz przesłanie plików do segmentu S3.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Trenuj model

Aby wytrenować model, wykonaj następujące kroki w notatniku:

  1. Skonfiguruj estymator BlazingText i utwórz instancję estymatora przekazującą obraz kontenera.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Ustaw hiperparametr trybu uczenia się na nadzorowany.

BlazingText ma zarówno tryby uczenia się bez nadzoru, jak i nadzorowanego. Naszym przypadkiem użycia jest klasyfikacja tekstu, czyli uczenie się nadzorowane.

  1. Utwórz kanały danych pociągowych i walidacyjnych.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Rozpocznij trenowanie modelu.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Uzyskaj dokładność zestawu danych pociągu i walidacji.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Wdróż model

W tym kroku wdrażamy przeszkolony model jako punkt końcowy. Wybierz preferowaną instancję

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Przetestuj model

Podajmy przykład trzech wiadomości e-mail, dla których chcemy uzyskać prognozy:

  • Kliknij poniższy link, podaj swoje dane i wygraj tę nagrodę
  • Najlepsza oferta letnia tutaj
  • Do zobaczenia w piątek w biurze.

Tokenizuj wiadomość e-mail i określ ładunek, który będzie używany podczas wywoływania interfejsu API REST.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Teraz możemy przewidzieć klasyfikację każdego e-maila. Wywołaj metodę przewidywania klasyfikatora tekstu, przekazując tokenizowane instancje zdań (ładunek) do argumentu danych.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Sprzątać

Na koniec możesz usunąć punkt końcowy, aby uniknąć nieoczekiwanych kosztów.

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Usuń także plik danych z segmentu S3.

Wnioski

W tym poście przeprowadziliśmy Cię przez kroki tworzenia detektora spamu e-mailowego za pomocą Algorytm SageMaker BlazingText. Dzięki algorytmowi BlazingText możesz skalować do dużych zbiorów danych. BlazingText jest używany do rozwiązywania problemów związanych z analizą i klasyfikacją tekstu oraz posiada zarówno tryb uczenia się bez nadzoru, jak i z nadzorem. Algorytmu można używać do przypadków użycia, takich jak analiza nastrojów klientów i klasyfikacja tekstu.

Aby dowiedzieć się więcej o algorytmie BlazingText, sprawdź Algorytm BlazingText.


O autorze

Zbuduj detektor spamu e-mailowego za pomocą Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Dhiraj Thakura jest architektem rozwiązań w Amazon Web Services. Współpracuje z klientami i partnerami AWS, aby zapewnić wskazówki dotyczące wdrażania chmury korporacyjnej, migracji i strategii. Pasjonuje się technologią, lubi budować i eksperymentować w przestrzeni analitycznej i AI / ML.

Znak czasu:

Więcej z Uczenie maszynowe AWS