RSS

วันศุกร์ที่ 21 มกราคม พ.ศ. 2554

คณิตศาสตร์กับการจัดกำจัดสแปม (Spam)

เรื่อง Numb3rs ใน Season 2 ตอนที่  1 หรือ Judgement Call เรื่องราวว่าด้วยการที่ผู้หญิงคนหนึ่งขับรถกลับบ้านแบบปรกติ ธรรมดา แต่มันต่างจากทุกๆวันคือ มีคนซ่อนอยู่ในโรงจอดรถของบ้านเธอ และเดินเข้ามาหาเธอตอนที่รถจอดอยู่ในโรงจอดรถพร้อมกับ อาวุธปืนแล้วกระหน่ำยิง ใส่รถทะลุกระจกรถเข้าไปหลายนัด จนกระทั้งเสียชีวิตคาเบาะรถ  ผู้หญิงคนนี้ไม่ได้มีศัตรูใดมา FBI จึงคิดว่าครั้งนี้น่าจะเป็นการฆ่าผิดตัว ความจริงน่าจะเป็นการฆ่าสามีของเธอที่เป็น ผู้พิพากษา FBI ก็เลยทำการดูประวัติผู้พิพากษา และก็ต้องพบกับข้อมูลคดีหลายร้อยคดีที่ผ่านมือผู้พิพากษาคนนี้ มีคนหลายคนอาจจะอยากฆ่าผู้พิพากษา สิ่งที่ชาร์ลีเข้ามาช่วยก็คือการแยกแยะ ข้อมูลดี เข้าแต่คดีที่น่าสนใจเข้ามาพิจารณา โดยการใช้ตัวกรองข้อมูล เทคนิคแบบเดียวที่ใช้กับการจัดการ spam e-mail





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

ตัวกรองตัวหนึ่งนั้นคือ Bayesian spam filtering รู้จักครั้งแรก ด้วยนักพัฒนาโปรแกรมนามว่า Rennie Jason ในปี 1996 โปรแกรมใช้หลักความน่าจะเป็นแบบ Bayes ในการจัดการ โดยพิจารณาจากคำแต่ละคำในข้อความนั้น เช่นถ้าเรากำลังพิจารณาคำว่า “Viagra” ใช้สมการคำนวณเป็น

 
Pr(S|W) คือความน่าจะเป็นที่ ข้อความนั้นจะเป็น spam โดยรู้จากคำว่า “Viagra”
Pr(S) คือความน่าจะเป็นที่จะให้ข้อความใดๆ เป็น Spam
Pr(W|S) คือความน่าจะเป็นที่ ข้อความว่า “Viagra” จะเป็น ข้อความสแปม
Pr(H) คือความน่าจะเป็น ที่ข้อความใดจะไม่เป็น Spam
 Pr(W|H) คือความน่าจะเป็น ที่คำว่า “Viagra” จะอยู่ในข้อความแฮม (Ham message) ข้อความที่ไม่ใช่สแปม


 Spamicity Spaminess
สิ่งที่คุณต้องการที่จะทำต่อไป คือการสร้างฐานข้อมูลกลุ่มตัวอย่างให้ มีสัดส่วนตรงจริง และอนุมานไปสู่ประชากรได้จริงไม่เอนเอียง เอาข้อความหรืออีเมลจำนวนหนึ่งมาแล้วตรงดูว่าอันใดเป็น spam บ้างและ spam ประกอบจากคำว่าอะไรบ้าง
ในปัจจุบันที่มีการสำรวจกัน ข้อความใดๆจะ เป็น Spam ซะประมาณ 80 % (ซึ่งเยอะมากกกกก )
ซึ่งก็คือ Pr(S) = 0.8   P(H)=0.2


เราจะทำการวิเคราะคำทุกๆคำของ ข้อความนั้นให้ได้ความน่าจะเป็น ของข้อความของแต่ละคำอยู่
เสร็จจากการคำนวณข้างบนเราก็ทำการหาความน่าจะเป็นรวม  โปรแกรม Bayesian spam filtering จะใช้การรวมตามสมการนี้


P คือ ความน่าจะเป็นรวมที่ข้อความนั้น จะเป็น spam
p1 คือ ความน่าจะเป็นที่ข้อความนั้นจะเป็นสแปม รู้จากคำที่ 1
p2 คือ ความน่าจะเป็นที่ข้อความนั้นจะเป็นสแปม รู้จากคำที่ 2
pn คือ ความน่าจะเป็นที่ข้อความนั้นจะเป็นสแปม รู้จากคำที่ n

คำนวณจากตรงนี้แล้วเราก็จะได้ความน่าจะเป็นที่ข้อความนั้นจะเป็น Spam เราก็เลือกตัดได้เลย
 เลือกลบข้อความที่มีความน่าจะเป็น ที่จะเป็น สแปมสูงๆ ทิ้งไป (ซัก 80 % หรือ 90 % ก็น่าจะพอ)
หลักการนี้เป็น หลักการที่ผู้ให้บริการ e-mail จะใช้ในการดักจับ Spam ให้กลายเป็น e-mail ขยะ ทำให้บางครั้งข้อความดีๆ ของเราเข้าข่าย ข้อความสแปม  สำหรับการหา e-mail บางครั้ง ก็ต้องไปลองหาใน e-mail ขยะ


สมการจากในเรื่อง Numb3rs คล้ายกับสมการที่เราใช้กำจัด spam



เรื่องราวอื่นๆ
-คณิตศาสตร์กับคดีฆาตกรรมต่อเนื่อง
-ความลับที่ถูกซ่อนในภาพ Steganography 
-Blackjack เกมพนันขั้นเทพ

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

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

Related Posts Plugin for WordPress, Blogger...

บทความที่ได้รับความนิยม