สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | บริการเว็บอเมซอน

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | บริการเว็บอเมซอน

อีเมลสแปมหรือที่เรียกว่าเมลขยะจะถูกส่งไปยังผู้ใช้จำนวนมากในคราวเดียว และมักจะมีกลโกง เนื้อหาฟิชชิ่ง หรือข้อความที่เป็นความลับ บางครั้งอีเมลขยะจะถูกส่งด้วยตนเองโดยมนุษย์ แต่ส่วนใหญ่มักส่งโดยใช้บอท ตัวอย่างของอีเมลสแปม ได้แก่ โฆษณาปลอม อีเมลลูกโซ่ และการพยายามแอบอ้างบุคคลอื่น มีความเสี่ยงที่อีเมลขยะที่ปกปิดเป็นความลับอาจเข้ามาในกล่องจดหมายของคุณ ซึ่งอาจเป็นอันตรายได้หากคลิก สิ่งสำคัญคือต้องใช้ความระมัดระวังเป็นพิเศษเพื่อปกป้องอุปกรณ์และข้อมูลที่ละเอียดอ่อนของคุณ

ในขณะที่เทคโนโลยีมีการปรับปรุง การตรวจหาอีเมลขยะจึงกลายเป็นงานที่ท้าทายเนื่องจากลักษณะที่เปลี่ยนแปลงไป สแปมค่อนข้างแตกต่างจากภัยคุกคามความปลอดภัยประเภทอื่นๆ ในตอนแรกอาจดูเหมือนเป็นข้อความที่น่ารำคาญและไม่ใช่ การคุกคามแต่มีผลทันที ผู้ส่งอีเมลขยะมักจะปรับใช้เทคนิคใหม่ๆ องค์กรที่ให้บริการอีเมลต้องการลดสแปมให้เหลือน้อยที่สุดเพื่อหลีกเลี่ยงความเสียหายต่อลูกค้าปลายทาง

ในโพสต์นี้ เราจะแสดงให้เห็นว่าการสร้างเครื่องมือตรวจจับสแปมอีเมลโดยใช้นั้นตรงไปตรงมาเพียงใด อเมซอน SageMaker. ในตัว อัลกอริธึม BlazingText นำเสนอการใช้งาน Word2vec และอัลกอริธึมการจัดหมวดหมู่ข้อความที่ดีที่สุด Word2vec มีประโยชน์สำหรับงานการประมวลผลภาษาธรรมชาติ (NLP) ต่างๆ เช่น การวิเคราะห์ความรู้สึก การจดจำเอนทิตีที่มีชื่อ และการแปลด้วยเครื่อง การจัดประเภทข้อความเป็นสิ่งจำเป็นสำหรับแอปพลิเคชัน เช่น การค้นหาเว็บ การดึงข้อมูล การจัดอันดับ และการจัดประเภทเอกสาร

ภาพรวมโซลูชัน

โพสต์นี้สาธิตวิธีตั้งค่าตัวตรวจจับสแปมอีเมลและกรองอีเมลสแปมโดยใช้ SageMaker มาดูกันว่าโดยทั่วไปแล้วเครื่องตรวจจับสแปมทำงานอย่างไร ดังแสดงในแผนภาพต่อไปนี้

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

อีเมลถูกส่งผ่านเครื่องตรวจจับสแปม อีเมลจะถูกส่งไปยังโฟลเดอร์สแปมหากตัวตรวจจับสแปมตรวจพบว่าเป็นสแปม มิฉะนั้นจะถูกส่งไปยังกล่องจดหมายของลูกค้า

เราจะแนะนำคุณตลอดขั้นตอนต่อไปนี้เพื่อตั้งค่ารูปแบบเครื่องตรวจจับสแปมของเรา:

  1. ดาวน์โหลดชุดข้อมูลตัวอย่างจาก repo GitHub
  2. โหลดข้อมูลในรูปแบบ สตูดิโอ Amazon SageMaker สมุดบันทึก.
  3. เตรียมข้อมูลสำหรับโมเดล
  4. ฝึกอบรม ปรับใช้ และทดสอบโมเดล

เบื้องต้น

ก่อนที่จะเจาะลึกกรณีการใช้งานนี้ ให้ปฏิบัติตามข้อกำหนดเบื้องต้นต่อไปนี้:

  1. ตั้งค่าไฟล์ บัญชี AWS.
  2. ตั้งค่าไฟล์ โดเมน SageMaker.
  3. สร้าง บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (อเมซอน S3) ที่เก็บข้อมูล สำหรับคำแนะนำ โปรดดูที่ สร้างที่เก็บข้อมูล S3 แรกของคุณ.

ดาวน์โหลดชุดข้อมูล

ดาวน์โหลด email_dataset.csv จาก GitHub และ อัปโหลดไฟล์ไปยังบัคเก็ต S3.

อัลกอริธึม BlazingText คาดว่าจะมีไฟล์ข้อความที่ประมวลผลล่วงหน้าไฟล์เดียวพร้อมโทเค็นที่แยกช่องว่าง แต่ละบรรทัดในไฟล์ควรมีประโยคเดียว หากคุณต้องการฝึกใช้ไฟล์ข้อความหลายไฟล์ ให้ต่อกันเป็นไฟล์เดียวแล้วอัปโหลดไฟล์ในช่องที่เกี่ยวข้อง

โหลดข้อมูลใน SageMaker Studio

ในการโหลดข้อมูล ให้ทำตามขั้นตอนต่อไปนี้:

  1. ดาวน์โหลด spam_detector.ipynb ไฟล์จาก GitHub และ อัปโหลดไฟล์ใน SageMaker Studio.
  2. ในสมุดบันทึก Studio ของคุณ ให้เปิดไฟล์ spam_detector.ipynb สมุดบันทึก.
  3. หากคุณได้รับแจ้งให้เลือกเคอร์เนล ให้เลือกเคอร์เนล Python 3 (Data Science 3.0) แล้วเลือก เลือก. ถ้าไม่เช่นนั้น ให้ตรวจสอบว่าได้เลือกเคอร์เนลที่ถูกต้องโดยอัตโนมัติ

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

  1. นำเข้าไลบรารี Python ที่จำเป็น และตั้งค่าบทบาทและบัคเก็ต S3 ระบุบัคเก็ต S3 และคำนำหน้าที่คุณอัปโหลด email_dataset.csv

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

  1. รันขั้นตอนการโหลดข้อมูลในสมุดบันทึก

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

  1. ตรวจสอบว่าชุดข้อมูลมีความสมดุลหรือไม่ขึ้นอยู่กับป้ายกำกับหมวดหมู่

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

เราจะเห็นว่าชุดข้อมูลของเรามีความสมดุล

เตรียมข้อมูล

อัลกอริทึม BlazingText คาดว่าข้อมูลจะอยู่ในรูปแบบต่อไปนี้:

__label__<label> "<features>"

นี่คือตัวอย่าง:

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

ตรวจสอบ รูปแบบข้อมูลการฝึกอบรมและการตรวจสอบความถูกต้องสำหรับอัลกอริทึม BlazingText.

ตอนนี้คุณเรียกใช้ขั้นตอนการเตรียมข้อมูลในสมุดบันทึก

  1. ขั้นแรก คุณต้องแปลงคอลัมน์หมวดหมู่เป็นจำนวนเต็ม เซลล์ต่อไปนี้จะแทนที่ค่า SPAM ด้วย 1 และค่า HAM ด้วย 0

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

  1. เซลล์ถัดไปจะเพิ่มคำนำหน้า __label__ ให้กับแต่ละค่าหมวดหมู่และโทเค็นคอลัมน์ข้อความ

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

  1. ขั้นตอนต่อไปคือการแบ่งชุดข้อมูลออกเป็นชุดข้อมูลการฝึกและการตรวจสอบความถูกต้อง แล้วอัปโหลดไฟล์ไปยังบัคเก็ต S3

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

ฝึกโมเดล

หากต้องการฝึกแบบจำลอง ให้ทำตามขั้นตอนต่อไปนี้ในสมุดบันทึก:

  1. ตั้งค่าตัวประมาณค่า BlazingText และสร้างอินสแตนซ์ตัวประมาณค่าที่ส่งผ่านอิมเมจคอนเทนเนอร์

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

  1. ตั้งค่าไฮเปอร์พารามิเตอร์ของโหมดการเรียนรู้เป็นภายใต้การควบคุมดูแล

BlazingText มีทั้งโหมดการเรียนรู้แบบไม่มีผู้ดูแลและแบบมีผู้ดูแล กรณีการใช้งานของเราคือการจำแนกข้อความซึ่งเป็นการเรียนรู้แบบมีผู้สอน

  1. สร้างช่องทางข้อมูลรถไฟและการตรวจสอบ

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

  1. เริ่มฝึกโมเดล

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

  1. รับความถูกต้องของชุดข้อมูลรถไฟและการตรวจสอบความถูกต้อง

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

ปรับใช้โมเดล

ในขั้นตอนนี้ เราจะปรับใช้โมเดลที่ผ่านการฝึกอบรมเป็นจุดสิ้นสุด เลือกอินสแตนซ์ที่คุณต้องการ

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

ทดสอบโมเดล

มาดูตัวอย่างข้อความอีเมลสามข้อความที่เราต้องการรับการคาดการณ์:

  • คลิกที่ลิงค์ด้านล่าง ระบุรายละเอียดของคุณและรับรางวัลนี้
  • ข้อตกลงฤดูร้อนที่ดีที่สุดที่นี่
  • เจอกันที่ออฟฟิศวันศุกร์ครับ

โทเค็นข้อความอีเมลและระบุเพย์โหลดที่จะใช้เมื่อเรียกใช้ REST API

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

ตอนนี้เราสามารถคาดการณ์การจัดหมวดหมู่อีเมลสำหรับอีเมลแต่ละฉบับได้แล้ว เรียกวิธีการทำนายของตัวแยกประเภทข้อความโดยส่งอินสแตนซ์ประโยคโทเค็น (เพย์โหลด) ไปยังอาร์กิวเมนต์ข้อมูล

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

ทำความสะอาด

สุดท้าย คุณสามารถลบตำแหน่งข้อมูลได้เพื่อหลีกเลี่ยงค่าใช้จ่ายที่ไม่คาดคิด

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

นอกจากนี้ให้ลบ ไฟล์ข้อมูลจากบัคเก็ต S3.

สรุป

ในโพสต์นี้ เราได้แนะนำคุณตลอดขั้นตอนในการสร้างเครื่องมือตรวจจับสแปมอีเมลโดยใช้ อัลกอริทึม SageMaker BlazingText. ด้วยอัลกอริทึม BlazingText คุณสามารถปรับขนาดเป็นชุดข้อมูลขนาดใหญ่ได้ BlazingText ใช้สำหรับการวิเคราะห์ข้อความและปัญหาการจำแนกข้อความ และมีทั้งโหมดการเรียนรู้แบบไม่มีผู้ดูแลและแบบมีผู้ดูแล คุณสามารถใช้อัลกอริทึมสำหรับกรณีการใช้งาน เช่น การวิเคราะห์ความรู้สึกของลูกค้าและการจัดประเภทข้อความ

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับอัลกอริทึม BlazingText โปรดดู อัลกอริธึม BlazingText.


เกี่ยวกับผู้เขียน

สร้างตัวตรวจจับสแปมอีเมลโดยใช้ Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

ธีรัช ฐกูร เป็นสถาปนิกโซลูชันกับ Amazon Web Services เขาทำงานร่วมกับลูกค้าและคู่ค้าของ AWS เพื่อให้คำแนะนำเกี่ยวกับการนำระบบคลาวด์ไปใช้ การย้ายข้อมูล และกลยุทธ์ เขาหลงใหลในเทคโนโลยีและสนุกกับการสร้างและทดลองในด้านการวิเคราะห์และ AI/ML

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS

สร้าง แชร์ ปรับใช้: วิธีที่นักวิเคราะห์ธุรกิจและนักวิทยาศาสตร์ข้อมูลบรรลุเวลาสู่ตลาดได้เร็วขึ้นโดยใช้ ML แบบไม่มีโค้ดและ Amazon SageMaker Canvas

โหนดต้นทาง: 1210859
ประทับเวลา: Mar 10, 2022