25 ธันวาคม 2559

Published ธันวาคม 25, 2559 by with 0 comment

ทำระบบกรองสแปมด้วย antispam ในภาษา Python

จากพระราชบัญญัติว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ฉบับใหม่ (โหลดไฟล์มาอ่านได้ที่ https://ictlawcenter.etda.or.th/de_laws/detail/de-laws-computer-related-crime-act) ได้มีการแก้ไขในส่วนที่เกี่ยวข้องกับสแปมดังนี้

ตามมาตรา ๔



ดังนั้น ผู้ที่ให้บริการผ่านทางอีเมล ควรทำการแก้ไขด้วยการเพิ่มระบบยกเลิกบริการทางอีเมลแนบไปพร้อมกับอีเมลที่ส่งมาทุกครั้ง

ส่วนมาตราอื่น ๆ ไม่ขอกล่าวถึงในบทความนี้

ในภาษา Python สามารถเขียนระบบกรองสแปมได้ด้วยการใช้ re หรือ ใช้บริการกรองสแปม แต่หากผู้อ่านต้องการสร้างระบบป้องกันสแปมด้วยการกรองด้วยตัวเอง

ขอแนะนำโมดูล AntiSpam เป็นโมดูลสำหรับสร้างระบบจำแนกสแปมแบบ Bayesian ในภาษาไพทอน รองรับทั้ง Python 2 และ Python 3 พร้อมกับใช้ MIT Licenses

ติดตั้งได้ด้วยคำสั่ง :
pip install antispam

การใช้งาน


สามารถใช้งานการกรองสแปมได้ดังนี้
import antispam

antispam.score("Cheap shoes for sale at DSW shoe store!")
# => 0.9657724517163143

antispam.is_spam("Cheap shoes for sale at DSW shoe store!")
# => True

antispam.score("Hi mark could you please send me a copy of your machine learning homework? thanks")
# => 0.0008064840568731558

antispam.is_spam("Hi mark could you please send me a copy of your machine learning homework? thanks")
# => False
แต่หากต้องการสร้าง model ขึ้นมาใหม่ ทำได้ดังนี้
import antispam

d = antispam.Detector("my_model.dat")

d.train("กินแล้วขาวภายใน 7 วัน", True)
d.train("รายงานเรื่องสมุดปกขาว", False)

msg1 = "กินแล้วขาวแน่"
d.score(msg1)
# => 0.9999947825633266

d.is_spam(msg1)
# => True

msg2 = "คุณมีไฟล์สำเนาสมุดปกขาวไหม"
d.score(msg2)
# => 4.021280114849398e-08

d.is_spam(msg2)
# => False

แล้วบันทึก model ได้ด้วยคำสั่ง
d.save()

โหลด model กรองสแปมภาษาไทยที่ทางบล็อกนี้ได้ทำขึ้นในรูปแบบรองรับภาษาไทย ได้ที่ https://1drv.ms/f/s!AtXLTW5z_VvhgZgGS7JVE_KeOFqNGw

หน้า GitHub : https://github.com/dinever/antispam
บล็อกนี้รักษาความเป็นส่วนตัวด้วยการเข้ารหัส HTTPS ทั้งรูปภาพและเนื้อหาทั้งหมด

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)