स्पैम के लिए एक योजना
Originalअगस्त 2002
(यह लेख स्पैम-फ़िल्टरिंग तकनीकों का वर्णन करता है जिसका उपयोग हमने Arc का अभ्यास करने के लिए बनाए गए स्पैमप्रूफ वेब-आधारित मेल रीडर में किया था। बेहतर बेयसियन फ़िल्टरिंग में एक बेहतर एल्गोरिथम का वर्णन किया गया है।)
मुझे लगता है कि स्पैम को रोकना संभव है, और सामग्री-आधारित फ़िल्टर ऐसा करने का तरीका हैं। स्पैमर्स की कमजोरी उनका संदेश है। वे आपके द्वारा स्थापित किसी भी अन्य बाधा को दरकिनार कर सकते हैं। वे अब तक, कम से कम, ऐसा कर चुके हैं। लेकिन उन्हें अपना संदेश देना होगा, चाहे वह कुछ भी हो। अगर हम ऐसा सॉफ़्टवेयर लिख सकते हैं जो उनके संदेशों को पहचानता है, तो उनके पास इससे बचने का कोई तरीका नहीं है।
प्राप्तकर्ता के लिए, स्पैम आसानी से पहचानने योग्य है। यदि आपने अपने मेल को पढ़ने और स्पैम को त्यागने के लिए किसी को काम पर रखा है, तो उन्हें ऐसा करने में कोई परेशानी नहीं होगी। इस प्रक्रिया को स्वचालित करने के लिए हमें एआई से कम क्या करना होगा?
मुझे लगता है कि हम काफी सरल एल्गोरिदम के साथ समस्या का समाधान कर पाएंगे। वास्तव में, मैंने पाया है कि आप वर्तमान स्पैम को केवल व्यक्तिगत शब्दों की स्पैम संभावनाओं के बेयसियन संयोजन का उपयोग करके स्वीकार्य रूप से अच्छी तरह से फ़िल्टर कर सकते हैं। थोड़ा ट्विक किए गए (जैसा कि नीचे वर्णित है) बेयसियन फ़िल्टर का उपयोग करके, हम अब 1000 में से 5 से कम स्पैम को याद करते हैं, 0 गलत सकारात्मक के साथ।
जब वे स्पैम फ़िल्टर लिखते हैं तो सांख्यिकीय दृष्टिकोण आमतौर पर लोगों द्वारा पहला प्रयास नहीं होता है। अधिकांश हैकर्स की पहली प्रवृत्ति ऐसा सॉफ़्टवेयर लिखने की कोशिश करना है जो स्पैम के व्यक्तिगत गुणों को पहचानता है। आप स्पैम को देखते हैं और आप सोचते हैं, इन लोगों का साहस कि वे मुझे "प्रिय मित्र" से शुरू होने वाला मेल भेजने की कोशिश कर रहे हैं या विषय पंक्ति जो पूरी तरह से अपरकेस में है और आठ विस्मयादिबोधक चिह्नों के साथ समाप्त होती है। मैं लगभग एक पंक्ति कोड के साथ उस सामान को फ़िल्टर कर सकता हूँ।
और इसलिए आप करते हैं, और शुरुआत में यह काम करता है। कुछ सरल नियम आपके आने वाले स्पैम का एक बड़ा हिस्सा ले लेंगे। केवल "क्लिक" शब्द की तलाश करने से मेरे स्पैम कॉर्पस में 79.7% ईमेल पकड़े जाएँगे, केवल 1.2% गलत सकारात्मक के साथ।
सांख्यिकीय दृष्टिकोण की कोशिश करने से पहले मैंने लगभग छह महीने ऐसा सॉफ़्टवेयर लिखने में बिताए जो व्यक्तिगत स्पैम सुविधाओं की तलाश करता था। मैंने पाया कि उन अंतिम कुछ प्रतिशत स्पैम को पहचानना बहुत कठिन हो गया, और जैसे-जैसे मैंने फ़िल्टर को सख्त किया, मुझे अधिक गलत सकारात्मक मिले।
गलत सकारात्मक निर्दोष ईमेल हैं जिन्हें गलती से स्पैम के रूप में पहचाना जाता है। अधिकांश उपयोगकर्ताओं के लिए, वैध ईमेल को याद करना स्पैम प्राप्त करने से दस गुना बुरा है, इसलिए एक फ़िल्टर जो गलत सकारात्मक देता है वह मुँहासे के इलाज जैसा है जिसमें रोगी की मृत्यु का खतरा होता है।
किसी उपयोगकर्ता को जितना अधिक स्पैम मिलता है, उसके स्पैम फ़ोल्डर में एक निर्दोष मेल को देखने की संभावना उतनी ही कम होती है। और अजीब तरह से, आपके स्पैम फ़िल्टर जितने बेहतर होते हैं, गलत सकारात्मक उतने ही खतरनाक हो जाते हैं, क्योंकि जब फ़िल्टर वास्तव में अच्छे होते हैं, तो उपयोगकर्ता उन सभी चीजों को अनदेखा करने की अधिक संभावना रखते हैं जिन्हें वे पकड़ते हैं।
मुझे नहीं पता कि मैंने इतने लंबे समय तक सांख्यिकीय दृष्टिकोण की कोशिश करने से क्यों परहेज किया। मुझे लगता है कि ऐसा इसलिए था क्योंकि मैं खुद स्पैम सुविधाओं की पहचान करने की कोशिश करने के आदी हो गया था, जैसे कि मैं स्पैमर्स के साथ किसी तरह का प्रतिस्पर्धी खेल खेल रहा था। (नॉनहैकर्स को अक्सर यह एहसास नहीं होता है, लेकिन अधिकांश हैकर्स बहुत प्रतिस्पर्धी होते हैं।) जब मैंने सांख्यिकीय विश्लेषण की कोशिश की, तो मैंने तुरंत पाया कि यह मेरे द्वारा किए गए से कहीं अधिक चालाक था। इसने पाया, निश्चित रूप से, कि "virtumundo" और "teens" जैसे शब्द स्पैम के अच्छे संकेतक थे। लेकिन इसने यह भी पाया कि "प्रति" और "FL" और "ff0000" स्पैम के अच्छे संकेतक हैं। वास्तव में, "ff0000" (चमकीले लाल रंग के लिए html) स्पैम का उतना ही अच्छा संकेतक है जितना कोई भी अश्लील शब्द।
यहाँ बताया गया है कि मैं सांख्यिकीय फ़िल्टरिंग कैसे करता हूँ। मैं स्पैम के एक कॉर्पस और नॉनस्पैम मेल के एक कॉर्पस से शुरू करता हूँ। फिलहाल प्रत्येक में लगभग 4000 संदेश हैं। मैं प्रत्येक कॉर्पस में प्रत्येक संदेश के पूरे पाठ को स्कैन करता हूँ, जिसमें हेडर और एम्बेडेड html और जावास्क्रिप्ट शामिल हैं। मैं वर्तमान में अल्फ़ान्यूमेरिक वर्णों, डैश, एपोस्ट्रोफ़ी और डॉलर चिह्नों को टोकन का हिस्सा मानता हूँ, और बाकी सब कुछ टोकन विभाजक होता है। (यहाँ सुधार की गुंजाइश है।) मैं उन टोकन को अनदेखा करता हूँ जो सभी अंक हैं, और मैं html टिप्पणियों को भी अनदेखा करता हूँ, उन्हें टोकन विभाजक के रूप में भी नहीं मानता।
मैं प्रत्येक कॉर्पस में प्रत्येक टोकन (मामले की उपेक्षा करते हुए, वर्तमान में) होने की संख्या की गणना करता हूँ। इस स्तर पर मैं दो बड़े हैश टेबल के साथ समाप्त होता हूँ, प्रत्येक कॉर्पस के लिए एक, टोकन को घटनाओं की संख्या में मैप करता है।
इसके बाद मैं एक तीसरा हैश टेबल बनाता हूँ, इस बार प्रत्येक टोकन को उस संभावना से मैप करता हूँ कि उसे शामिल करने वाला ईमेल स्पैम है, जिसकी गणना मैं इस प्रकार करता हूँ [1]:
(let ((g (* 2 (or (gethash word good) 0))) (b (or (gethash word bad) 0))) (unless (< (+ g b) 5) (max .01 (min .99 (float (/ (min 1 (/ b nbad)) (+
(min 1 (/ g ngood)) (min 1 (/ b nbad)))))))))
जहाँ word वह टोकन है जिसकी हम संभावना की गणना कर रहे हैं, good और bad मेरे द्वारा पहले चरण में बनाए गए हैश टेबल हैं, और ngood और nbad क्रमशः नॉनस्पैम और स्पैम संदेशों की संख्या हैं।
मैंने इसे कोड के रूप में समझाया ताकि कुछ महत्वपूर्ण विवरण दिखाए जा सकें। मैं संभावनाओं को गलत सकारात्मक से बचने के लिए थोड़ा पक्षपाती बनाना चाहता हूँ, और परीक्षण और त्रुटि से मैंने पाया है कि ऐसा करने का एक अच्छा तरीका good में सभी संख्याओं को दोगुना करना है। यह उन शब्दों के बीच अंतर करने में मदद करता है जो कभी-कभी वैध ईमेल में होते हैं और जो लगभग कभी नहीं होते हैं। मैं केवल उन शब्दों पर विचार करता हूँ जो कुल मिलाकर पाँच बार से अधिक होते हैं (वास्तव में, दोगुना होने के कारण, नॉनस्पैम मेल में तीन बार होना पर्याप्त होगा)। और फिर एक कॉर्पस में होने वाले लेकिन दूसरे में नहीं होने वाले शब्दों को क्या संभावना सौंपनी है, यह सवाल है। फिर से परीक्षण और त्रुटि से मैंने .01 और .99 चुना। यहाँ ट्यूनिंग के लिए जगह हो सकती है, लेकिन जैसे-जैसे कॉर्पस बढ़ता है, ऐसी ट्यूनिंग वैसे भी स्वचालित रूप से हो जाएगी।
विशेष रूप से चौकस लोग यह देखेंगे कि जबकि मैं घटनाओं की गणना के उद्देश्य से प्रत्येक कॉर्पस को पाठ की एक लंबी धारा मानता हूँ, मैं स्पैम संभावनाओं की गणना में भाजक के रूप में प्रत्येक में ईमेल की संख्या का उपयोग करता हूँ, बजाय उनकी संयुक्त लंबाई के। यह गलत सकारात्मक से बचाने के लिए एक और मामूली पूर्वाग्रह जोड़ता है।
जब नया मेल आता है, तो उसे टोकन में स्कैन किया जाता है, और सबसे दिलचस्प पंद्रह टोकन, जहाँ दिलचस्प को मापा जाता है कि उनकी स्पैम संभावना तटस्थ .5 से कितनी दूर है, का उपयोग यह गणना करने के लिए किया जाता है कि मेल स्पैम होने की संभावना कितनी है। अगर probs पंद्रह व्यक्तिगत संभावनाओं की एक सूची है, तो आप गणना करते हैं संयुक्त संभावना इस प्रकार:
(let ((prod (apply #'* probs))) (/ prod (+ prod (apply #'* (mapcar #'(lambda (x) (- 1 x)) probs)))))
व्यवहार में एक प्रश्न उठता है कि एक ऐसे शब्द को क्या संभावना सौंपनी है जिसे आपने कभी नहीं देखा है, अर्थात एक जो शब्द संभावनाओं के हैश टेबल में नहीं होता है। मैंने पाया, फिर से परीक्षण और त्रुटि से, कि .4 उपयोग करने के लिए एक अच्छी संख्या है। यदि आपने पहले कभी कोई शब्द नहीं देखा है, तो यह शायद काफी निर्दोष है; स्पैम शब्द बहुत परिचित होते हैं।
इस एल्गोरिथम को वास्तविक ईमेल पर लागू करने के उदाहरण अंत में एक परिशिष्ट में दिए गए हैं।
मैं मेल को स्पैम के रूप में मानता हूँ यदि उपरोक्त एल्गोरिथम उसे स्पैम होने की .9 से अधिक संभावना देता है। लेकिन व्यवहार में इससे कोई फर्क नहीं पड़ेगा कि मैं इस सीमा को कहाँ रखता हूँ, क्योंकि कुछ संभावनाएँ सीमा के बीच में समाप्त होती हैं।
सांख्यिकीय दृष्टिकोण का एक बड़ा लाभ यह है कि आपको इतने सारे स्पैम नहीं पढ़ने पड़ते हैं। पिछले छह महीनों में, मैंने सचमुच हजारों स्पैम पढ़े हैं, और यह वास्तव में थोड़ा निराशाजनक है। नॉर्बर्ट वीनर ने कहा कि यदि आप दासों के साथ प्रतिस्पर्धा करते हैं तो आप दास बन जाते हैं, और स्पैमर्स के साथ प्रतिस्पर्धा करने में कुछ इसी तरह का अपमानजनक है। व्यक्तिगत स्पैम सुविधाओं को पहचानने के लिए आपको स्पैमर के दिमाग में जाने की कोशिश करनी होती है, और सच में मैं स्पैमर्स के दिमाग के अंदर जितना कम समय बिताना चाहता हूँ, उतना ही अच्छा है।
लेकिन बेयसियन दृष्टिकोण का असली लाभ, निश्चित रूप से, यह है कि आप जानते हैं कि आप क्या माप रहे हैं। स्पैमएसेसिन जैसे फ़ीचर-पहचानने वाले फ़िल्टर ईमेल को स्पैम "स्कोर" असाइन करते हैं। बेयसियन दृष्टिकोण एक वास्तविक संभावना असाइन करता है। "स्कोर" के साथ समस्या यह है कि कोई नहीं जानता कि इसका क्या मतलब है। उपयोगकर्ता नहीं जानता कि इसका क्या मतलब है, लेकिन इससे भी बुरा, फ़िल्टर के डेवलपर को भी नहीं पता। "सेक्स" शब्द होने के लिए किसी ईमेल को कितने अंक मिलने चाहिए? एक संभावना निश्चित रूप से गलत हो सकती है, लेकिन इसके अर्थ के बारे में बहुत कम अस्पष्टता है, या इसकी गणना करने के लिए साक्ष्य को कैसे जोड़ा जाना चाहिए। मेरे कॉर्पस के आधार पर, "सेक्स" से संबंधित ईमेल स्पैम होने की .97 संभावना दर्शाता है, जबकि "सेक्सी" .99 संभावना दर्शाता है। और बेयस का नियम, समान रूप से स्पष्ट, कहता है कि दोनों शब्दों वाले ईमेल में, किसी अन्य सबूत की अनुपस्थिति में (असंभावित), स्पैम होने की 99.97% संभावना होगी।
क्योंकि यह संभावनाओं को माप रहा है, बेयसियन दृष्टिकोण ईमेल में सभी सबूतों पर विचार करता है, अच्छे और बुरे दोनों। स्पैम में असमान रूप से शायद ही कभी होने वाले शब्द (जैसे "हालांकि" या "आज रात" या "जाहिर तौर पर") संभावना को कम करने में उतना ही योगदान करते हैं जितना "सदस्यता समाप्त करें" और "ऑप्ट-इन" जैसे बुरे शब्द इसे बढ़ाने में करते हैं। इसलिए एक अन्यथा निर्दोष ईमेल जिसमें "सेक्स" शब्द होता है, उसे स्पैम के रूप में टैग नहीं किया जाएगा।
आदर्श रूप से, निश्चित रूप से, प्रत्येक उपयोगकर्ता के लिए संभावनाओं की गणना व्यक्तिगत रूप से की जानी चाहिए। मुझे "लिसप" शब्द वाला बहुत सारा ईमेल मिलता है, और (अब तक) कोई स्पैम नहीं है। इसलिए "लिसप" जैसा शब्द मेरे पास मेल भेजने के लिए एक तरह का पासवर्ड है। मेरे पहले स्पैम-फ़िल्टरिंग सॉफ़्टवेयर में, उपयोगकर्ता ऐसे शब्दों की एक सूची सेट कर सकता था और उन शब्दों वाले मेल को स्वचालित रूप से फ़िल्टर से गुजरना होगा। अपनी सूची में मैंने "लिसप" जैसे शब्द और अपना ज़िप कोड भी रखा, ताकि (अन्यथा स्पैम-साउंडिंग) ऑनलाइन ऑर्डर से प्राप्तियाँ मिल सकें। मुझे लगा कि मैं बहुत चालाक हूँ, लेकिन मैंने पाया कि बेयसियन फ़िल्टर ने मेरे लिए वही काम किया, और इसके अलावा बहुत सारे शब्दों की खोज की जिनके बारे में मैंने सोचा भी नहीं था।
जब मैंने शुरुआत में कहा था कि हमारे फ़िल्टर 0 गलत सकारात्मक के साथ 1000 में से 5 से कम स्पैम को गुजरने देते हैं, तो मैं अपने मेल को मेरे मेल के कॉर्पस के आधार पर फ़िल्टर करने के बारे में बात कर रहा हूँ। लेकिन ये संख्याएँ भ्रामक नहीं हैं, क्योंकि यह वह दृष्टिकोण है जिसका मैं समर्थन कर रहा हूँ: प्रत्येक उपयोगकर्ता के मेल को उसके द्वारा प्राप्त स्पैम और नॉनस्पैम मेल के आधार पर फ़िल्टर करें। अनिवार्य रूप से, प्रत्येक उपयोगकर्ता के पास दो डिलीट बटन होने चाहिए, साधारण डिलीट और डिलीट-एज़-स्पैम। स्पैम के रूप में हटाया गया कुछ भी स्पैम कॉर्पस में जाता है, और बाकी सब कुछ नॉनस्पैम कॉर्पस में जाता है।
आप उपयोगकर्ताओं को एक सीड फ़िल्टर के साथ शुरू कर सकते हैं, लेकिन अंततः प्रत्येक उपयोगकर्ता के पास वास्तव में प्राप्त होने वाले मेल के आधार पर अपनी प्रति-शब्द संभावनाएँ होनी चाहिए। यह (ए) फ़िल्टर को अधिक प्रभावी बनाता है, (बी) प्रत्येक उपयोगकर्ता को स्पैम की अपनी सटीक परिभाषा तय करने देता है, और (सी) शायद सबसे अच्छा, स्पैमर्स के लिए फ़िल्टर से गुजरने के लिए मेल को ट्यून करना मुश्किल बनाता है। यदि फ़िल्टर का बहुत सारा दिमाग व्यक्तिगत डेटाबेस में है, तो केवल सीड फ़िल्टर से गुजरने के लिए स्पैम को ट्यून करने से व्यक्तिगत उपयोगकर्ताओं के अलग-अलग और अधिक प्रशिक्षित फ़िल्टर से कितनी अच्छी तरह से गुजरेंगे, इसके बारे में कुछ भी गारंटी नहीं होगी।
सामग्री-आधारित स्पैम फ़िल्टरिंग को अक्सर एक व्हाइटलिस्ट के साथ जोड़ा जाता है, जो प्रेषकों की एक सूची होती है जिनके मेल को बिना फ़िल्टरिंग के स्वीकार किया जा सकता है। ऐसी व्हाइटलिस्ट बनाने का एक आसान तरीका है कि उपयोगकर्ता ने कभी भी मेल भेजे हैं, हर उस पते की सूची रखें। यदि किसी मेल रीडर में डिलीट-एज़-स्पैम बटन है तो आप उस हर ईमेल के फ़्रॉम पते को भी जोड़ सकते हैं जिसे उपयोगकर्ता ने साधारण कचरे के रूप में हटा दिया है।
मैं व्हाइटलिस्ट का समर्थक हूँ, लेकिन फ़िल्टरिंग को बेहतर बनाने के तरीके के बजाय गणना को बचाने के तरीके के रूप में। मैं सोचता था कि व्हाइटलिस्ट फ़िल्टरिंग को आसान बना देंगे, क्योंकि आपको केवल उन लोगों से ईमेल फ़िल्टर करना होगा जिनसे आपने कभी नहीं सुना है, और कोई व्यक्ति जो आपको पहली बार मेल भेज रहा है, वह आपके लिए क्या कह सकता है, इस बारे में रूढ़िवादी द्वारा बाध्य है। कोई व्यक्ति जिसे आप पहले से जानते हैं, वह आपको सेक्स के बारे में बात करते हुए ईमेल भेज सकता है, लेकिन कोई व्यक्ति जो आपको पहली बार मेल भेज रहा है, वह ऐसा करने की संभावना नहीं होगी। समस्या यह है कि लोगों के एक से अधिक ईमेल पते हो सकते हैं, इसलिए एक नया फ़्रॉम-पता यह गारंटी नहीं देता है कि प्रेषक आपको पहली बार लिख रहा है। यह असामान्य नहीं है कि एक पुराना दोस्त (विशेषकर यदि वह एक हैकर है) अचानक आपको एक नए फ़्रॉम-पते के साथ ईमेल भेजता है, इसलिए आप अज्ञात पतों से मेल को विशेष रूप से सख्ती से फ़िल्टर करके गलत सकारात्मक जोखिम नहीं उठा सकते।
हालांकि, एक अर्थ में, मेरे फ़िल्टर खुद एक तरह की व्हाइटलिस्ट (और ब्लैकलिस्ट) का प्रतिनिधित्व करते हैं क्योंकि वे पूरे संदेशों पर आधारित होते हैं, जिसमें हेडर भी शामिल हैं। तो उस हद तक वे विश्वसनीय प्रेषकों के ईमेल पते और यहां तक कि उन मार्गों को भी "जानते हैं" जिनके द्वारा मेल उनसे मेरे पास आता है। और वे स्पैम के बारे में भी वही जानते हैं, जिसमें सर्वर नाम, मेलर संस्करण और प्रोटोकॉल शामिल हैं।
अगर मुझे लगता कि मैं स्पैम फ़िल्टरिंग की वर्तमान दरों को बनाए रख सकता हूँ, तो मैं इस समस्या को हल मानूँगा। लेकिन वर्तमान स्पैम को फ़िल्टर करने में सक्षम होना बहुत मायने नहीं रखता है, क्योंकि स्पैम विकसित होता है। वास्तव में, अधिकांश एंटीस्पैम तकनीकें अब तक कीटनाशकों की तरह रही हैं जो केवल कीड़ों की एक नई, प्रतिरोधी प्रजाति बनाते हैं।
मैं बेयसियन फ़िल्टर के बारे में अधिक आशावादी हूँ, क्योंकि वे स्पैम के साथ विकसित होते हैं। इसलिए जैसे ही स्पैमर्स व्यक्तिगत शब्दों पर आधारित सरल-दिमाग वाले स्पैम फ़िल्टर से बचने के लिए "c0ck" का उपयोग "cock" के बजाय करना शुरू करते हैं, बेयसियन फ़िल्टर स्वचालित रूप से नोटिस करते हैं। वास्तव में, "c0ck" "cock" से कहीं अधिक निंदनीय सबूत है, और बेयसियन फ़िल्टर ठीक-ठीक जानते हैं कि कितना अधिक।
फिर भी, कोई भी जो स्पैम फ़िल्टरिंग के लिए एक योजना प्रस्तावित करता है, उसे इस प्रश्न का उत्तर देने में सक्षम होना चाहिए: यदि स्पैमर ठीक-ठीक जानते थे कि आप क्या कर रहे हैं, तो वे आपसे कितनी अच्छी तरह से आगे निकल सकते हैं? उदाहरण के लिए, मुझे लगता है कि यदि चेकसम-आधारित स्पैम फ़िल्टरिंग एक गंभीर बाधा बन जाती है, तो स्पैमर संदेश निकायों को उत्पन्न करने के लिए बस पागल-लिब तकनीकों पर स्विच कर देंगे।
बेयसियन फ़िल्टर को हराने के लिए, स्पैमर के लिए अपने ईमेल को अद्वितीय बनाने या व्यक्तिगत शरारती शब्दों का उपयोग बंद करने के लिए पर्याप्त नहीं होगा। उन्हें अपने मेल को आपके सामान्य मेल से अप्रभेद्य बनाना होगा। और मुझे लगता है कि यह उन्हें गंभीर रूप से बाधित करेगा। स्पैम ज्यादातर बिक्री पिच हैं, इसलिए जब तक आपका नियमित मेल सभी बिक्री पिच नहीं है, तब तक स्पैम अनिवार्य रूप से एक अलग चरित्र होगा। और स्पैमर को भी, निश्चित रूप से, अपने पूरे बुनियादी ढांचे को बदलना होगा (और बदलते रहना होगा), क्योंकि अन्यथा हेडर बेयसियन फ़िल्टर के लिए उतने ही बुरे दिखेंगे जितने पहले थे, चाहे वे संदेश निकाय के साथ कुछ भी करें। मैं स्पैमर द्वारा उपयोग किए जाने वाले बुनियादी ढांचे के बारे में पर्याप्त नहीं जानता कि हेडर को निर्दोष दिखना कितना कठिन होगा, लेकिन मेरा अनुमान है कि संदेश को निर्दोष दिखाने से भी कठिन होगा।
यह मानते हुए कि वे हेडर की समस्या को हल कर सकते हैं, भविष्य का स्पैम शायद कुछ इस तरह दिखेगा:
Hey there. Thought you should check out the following: http://www.27meg.com/foo
क्योंकि यह लगभग उतना ही बिक्री पिच है जितना सामग्री-आधारित फ़िल्टरिंग स्पैमर को बनाने के लिए जगह देगा। (वास्तव में, इसे फ़िल्टर से भी गुजरना मुश्किल होगा, क्योंकि यदि ईमेल में बाकी सब कुछ तटस्थ है, तो स्पैम संभावना यूआरएल पर निर्भर करेगी, और इसे तटस्थ दिखने में कुछ प्रयास लगेगा।)
स्पैमर व्यवसायों से लेकर तथाकथित ऑप्ट-इन सूचियों को चलाते हैं जो अपनी पहचान छिपाने की कोशिश भी नहीं करते हैं, उन लोगों तक जो पोर्न साइटों को बढ़ावा देने के लिए मेल सर्वर को हाईजैक करते हैं। यदि हम फ़िल्टरिंग का उपयोग करके उनके विकल्पों को ऊपर दिए गए मेल जैसे मेल तक सीमित कर देते हैं, तो यह स्पैमर को "वैध" स्पेक्ट्रम के अंत से बाहर कर देना चाहिए; वे विभिन्न राज्य कानूनों द्वारा अपने स्पैम स्पैम क्यों नहीं है, और अपनी "सदस्यता" कैसे रद्द करें, के बारे में बायलरप्लेट शामिल करने के लिए बाध्य महसूस करते हैं, और उस तरह के पाठ को पहचानना आसान है।
(मैं पहले सोचता था कि यह विश्वास करना भोला था कि सख्त कानून स्पैम को कम कर देंगे। अब मुझे लगता है कि जबकि सख्त कानून स्पैमर द्वारा भेजे जाने वाले स्पैम की मात्रा को कम नहीं कर सकते हैं, *वे निश्चित रूप से फ़िल्टर को प्राप्तकर्ताओं द्वारा वास्तव में देखे जाने वाले स्पैम की मात्रा को कम करने में मदद कर सकते हैं।)
पूरे स्पेक्ट्रम में, यदि आप स्पैमर द्वारा बनाई जा सकने वाली बिक्री पिचों को प्रतिबंधित करते हैं, तो आप अनिवार्य रूप से उन्हें व्यवसाय से बाहर करने की प्रवृत्ति रखेंगे। वह शब्द व्यवसाय याद रखने के लिए एक महत्वपूर्ण शब्द है। स्पैमर व्यवसायी हैं। वे स्पैम भेजते हैं क्योंकि यह काम करता है। यह काम करता है क्योंकि हालाँकि प्रतिक्रिया दर घृणित रूप से कम है (सर्वोत्तम 15 प्रति मिलियन, कैटलॉग मेलिंग के लिए 3000 प्रति मिलियन के मुकाबले), उनके लिए लागत व्यावहारिक रूप से कुछ भी नहीं है। प्राप्तकर्ताओं के लिए लागत बहुत अधिक है, प्रत्येक मिलियन प्राप्तकर्ताओं के लिए लगभग 5 आदमी-सप्ताह जो स्पैम को हटाने के लिए एक सेकंड खर्च करते हैं, लेकिन स्पैमर को यह भुगतान नहीं करना पड़ता है।
हालांकि, स्पैम भेजने से स्पैमर को कुछ खर्च होता है। [2] इसलिए हम प्रतिक्रिया दर को जितना कम कर सकते हैं - चाहे फ़िल्टरिंग द्वारा, या फ़िल्टर का उपयोग करके स्पैमर को अपनी पिचों को पतला करने के लिए मजबूर किया जाए - कम व्यवसायों को स्पैम भेजने के लिए यह उनके लायक लगेगा।
स्पैमर जिस तरह की बिक्री पिच का उपयोग करते हैं, उसका कारण प्रतिक्रिया दर बढ़ाना है। यह संभवतः एक स्पैमर के दिमाग के अंदर जाने से भी अधिक घृणित है, लेकिन आइए किसी ऐसे व्यक्ति के दिमाग के अंदर एक त्वरित नज़र डालते हैं जो प्रतिक्रिया करता है एक स्पैम के लिए। यह व्यक्ति या तो आश्चर्यजनक रूप से विश्वासपात्र है या अपनी यौन रुचियों के बारे में गहराई से इनकार में है। किसी भी मामले में, घृणित या मूर्खतापूर्ण जैसा कि स्पैम हमें लगता है, यह उनके लिए रोमांचक है। स्पैमर ये बातें तब तक नहीं कहेंगे जब तक वे रोमांचक नहीं लगेंगी। और "सोचा कि आपको निम्नलिखित की जांच करनी चाहिए" स्पैमर द्वारा अब कही जाने वाली चीजों के रूप में स्पैम प्राप्तकर्ता के साथ लगभग खींच नहीं पाएगा। परिणाम: यदि इसमें रोमांचक बिक्री पिच नहीं हो सकती है, तो स्पैम एक मार्केटिंग वाहन के रूप में कम प्रभावी हो जाता है, और कम व्यवसाय इसका उपयोग करना चाहते हैं।
यह अंत में बड़ी जीत है। मैंने स्पैम फ़िल्टरिंग सॉफ़्टवेयर लिखना शुरू किया क्योंकि मैं अब उस सामान को नहीं देखना चाहता था। लेकिन अगर हम स्पैम को फ़िल्टर करने में काफी अच्छे हो जाते हैं, तो यह काम करना बंद कर देगा, और स्पैमर वास्तव में इसे भेजना बंद कर देंगे।
स्पैम से लड़ने के सभी दृष्टिकोणों में, सॉफ़्टवेयर से लेकर कानूनों तक, मेरा मानना है कि बेयसियन फ़िल्टरिंग सबसे प्रभावी होगी। लेकिन मुझे यह भी लगता है कि हम जितने अधिक विभिन्न प्रकार के एंटीस्पैम प्रयास करते हैं, उतना ही बेहतर होगा, क्योंकि स्पैमर को बाधित करने वाला कोई भी उपाय फ़िल्टरिंग को आसान बनाने की प्रवृत्ति रखेगा। और सामग्री-आधारित फ़िल्टरिंग की दुनिया के भीतर भी, मुझे लगता है कि यह एक अच्छी बात होगी यदि एक साथ कई अलग-अलग प्रकार के सॉफ़्टवेयर का उपयोग किया जा रहा हो। जितने अधिक अलग-अलग फ़िल्टर होंगे, स्पैमर के लिए स्पैम को उनके माध्यम से प्राप्त करने के लिए ट्यून करना उतना ही कठिन होगा।
परिशिष्ट: फ़िल्टरिंग के उदाहरण
यहाँ इस लेख को लिखते समय आया एक स्पैम का उदाहरण है। इस स्पैम में पंद्रह सबसे दिलचस्प शब्द हैं:
qvp0045 indira mx-05 intimail $7500 freeyankeedom cdo bluefoxmedia jpg unsecured platinum 3d0 qves 7c5 7c266675
शब्द हेडर और संदेश निकाय से सामान का मिश्रण हैं, जो स्पैम के लिए विशिष्ट है। स्पैम के लिए भी विशिष्ट है कि इनमें से प्रत्येक शब्द की मेरे डेटाबेस में स्पैम संभावना .99 है। वास्तव में .99 की संभावना वाले पंद्रह से अधिक शब्द हैं, और ये केवल पहले पंद्रह देखे गए हैं।
दुर्भाग्य से इससे यह ईमेल बेयस के नियम के उपयोग का एक उबाऊ उदाहरण बन जाता है। संभावनाओं की एक दिलचस्प विविधता देखने के लिए हमें देखना होगा यह वास्तव में काफी असामान्य स्पैम।
इस स्पैम में पंद्रह सबसे दिलचस्प शब्द, उनकी संभावनाओं के साथ, हैं:
madam 0.99 promotion 0.99 republic 0.99 shortest 0.047225013 mandatory 0.047225013 standardization 0.07347802 sorry 0.08221981 supported 0.09019077
people's 0.09019077 enter 0.9075001 quality 0.8921298 organization 0.12454646 investment 0.8568143 very 0.14758544 valuable 0.82347786
इस बार सबूत अच्छे और बुरे का मिश्रण है। "सबसे छोटा" जैसा शब्द "मैडम" या "प्रचार" जैसे शब्द के लिए निर्दोषता के लिए लगभग उतना ही सबूत है जितना कि अपराध के लिए है। लेकिन फिर भी अपराध का मामला मजबूत है। यदि आप इन संख्याओं को बेयस के नियम के अनुसार मिलाते हैं, तो परिणामी संभावना .9027 है।
"मैडम" स्पष्ट रूप से "प्रिय महोदय या महोदया" से शुरू होने वाले स्पैम से है। वे बहुत आम नहीं हैं, लेकिन "मैडम" शब्द कभी मेरे वैध ईमेल में नहीं होता है, और यह अनुपात के बारे में है।
"रिपब्लिक" उच्च स्कोर करता है क्योंकि यह अक्सर नाइजीरियाई घोटाले वाले ईमेल में दिखाई देता है, और कोरिया और दक्षिण अफ्रीका का जिक्र करने वाले स्पैम में भी एक या दो बार होता है। आप कह सकते हैं कि यह एक दुर्घटना है कि यह इस तरह से इस स्पैम की पहचान करने में मदद करता है। लेकिन मैंने स्पैम संभावनाओं की जांच करते समय पाया है कि इनमें से बहुत सारी दुर्घटनाएँ होती हैं, और उनके पास गलत दिशा के बजाय सही दिशा में चीजों को धकेलने की एक अजीबोगरीब प्रवृत्ति होती है। इस मामले में, यह पूरी तरह से संयोग नहीं है कि "रिपब्लिक" शब्द नाइजीरियाई घोटाले वाले ईमेल और इस स्पैम में होता है। कम विकसित देशों से जुड़े संदिग्ध व्यावसायिक प्रस्तावों का एक पूरा वर्ग है, और ये बदले में ऐसे नाम रखने की अधिक संभावना रखते हैं जो स्पष्ट रूप से निर्दिष्ट करते हैं (क्योंकि वे नहीं हैं) कि वे गणराज्य हैं।[3]
दूसरी ओर, "एंटर" एक वास्तविक मिस है। यह ज्यादातर सदस्यता समाप्त करने के निर्देशों में होता है, लेकिन यहां पूरी तरह से निर्दोष तरीके से उपयोग किया जाता है। सौभाग्य से सांख्यिकीय दृष्टिकोण काफी मजबूत है, और परिणामों को बंद करने से पहले काफी मिस को सहन कर सकता है।
तुलना के लिए, यहाँ उस दुर्लभ पक्षी का एक उदाहरण है, एक स्पैम जो फ़िल्टर से होकर गुजरता है। क्यों? क्योंकि शुद्ध संयोग से यह मेरे वास्तविक ईमेल में आने वाले शब्दों से भरा हुआ है:
perl 0.01 python 0.01 tcl 0.01 scripting 0.01 morris 0.01 graham 0.01491078 guarantee 0.9762507 cgi 0.9734398 paul 0.027040077 quite 0.030676773 pop3
0.042199217 various 0.06080265 prices 0.9359873 managed 0.06451222 difficult 0.071706355
यहां कुछ अच्छी खबरें हैं। सबसे पहले, यह मेल शायद किसी ऐसे व्यक्ति के फ़िल्टर से नहीं गुजरेगा जो प्रोग्रामिंग भाषाओं में विशेषज्ञता नहीं रखता है और जिसका मॉरिस नाम का एक अच्छा दोस्त है। औसत उपयोगकर्ता के लिए, यहां शीर्ष पाँच शब्द सभी तटस्थ होंगे और स्पैम संभावना में योगदान नहीं देंगे।
दूसरा, मुझे लगता है कि शब्द जोड़ियों के आधार पर फ़िल्टरिंग (नीचे देखें) इस पर अच्छी तरह से पकड़ बना सकती है: "लागत प्रभावी", "सेटअप शुल्क", "पैसे वापस" - बहुत दोषपूर्ण सामान। और निश्चित रूप से यदि वे मुझे (या किसी नेटवर्क का हिस्सा था) स्पैम करना जारी रखते हैं, तो "होस्टेक्स" स्वयं को एक स्पैम शब्द के रूप में पहचाना जाएगा।
अंत में, यहाँ एक निर्दोष ईमेल है। इसके पंद्रह सबसे दिलचस्प शब्द इस प्रकार हैं:
continuation 0.01 describe 0.01 continuations 0.01 example 0.033600237 programming 0.05214485 i'm 0.055427782 examples 0.07972858 color 0.9189189
localhost 0.09883721 hi 0.116539136 california 0.84421706 same 0.15981844 spot 0.1654587 us-ascii 0.16804294 what 0.19212411
यहां अधिकांश शब्द इंगित करते हैं कि मेल निर्दोष है। दो बुरे महक वाले शब्द हैं, "रंग" (स्पैमर रंगीन फोंट पसंद करते हैं) और "कैलिफ़ोर्निया" (जो प्रशंसापत्रों में और रूपों में मेनू में भी होता है), लेकिन वे "जारी रखने" और "उदाहरण" जैसे स्पष्ट रूप से निर्दोष शब्दों को कम करने के लिए पर्याप्त नहीं हैं।
यह दिलचस्प है कि "वर्णन" इतनी पूरी तरह से निर्दोष दरों पर। यह मेरे 4000 स्पैम में से एक में भी नहीं हुआ है। डेटा आश्चर्य से भरा हुआ है। स्पैम ग्रंथों का विश्लेषण करने पर आप जो चीजें सीखते हैं उनमें से एक यह है कि स्पैमर किस भाषा के कितने संकीर्ण उपसमूह में काम करते हैं। यह तथ्य, साथ ही किसी भी व्यक्तिगत उपयोगकर्ता के मेल की समान रूप से विशिष्ट शब्दावली, बेयसियन फ़िल्टरिंग को एक अच्छा दांव बनाता है।
परिशिष्ट: और विचार
एक विचार जिसे मैंने अभी तक नहीं आजमाया है, वह है शब्द जोड़ियों, या यहां तक कि ट्रिपल के आधार पर फ़िल्टर करना, बजाय व्यक्तिगत शब्दों के। इससे संभावना का बहुत तेज अनुमान मिलेगा। उदाहरण के लिए, मेरे वर्तमान डेटाबेस में, "ऑफ़र" शब्द की संभावना .96 है। यदि आप शब्द जोड़ियों पर संभावनाओं को आधारित करते हैं, तो आप "विशेष ऑफ़र" और "मूल्यवान ऑफ़र" को .99 की संभावना के साथ समाप्त करेंगे और, कहते हैं, "अभिगम ऑफ़र" (जैसे "यह दृष्टिकोण ऑफ़र करता है") .1 या उससे कम की संभावना के साथ।
मेरा ऐसा न करने का कारण यह है कि व्यक्तिगत शब्दों के आधार पर फ़िल्टरिंग पहले से ही बहुत अच्छी तरह से काम करती है। लेकिन इसका मतलब है कि यदि स्पैम का पता लगाना कठिन हो जाता है तो फ़िल्टर को कसने के लिए जगह है। (विचित्र रूप से, शब्द जोड़ियों पर आधारित फ़िल्टर प्रभावी रूप से उल्टे चलने वाले मार्कोव-चेनिंग टेक्स्ट जनरेटर होगा।)
विशिष्ट स्पैम सुविधाएँ (जैसे, प्राप्तकर्ता का पता to: फ़ील्ड में नहीं देखना) निश्चित रूप से स्पैम को पहचानने में मूल्य रखती हैं। उन्हें उन्हें आभासी शब्दों के रूप में मानकर इस एल्गोरिथम में माना जा सकता है। मैं शायद भविष्य के संस्करणों में ऐसा करूंगा, कम से कम सबसे घोर स्पैम संकेतकों में से कुछ के लिए। फ़ीचर-पहचानने वाले स्पैम फ़िल्टर कई विवरणों में सही हैं; उनके पास सबूतों को मिलाने के लिए एक समग्र अनुशासन का अभाव है।
नॉनस्पैम सुविधाओं को पहचानना स्पैम सुविधाओं को पहचानने से अधिक महत्वपूर्ण हो सकता है। झूठे पॉजिटिव इतनी चिंता का विषय हैं कि वे असाधारण उपायों की मांग करते हैं। मैं शायद भविष्य के संस्करणों में झूठे पॉजिटिव से बचने के लिए विशेष रूप से डिज़ाइन किए गए परीक्षण का दूसरा स्तर जोड़ूंगा। यदि कोई मेल फ़िल्टर के इस दूसरे स्तर को ट्रिगर करता है तो उसे स्वीकार कर लिया जाएगा, भले ही उसकी स्पैम संभावना सीमा से ऊपर हो।
मुझे उम्मीद नहीं है कि फ़िल्टरिंग का यह दूसरा स्तर बेयसियन होगा। यह अनिवार्य रूप से न केवल तदर्थ होगा, बल्कि अनुमानों पर आधारित होगा, क्योंकि झूठे पॉजिटिव की संख्या पैटर्न को नोटिस करने के लिए पर्याप्त बड़ी नहीं होगी। (यह वैसे भी अच्छी बात है, अगर बैकअप सिस्टम प्राथमिक सिस्टम के समान तकनीक पर निर्भर नहीं करता है।)
भविष्य में मैं एक और चीज करने की कोशिश कर सकता हूं, वह है ईमेल के विशिष्ट भागों पर अतिरिक्त ध्यान केंद्रित करना। उदाहरण के लिए, लगभग 95% वर्तमान स्पैम में उस साइट का यूआरएल शामिल होता है जिस पर वे चाहते हैं कि आप जाएँ। (शेष 5% चाहते हैं कि आप एक फ़ोन नंबर पर कॉल करें, ईमेल या यूएस मेल पते पर उत्तर दें, या कुछ मामलों में एक निश्चित स्टॉक खरीदें।) यूआरएल ऐसे मामलों में व्यावहारिक रूप से यह निर्धारित करने के लिए पर्याप्त है कि ईमेल स्पैम है या नहीं।
डोमेन नाम एक (गैर-जर्मन) ईमेल में बाकी पाठ से अलग होते हैं, क्योंकि वे अक्सर कई शब्दों को एक साथ जोड़कर बनाए जाते हैं। हालांकि सामान्य मामले में यह गणनात्मक रूप से महंगा है, लेकिन उन्हें विघटित करने का प्रयास करने लायक हो सकता है। यदि किसी फ़िल्टर ने पहले कभी "xxxporn" टोकन नहीं देखा है, तो इसकी व्यक्तिगत स्पैम संभावना .4 होगी, जबकि "xxx" और "porn" की व्यक्तिगत रूप से संभावनाएँ (मेरे कॉर्पस में) .9889 और .99 हैं, और संयुक्त संभावना .9998 है।
मुझे उम्मीद है कि डोमेन नामों को विघटित करना अधिक महत्वपूर्ण हो जाएगा क्योंकि स्पैमर धीरे-धीरे अपने संदेशों के पाठ में अपराधी शब्दों का उपयोग करना बंद करने के लिए मजबूर हो रहे हैं। (एक आईपी पते वाला यूआरएल निश्चित रूप से एक अत्यधिक अपराधी संकेत है, सिवाय कुछ सिस्टम प्रशासकों के मेल में।)
स्पैमर द्वारा प्रचारित यूआरएल की एक सहकारी रूप से बनाए रखी सूची होना एक अच्छा विचार हो सकता है। हमें रैफ लेविएन द्वारा अध्ययन किए गए प्रकार के ट्रस्ट मीट्रिक की आवश्यकता होगी ताकि दुर्भावनापूर्ण या अक्षम सबमिशन को रोका जा सके, लेकिन अगर हमारे पास ऐसा कुछ होता है तो यह किसी भी फ़िल्टरिंग सॉफ़्टवेयर को बढ़ावा देगा। यह बहिष्कार के लिए भी एक सुविधाजनक आधार होगा।
संदिग्ध यूआरएल का परीक्षण करने का एक और तरीका यह होगा कि उपयोगकर्ता द्वारा उसका उल्लेख करने वाले ईमेल को देखने से पहले साइट को देखने के लिए एक क्रॉलर भेजा जाए। आप एक बेयसियन फ़िल्टर का उपयोग साइट को उसी तरह रेट करने के लिए कर सकते हैं जैसे आप ईमेल करते हैं, और साइट पर जो कुछ भी पाया जाता है उसे ईमेल के स्पैम होने की संभावना की गणना में शामिल किया जा सकता है। एक यूआरएल जो रीडायरेक्ट की ओर ले जाता है, निश्चित रूप से विशेष रूप से संदिग्ध होगा।
एक सहकारी परियोजना जो मुझे लगता है कि वास्तव में एक अच्छा विचार होगा, वह है स्पैम का एक विशाल कॉर्पस जमा करना। एक बड़ा, साफ कॉर्पस बेयसियन फ़िल्टरिंग को अच्छी तरह से काम करने की कुंजी है। बेयसियन फ़िल्टर वास्तव में कॉर्पस को इनपुट के रूप में उपयोग कर सकते हैं। लेकिन ऐसा कॉर्पस अन्य प्रकार के फ़िल्टर के लिए भी उपयोगी होगा, क्योंकि इसका उपयोग उनका परीक्षण करने के लिए किया जा सकता है।
ऐसा कॉर्पस बनाना कुछ तकनीकी समस्याएँ पैदा करता है। हमें दुर्भावनापूर्ण या अक्षम सबमिशन को रोकने के लिए ट्रस्ट मीट्रिक की आवश्यकता होगी, बेशक। हमें कॉर्पस में मेल से व्यक्तिगत जानकारी (केवल टू-एड्रेस और सीसी नहीं, बल्कि उदाहरण के लिए अनसब्सक्राइब यूआरएल के तर्क, जो अक्सर टू-एड्रेस को एन्कोड करते हैं) को मिटाने के तरीकों की भी आवश्यकता होगी। अगर कोई इस परियोजना को लेना चाहता है, तो यह दुनिया के लिए एक अच्छी बात होगी।
परिशिष्ट: स्पैम को परिभाषित करना
मुझे लगता है कि स्पैम क्या है, इस पर एक मोटा आम सहमति है, लेकिन एक स्पष्ट परिभाषा होना उपयोगी होगा। अगर हम स्पैम का एक केंद्रीय कॉर्पस स्थापित करना चाहते हैं, या यहां तक कि स्पैम फ़िल्टरिंग दरों की सार्थक तुलना करना चाहते हैं, तो हमें ऐसा करने की आवश्यकता होगी।
शुरू करने के लिए, स्पैम अवांछित वाणिज्यिक ईमेल नहीं है। अगर मेरे पड़ोस में किसी को पता चला कि मैं अच्छी स्थिति में एक पुरानी रॉली थ्री-स्पीड की तलाश कर रहा हूं, और मुझे एक ईमेल भेजा जिसमें मुझे एक बेचने की पेशकश की गई, तो मैं खुश हो जाऊंगा, और फिर भी यह ईमेल वाणिज्यिक और अवांछित दोनों होगा। स्पैम की परिभाषित विशेषता (वास्तव में, इसका raison d'etre) यह नहीं है कि यह अवांछित है, बल्कि यह स्वचालित है।
यह केवल आकस्मिक भी है कि स्पैम आमतौर पर वाणिज्यिक होता है। उदाहरण के लिए, यदि कोई किसी राजनीतिक कारण का समर्थन करने के लिए सामूहिक ईमेल भेजना शुरू कर देता है, तो यह पोर्न साइट का प्रचार करने वाले ईमेल जितना ही स्पैम होगा।
मेरा प्रस्ताव है कि हम स्पैम को अवांछित स्वचालित ईमेल के रूप में परिभाषित करें। इस प्रकार यह परिभाषा कुछ ऐसे ईमेल को शामिल करती है जो स्पैम की कई कानूनी परिभाषाओं में नहीं हैं। स्पैम की कानूनी परिभाषाएँ, संभवतः लॉबिस्टों से प्रभावित, उन कंपनियों द्वारा भेजे गए मेल को बाहर करने की प्रवृत्ति रखती हैं जिनके प्राप्तकर्ता के साथ "मौजूदा संबंध" हैं। लेकिन किसी कंपनी से कुछ खरीदना, उदाहरण के लिए, यह नहीं दर्शाता है कि आपने उनसे चल रहे ईमेल का अनुरोध किया है। अगर मैं किसी ऑनलाइन स्टोर से कुछ ऑर्डर करता हूं, और फिर वे मुझे स्पैम की एक धारा भेजते हैं, तो यह अभी भी स्पैम है।
स्पैम भेजने वाली कंपनियां अक्सर आपको "अनसब्सक्राइब" करने का एक तरीका देती हैं, या आपसे अनुरोध करती हैं कि यदि आप स्पैम प्राप्त करना बंद करना चाहते हैं तो उनकी साइट पर जाएं और अपनी "खाता प्राथमिकताएं" बदलें। यह मेल को स्पैम होने से रोकने के लिए पर्याप्त नहीं है। ऑप्ट आउट न करना ऑप्ट इन के समान नहीं है। जब तक प्राप्तकर्ता ने स्पष्ट रूप से एक स्पष्ट रूप से लेबल किए गए बॉक्स (जिसका डिफ़ॉल्ट नहीं था) को ईमेल प्राप्त करने के लिए अनुरोध करने के लिए चेक नहीं किया है, तब तक यह स्पैम है।
कुछ व्यावसायिक संबंधों में, आप कुछ प्रकार के मेल का निहित रूप से अनुरोध करते हैं। जब आप ऑनलाइन ऑर्डर करते हैं, तो मुझे लगता है कि आप निहित रूप से एक रसीद का अनुरोध करते हैं, और जब ऑर्डर शिप होता है तो सूचना मिलती है। मुझे तब कोई आपत्ति नहीं है जब वेरिसाइन मुझे मेल भेजता है जिसमें चेतावनी दी जाती है कि एक डोमेन नाम समाप्त होने वाला है (कम से कम, अगर वे इसके लिए वास्तविक रजिस्ट्रार हैं)। लेकिन जब वेरिसाइन मुझे अपनी ई-कॉमर्स वेब साइट बनाने के लिए एक मुफ़्त गाइड की पेशकश करते हुए ईमेल भेजता है, तो यह स्पैम है।
नोट्स:
[1] इस लेख में दिए गए उदाहरणों को कॉमन लिसप में अनुवादित किया गया है, विश्वास करो या नहीं, अधिक पहुंच के लिए। यहां वर्णित एप्लिकेशन एक ऐसा है जिसे हमने आर्क नामक एक नए लिसप डायलेक्ट का परीक्षण करने के लिए लिखा था जो अभी तक जारी नहीं हुआ है।
[2] वर्तमान में सबसे कम दर लगभग $200 है, एक मिलियन स्पैम भेजने के लिए। यह बहुत सस्ता है, प्रति स्पैम 1/50 सेंट। लेकिन उदाहरण के लिए, 95% स्पैम को फ़िल्टर करने से स्पैमर की किसी दिए गए दर्शकों तक पहुँचने की लागत 20 गुना बढ़ जाएगी। कुछ के पास इतने बड़े मार्जिन नहीं हो सकते हैं कि वे इसे अवशोषित कर सकें।
[3] एक नियम के रूप में, किसी देश के नाम से पहले जितने अधिक योग्यताएँ होंगी, शासक उतने ही भ्रष्ट होंगे। द सोशलिस्ट पीपुल्स डेमोक्रेटिक रिपब्लिक ऑफ एक्स नामक देश शायद दुनिया में आखिरी जगह है जहाँ आप रहना चाहेंगे।
धन्यवाद सारा हरलिन को इस के ड्राफ्ट पढ़ने के लिए; डैनियल गिफिन (जो उत्पादन आर्क दुभाषिया भी लिख रहे हैं) फ़िल्टरिंग के बारे में कई अच्छे विचारों के लिए और हमारे मेल बुनियादी ढांचे के निर्माण के लिए; रॉबर्ट मॉरिस, ट्रेवर ब्लैकवेल और एरन गेट स्पैम के बारे में कई चर्चाओं के लिए; ट्रस्ट मीट्रिक के बारे में सलाह के लिए रैफ लेविएन; और सांख्यिकी के बारे में सलाह के लिए चिप कोल्डवेल और सैम स्टिंगोल्ड।
आपको यह निबंध और 14 अन्य मिलेंगे [
हैकर्स और पेंटर
](http://www.amazon.com/gp/product/0596006624) .
अधिक जानकारी: