Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon

Email rác hay còn gọi là thư rác được gửi tới một số lượng lớn người dùng cùng một lúc và thường chứa nội dung lừa đảo, lừa đảo hoặc tin nhắn khó hiểu. Email spam đôi khi được gửi thủ công bởi con người, nhưng hầu hết chúng thường được gửi bằng bot. Ví dụ về email spam bao gồm quảng cáo giả mạo, email chuỗi và nỗ lực mạo danh. Có nguy cơ một email spam được ngụy trang đặc biệt có thể rơi vào hộp thư đến của bạn, điều này có thể gây nguy hiểm nếu nhấp vào. Điều quan trọng là phải thực hiện các biện pháp phòng ngừa bổ sung để bảo vệ thiết bị và thông tin nhạy cảm của bạn.

Khi công nghệ ngày càng cải tiến, việc phát hiện email rác trở thành một nhiệm vụ đầy thách thức do tính chất thay đổi của nó. Thư rác khá khác biệt so với các loại mối đe dọa bảo mật khác. Lúc đầu, nó có thể trông giống như một tin nhắn gây khó chịu chứ không phải là một tin nhắn mối đe dọa, nhưng nó có tác dụng ngay lập tức. Ngoài ra những kẻ gửi thư rác thường thích ứng với các kỹ thuật mới. Các tổ chức cung cấp dịch vụ email muốn giảm thiểu thư rác nhiều nhất có thể để tránh mọi thiệt hại cho khách hàng cuối của họ.

Trong bài đăng này, chúng tôi cho thấy việc xây dựng trình phát hiện thư rác email bằng cách sử dụng nó đơn giản như thế nào. Amazon SageMaker. Tích hợp sẵn Thuật toán BlazingText cung cấp triển khai tối ưu hóa Word2vec và thuật toán phân loại văn bản. Word2vec rất hữu ích cho các tác vụ xử lý ngôn ngữ tự nhiên (NLP) khác nhau, chẳng hạn như phân tích tình cảm, nhận dạng thực thể được đặt tên và dịch máy. Phân loại văn bản rất cần thiết cho các ứng dụng như tìm kiếm trên web, truy xuất thông tin, xếp hạng và phân loại tài liệu.

Tổng quan về giải pháp

Bài đăng này trình bày cách bạn có thể thiết lập trình phát hiện thư rác và lọc email thư rác bằng SageMaker. Hãy xem cách hoạt động của trình phát hiện thư rác, như thể hiện trong sơ đồ sau.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Email được gửi thông qua một trình phát hiện thư rác. Một email sẽ được gửi đến thư mục thư rác nếu trình phát hiện thư rác phát hiện đó là thư rác. Nếu không, nó sẽ được gửi đến hộp thư đến của khách hàng.

Chúng tôi sẽ hướng dẫn bạn các bước sau để thiết lập mô hình trình phát hiện thư rác của chúng tôi:

  1. Tải xuống tập dữ liệu mẫu từ repo GitHub.
  2. Tải dữ liệu trong một Xưởng sản xuất Amazon SageMaker sổ tay.
  3. Chuẩn bị dữ liệu cho mô hình.
  4. Đào tạo, triển khai và thử nghiệm mô hình.

Điều kiện tiên quyết

Trước khi đi sâu vào trường hợp sử dụng này, hãy hoàn thành các điều kiện tiên quyết sau:

  1. Thiết lập một Tài khoản AWS.
  2. Thiết lập một Miền SageMaker.
  3. tạo một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Để biết hướng dẫn, xem Tạo nhóm S3 đầu tiên của bạn.

Tải xuống tập dữ liệu

Tải xuống email_dataset.csv từ GitHubtải tệp lên nhóm S3.

Thuật toán BlazingText yêu cầu một tệp văn bản được xử lý trước duy nhất có các mã thông báo được phân tách bằng dấu cách. Mỗi dòng trong tệp phải chứa một câu duy nhất. Nếu bạn cần đào tạo trên nhiều tệp văn bản, hãy ghép chúng thành một tệp và tải tệp lên kênh tương ứng.

Tải dữ liệu trong SageMaker Studio

Để thực hiện tải dữ liệu, hãy hoàn thành các bước sau:

  1. Tải về spam_detector.ipynb tập tin từ GitHubtải tệp lên SageMaker Studio.
  2. Trong sổ ghi chép Studio của bạn, hãy mở spam_detector.ipynb sổ tay.
  3. Nếu bạn được nhắc chọn Kernel, hãy chọn kernel Python 3 (Data Science 3.0) và chọn Chọn. Nếu không, hãy xác minh rằng kernel bên phải đã được chọn tự động.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Nhập thư viện Python cần thiết và đặt vai trò cũng như nhóm S3. Chỉ định nhóm S3 và tiền tố nơi bạn đã tải email_dataset.csv lên.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Chạy bước tải dữ liệu vào sổ ghi chép.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Kiểm tra xem tập dữ liệu có cân bằng hay không dựa trên nhãn Danh mục.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Chúng ta có thể thấy tập dữ liệu của chúng ta được cân bằng.

Chuẩn bị dữ liệu

Thuật toán BlazingText mong đợi dữ liệu ở định dạng sau:

__label__<label> "<features>"

Dưới đây là một ví dụ:

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

kiểm tra Định dạng dữ liệu đào tạo và xác thực cho thuật toán BlazingText.

Bây giờ bạn chạy bước chuẩn bị dữ liệu trong sổ ghi chép.

  1. Đầu tiên, bạn cần chuyển cột Danh mục thành số nguyên. Ô sau thay thế giá trị SPAM bằng 1 và giá trị HAM bằng 0.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Ô tiếp theo thêm tiền tố __label__ cho từng giá trị Danh mục và mã hóa cột Thông báo.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Bước tiếp theo là chia tập dữ liệu thành tập dữ liệu huấn luyện và tập dữ liệu xác thực rồi tải tệp lên bộ chứa S3.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Đào tạo mô hình

Để đào tạo mô hình, hãy hoàn thành các bước sau trong sổ tay:

  1. Thiết lập công cụ ước tính BlazingText và tạo một phiên bản công cụ ước tính truyền hình ảnh vùng chứa.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Đặt siêu tham số của chế độ học tập thành được giám sát.

BlazingText có cả chế độ học tập không giám sát và giám sát. Trường hợp sử dụng của chúng tôi là phân loại văn bản, tức là học có giám sát.

  1. Tạo các kênh dữ liệu đào tạo và xác nhận.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Bắt đầu đào tạo mô hình.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

  1. Nhận độ chính xác của dữ liệu đào tạo và xác nhận.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Triển khai mô hình

Trong bước này, chúng tôi triển khai mô hình đã đào tạo làm điểm cuối. Chọn phiên bản ưa thích của bạn

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Kiểm tra mô hình

Hãy cung cấp một ví dụ về ba email mà chúng tôi muốn nhận dự đoán:

  • Nhấp vào liên kết bên dưới, cung cấp thông tin chi tiết của bạn và giành giải thưởng này
  • Ưu đãi mùa hè tốt nhất ở đây
  • Hẹn gặp bạn ở văn phòng vào thứ Sáu.

Mã hóa thông báo email và chỉ định tải trọng sẽ sử dụng khi gọi API REST.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Bây giờ chúng ta có thể dự đoán phân loại email cho từng email. Gọi phương thức dự đoán của trình phân loại văn bản, chuyển các phiên bản câu được mã hóa (tải trọng) vào đối số dữ liệu.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Làm sạch

Cuối cùng, bạn có thể xóa điểm cuối để tránh mọi chi phí không mong muốn.

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Ngoài ra, hãy xóa tệp dữ liệu từ nhóm S3.

Kết luận

Trong bài đăng này, chúng tôi đã hướng dẫn bạn các bước để tạo trình phát hiện thư rác bằng cách sử dụng Thuật toán SageMaker BlazingText. Với thuật toán BlazingText, bạn có thể mở rộng quy mô thành các tập dữ liệu lớn. BlazingText được sử dụng để phân tích văn bản và các vấn đề phân loại văn bản, đồng thời có cả chế độ học tập không giám sát và giám sát. Bạn có thể sử dụng thuật toán cho các trường hợp sử dụng như phân tích cảm tính của khách hàng và phân loại văn bản.

Để tìm hiểu thêm về thuật toán BlazingText, hãy xem Thuật toán BlazingText.


Lưu ý

Xây dựng trình phát hiện thư rác bằng Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Dhiraj Thakur là Kiến trúc sư Giải pháp với Dịch vụ Web của Amazon. Anh làm việc với các khách hàng và đối tác của AWS để cung cấp hướng dẫn về chiến lược, di chuyển và áp dụng đám mây dành cho doanh nghiệp. Anh ấy đam mê công nghệ và thích xây dựng và thử nghiệm trong không gian phân tích và AI / ML.

Dấu thời gian:

Thêm từ Học máy AWS