خطة للبريد العشوائي
هل تحب بناء الأشياء؟ جرب أخبار المبرمجين.
أغسطس 2002
(يصف هذا المقال تقنيات تصفية البريد العشوائي المستخدمة في قارئ البريد الإلكتروني عبر الويب المقاوم للبريد العشوائي الذي بنيناه لتشغيل Arc. تم وصف خوارزمية محسنة في تصفية بايزي محسنة.)
أعتقد أنه من الممكن إيقاف البريد العشوائي، وأن المرشحات القائمة على المحتوى هي الطريق لتحقيق ذلك. نقطة ضعف مرسلي البريد العشوائي هي رسالتهم. يمكنهم التحايل على أي حاجز آخر تضعه. لقد فعلوا ذلك حتى الآن، على الأقل. لكن عليهم تسليم رسالتهم، مهما كانت. إذا استطعنا كتابة برنامج يتعرف على رسائلهم، فلا توجد طريقة يمكنهم التحايل عليها.
بالنسبة للمستلم، يمكن التعرف على البريد العشوائي بسهولة. إذا استأجرت شخصًا لقراءة بريدك والتخلص من البريد العشوائي، فلن يواجه صعوبة في القيام بذلك. ما مقدار ما نحتاج إلى القيام به، باستثناء الذكاء الاصطناعي، لأتمتة هذه العملية؟
أعتقد أننا سنكون قادرين على حل المشكلة بخوارزميات بسيطة إلى حد ما. في الواقع، وجدت أنه يمكنك تصفية البريد العشوائي الحالي بشكل مقبول باستخدام لا شيء أكثر من مزيج بايزي لاحتمالات البريد العشوائي للكلمات الفردية. باستخدام مرشح بايزي معدّل قليلاً (كما هو موضح أدناه)، فإننا الآن نفقد أقل من 5 رسائل بريد عشوائي من كل 1000، مع عدم وجود نتائج إيجابية خاطئة.
النهج الإحصائي ليس عادةً ما يحاوله الناس أولاً عند كتابة مرشحات البريد العشوائي. الغريزة الأولى لمعظم المبرمجين هي محاولة كتابة برامج تتعرف على الخصائص الفردية للبريد العشوائي. تنظر إلى رسائل البريد العشوائي وتعتقد، يا له من وقاحة من هؤلاء الرجال لمحاولة إرسال بريد إلي يبدأ بـ "عزيزي الصديق" أو له سطر موضوع كله بأحرف كبيرة وينتهي بثمانية علامات تعجب. يمكنني تصفية هذه الأشياء بسطر واحد من التعليمات البرمجية.
وهكذا تفعل، وفي البداية يعمل. بعض القواعد البسيطة ستأخذ جزءًا كبيرًا من البريد العشوائي الوارد لديك. مجرد البحث عن كلمة "click" سيصطاد 79.7٪ من رسائل البريد الإلكتروني في مجموعة البريد العشوائي الخاصة بي، مع 1.2٪ فقط من النتائج الإيجابية الخاطئة.
قضيت حوالي ستة أشهر في كتابة برامج تبحث عن ميزات البريد العشوائي الفردية قبل أن أجرب النهج الإحصائي. ما وجدته هو أن التعرف على نسبة الخمسة بالمائة الأخيرة من البريد العشوائي أصبح صعبًا للغاية، وأنه كلما جعلت المرشحات أكثر صرامة، زادت النتائج الإيجابية الخاطئة.
النتائج الإيجابية الخاطئة هي رسائل بريد إلكتروني بريئة يتم تحديدها عن طريق الخطأ على أنها بريد عشوائي. بالنسبة لمعظم المستخدمين، فإن فقدان البريد الشرعي أسوأ بعشر مرات من تلقي البريد العشوائي، لذا فإن المرشح الذي ينتج عنه نتائج إيجابية خاطئة يشبه علاج حب الشباب الذي يحمل خطر الموت للمريض.
كلما زاد البريد العشوائي الذي يحصل عليه المستخدم، قل احتمال ملاحظته لرسالة بريد إلكتروني بريئة واحدة موجودة في مجلد البريد العشوائي الخاص به. وغريبًا بما فيه الكفاية، كلما تحسنت مرشحات البريد العشوائي الخاصة بك، أصبحت النتائج الإيجابية الخاطئة أكثر خطورة، لأنه عندما تكون المرشحات جيدة حقًا، سيكون المستخدمون أكثر عرضة لتجاهل كل ما يلتقطونه.
لا أعرف لماذا تجنبت تجربة النهج الإحصائي لفترة طويلة. أعتقد أنه كان بسبب إدماني لمحاولة تحديد ميزات البريد العشوائي بنفسي، كما لو كنت ألعب نوعًا من الألعاب التنافسية مع مرسلي البريد العشوائي. (غير المبرمجين لا يدركون ذلك غالبًا، لكن معظم المبرمجين تنافسيون للغاية.) عندما جربت التحليل الإحصائي، وجدت على الفور أنه أذكى بكثير مما كنت عليه. اكتشف، بالطبع، أن مصطلحات مثل "virtumundo" و "teens" هي مؤشرات جيدة للبريد العشوائي. لكنه اكتشف أيضًا أن "per" و "FL" و "ff0000" هي مؤشرات جيدة للبريد العشوائي. في الواقع، "ff0000" (html للون الأحمر الساطع) تبين أنه مؤشر جيد للبريد العشوائي مثل أي مصطلح إباحي.
إليك مخطط لكيفية قيامي بالتصفية الإحصائية. أبدأ بمجموعة واحدة من البريد العشوائي ومجموعة واحدة من البريد غير العشوائي. في الوقت الحالي، تحتوي كل منها على حوالي 4000 رسالة. أقوم بمسح النص بأكمله، بما في ذلك الرؤوس و html و javascript المضمنة، لكل رسالة في كل مجموعة. حاليًا، أعتبر الأحرف الأبجدية الرقمية والشرطات والفاصلات العليا وعلامات الدولار جزءًا من الرموز، وكل شيء آخر فاصل للرموز. (هناك على الأرجح مجال للتحسين هنا.) أتجاهل الرموز التي تتكون بالكامل من أرقام، وأتجاهل أيضًا تعليقات 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 بأن يكون بريدًا عشوائيًا. ولكن في الممارسة العملية، لن يكون من المهم كثيرًا أين وضعت هذا الحد، لأن القليل من الاحتمالات ينتهي في منتصف النطاق.
إحدى المزايا الكبيرة للنهج الإحصائي هي أنك لا تحتاج إلى قراءة الكثير من رسائل البريد العشوائي. على مدى الأشهر الستة الماضية، قرأت حرفيًا آلاف رسائل البريد العشوائي، وهو أمر محبط حقًا. قال نوربرت وينر إنه إذا تنافست مع العبيد، فستصبح عبدًا، وهناك شيء مهين بالمثل في التنافس مع مرسلي البريد العشوائي. للتعرف على ميزات البريد العشوائي الفردية، عليك محاولة الدخول إلى عقل مرسل البريد العشوائي، وبصراحة أريد قضاء أقل وقت ممكن داخل عقول مرسلي البريد العشوائي.
لكن الميزة الحقيقية لنهج بايزي، بالطبع، هي أنك تعرف ما الذي تقيسه. المرشحات التي تتعرف على الميزات مثل SpamAssassin تمنح البريد الإلكتروني "درجة" بريد عشوائي. نهج بايزي يمنح احتمالًا فعليًا. المشكلة في "الدرجة" هي أن لا أحد يعرف ما تعنيه. لا يعرف المستخدم ما تعنيه، ولكن الأسوأ من ذلك، لا يعرف مطور المرشح أيضًا. كم عدد النقاط التي يجب أن تحصل عليها رسالة بريد إلكتروني لاحتوائها على كلمة "sex"؟ يمكن أن يكون الاحتمال خاطئًا بالطبع، ولكن هناك القليل من الغموض حول ما يعنيه، أو كيف يجب دمج الأدلة لحسابه. بناءً على مجموعتي، تشير كلمة "sex" إلى احتمال 97٪ بأن البريد الإلكتروني الذي يحتوي عليها هو بريد عشوائي، بينما تشير كلمة "sexy" إلى احتمال 99٪. وقاعدة بايز، وهي غير غامضة بنفس القدر، تقول إن البريد الإلكتروني الذي يحتوي على الكلمتين معًا سيكون، في حالة عدم وجود أي دليل آخر (غير مرجح)، لديه فرصة 99.97٪ لأن يكون بريدًا عشوائيًا.
نظرًا لأنه يقيس الاحتمالات، فإن نهج بايزي يأخذ في الاعتبار جميع الأدلة في البريد الإلكتروني، الجيدة والسيئة. الكلمات التي تحدث بشكل غير متناسب نادرًا في البريد العشوائي (مثل "though" أو "tonight" أو "apparently") تساهم بقدر ما تساهم الكلمات السيئة مثل "unsubscribe" و "opt-in" في زيادته. لذلك، فإن البريد الإلكتروني البريء الذي يتضمن كلمة "sex" لن يتم تصنيفه كبريد عشوائي.
من الناحية المثالية، بالطبع، يجب حساب الاحتمالات بشكل فردي لكل مستخدم. أتلقى الكثير من رسائل البريد الإلكتروني التي تحتوي على كلمة "Lisp"، (حتى الآن) ولا يوجد بريد عشوائي يحتوي عليها. لذا فإن كلمة كهذه هي في الواقع نوع من كلمة المرور لإرسال البريد إلي. في برامج تصفية البريد العشوائي المبكرة الخاصة بي، يمكن للمستخدم إعداد قائمة بالكلمات مثل هذه والبريد الإلكتروني الذي يحتوي عليها سيمر تلقائيًا عبر المرشحات. في قائمتي وضعت كلمات مثل "Lisp" وكذلك الرمز البريدي الخاص بي، بحيث تمر الإيصالات (التي تبدو عشوائية إلى حد ما) من الطلبات عبر الإنترنت. اعتقدت أنني كنت ذكيًا جدًا، لكنني وجدت أن مرشح بايزي فعل الشيء نفسه بالنسبة لي، علاوة على ذلك اكتشف الكثير من الكلمات التي لم أفكر فيها.
عندما قلت في البداية أن مرشحاتنا تسمح بمرور أقل من 5 رسائل بريد عشوائي من كل 1000 مع عدم وجود نتائج إيجابية خاطئة، فأنا أتحدث عن تصفية بريدي بناءً على مجموعة من بريدي. لكن هذه الأرقام ليست مضللة، لأن هذا هو النهج الذي أدعو إليه: تصفية بريد كل مستخدم بناءً على البريد العشوائي وغير العشوائي الذي يتلقاه. في الأساس، يجب أن يكون لكل مستخدم زرين للحذف، حذف عادي وحذف كبريد عشوائي. أي شيء يتم حذفه كبريد عشوائي يذهب إلى مجموعة البريد العشوائي، وكل شيء آخر يذهب إلى مجموعة البريد غير العشوائي.
يمكنك بدء المستخدمين بمرشح بذرة، ولكن في النهاية يجب أن يكون لكل مستخدم احتمالاته الخاصة بالكلمات الفردية بناءً على البريد الفعلي الذي يتلقاه. هذا (أ) يجعل المرشحات أكثر فعالية، (ب) يسمح لكل مستخدم بتحديد تعريفه الدقيق للبريد العشوائي، و (ج) ربما الأفضل من ذلك كله يجعل من الصعب على مرسلي البريد العشوائي ضبط رسائل البريد الإلكتروني لتمرير المرشحات. إذا كان جزء كبير من دماغ المرشح موجودًا في قواعد البيانات الفردية، فإن مجرد ضبط رسائل البريد العشوائي لتمرير المرشحات الأولية لن يضمن أي شيء حول مدى جودتها في المرور عبر المرشحات الفردية المتنوعة والمُدربة بشكل أكبر للمستخدمين.
غالبًا ما يتم دمج تصفية البريد العشوائي القائمة على المحتوى مع قائمة بيضاء، وهي قائمة بالمرسلين الذين يمكن قبول بريدهم دون تصفية. إحدى الطرق السهلة لإنشاء قائمة بيضاء كهذه هي الاحتفاظ بقائمة بكل عنوان أرسل إليه المستخدم بريدًا إلكترونيًا على الإطلاق. إذا كان قارئ البريد الإلكتروني يحتوي على زر حذف كبريد عشوائي، فيمكنك أيضًا إضافة عنوان المرسل لكل بريد إلكتروني قام المستخدم بحذفه كقمامة عادية.
أنا من دعاة القوائم البيضاء، ولكن المزيد كوسيلة لتوفير الحساب بدلاً من وسيلة لتحسين التصفية. كنت أعتقد أن القوائم البيضاء ستجعل التصفية أسهل، لأنك ستحتاج فقط إلى تصفية البريد الإلكتروني من الأشخاص الذين لم تسمع عنهم من قبل، والشخص الذي يرسل إليك بريدًا إلكترونيًا لأول مرة مقيد بالاتفاقيات فيما يمكنهم قوله لك. قد يرسل إليك صديق قديم بريدًا إلكترونيًا يتحدث عن الجنس، لكن الشخص الذي يرسل إليك بريدًا إلكترونيًا لأول مرة لن يكون من المحتمل أن يفعل ذلك. المشكلة هي أن الأشخاص يمكن أن يكون لديهم أكثر من عنوان بريد إلكتروني واحد، لذا فإن عنوان المرسل الجديد لا يضمن أن المرسل يكتب إليك لأول مرة. ليس من غير المعتاد أن يرسل لك صديق قديم (خاصة إذا كان مبرمجًا) فجأة بريدًا إلكترونيًا بعنوان مرسل جديد، لذلك لا يمكنك المخاطرة بنتائج إيجابية خاطئة عن طريق تصفية البريد من العناوين غير المعروفة بشكل صارم بشكل خاص.
بمعنى ما، على الرغم من ذلك، فإن مرشحاتي تجسد نوعًا من القائمة البيضاء (وقائمة سوداء) لأنها تستند إلى رسائل كاملة، بما في ذلك الرؤوس. لذلك إلى هذا الحد، فإنها "تعرف" عناوين البريد الإلكتروني للمرسلين الموثوق بهم وحتى المسارات التي يصل بها البريد منهم إلي. وهم يعرفون نفس الشيء عن البريد العشوائي، بما في ذلك أسماء الخوادم، وإصدارات برامج البريد، والبروتوكولات.
لو كنت أعتقد أنني أستطيع الحفاظ على المعدلات الحالية لتصفية البريد العشوائي، لكنت اعتبرت هذه المشكلة محلولة. لكن هذا لا يعني الكثير أن تكون قادرًا على تصفية معظم البريد العشوائي الحالي، لأن البريد العشوائي يتطور. في الواقع، كانت معظم تقنيات مكافحة البريد العشوائي حتى الآن مثل المبيدات الحشرية التي لا تفعل شيئًا سوى إنشاء سلالة جديدة ومقاومة من الحشرات.
أنا أكثر تفاؤلاً بشأن مرشحات بايزي، لأنها تتطور مع البريد العشوائي. لذلك عندما يبدأ مرسلو البريد العشوائي في استخدام "c0ck" بدلاً من "cock" للتهرب من مرشحات البريد العشوائي البسيطة القائمة على الكلمات الفردية، تلاحظ مرشحات بايزي تلقائيًا. في الواقع، "c0ck" دليل أكثر إدانة بكثير من "cock"، وتعرف مرشحات بايزي بالضبط مقدار الزيادة.
ومع ذلك، يجب على أي شخص يقترح خطة لتصفية البريد العشوائي أن يكون قادرًا على الإجابة على السؤال: إذا عرف مرسلو البريد العشوائي بالضبط ما كنت تفعله، فما مدى جودة قدرتهم على تجاوزك؟ على سبيل المثال، أعتقد أنه إذا أصبحت تصفية البريد العشوائي القائمة على المجموع الاختباري عقبة خطيرة، فسوف يتحول مرسلو البريد العشوائي ببساطة إلى تقنيات القصة الإخبارية لتوليد محتوى الرسائل.
للتغلب على مرشحات بايزي، لن يكون كافيًا لمرسلي البريد العشوائي جعل رسائل البريد الإلكتروني الخاصة بهم فريدة أو التوقف عن استخدام الكلمات السيئة الفردية. سيتعين عليهم جعل رسائلهم لا يمكن تمييزها عن بريدك العادي. وهذا أعتقد أنه سيقيدهم بشدة. البريد العشوائي هو في الغالب عروض مبيعات، لذا ما لم يكن بريدك العادي كله عروض مبيعات، فإن رسائل البريد العشوائي سيكون لها طابع مختلف حتمًا. وسيتعين على مرسلي البريد العشوائي أيضًا، بالطبع، تغيير (والاستمرار في تغيير) بنيتهم التحتية بالكامل، لأنه بخلاف ذلك ستبدو الرؤوس سيئة بالنسبة لمرشحات بايزي كما كانت دائمًا، بغض النظر عما فعلوه بجسم الرسالة. لا أعرف ما يكفي عن البنية التحتية التي يستخدمها مرسلو البريد العشوائي لأعرف مدى صعوبة جعل الرؤوس تبدو بريئة، لكن تخميني هو أنها ستكون أصعب من جعل الرسالة تبدو بريئة.
بافتراض أنهم يستطيعون حل مشكلة الرؤوس، فإن البريد العشوائي للمستقبل سيبدو على الأرجح كالتالي: مرحبًا. اعتقدت أنه يجب عليك التحقق من ما يلي: http://www.27meg.com/foo لأن هذا هو تقريبًا كل ما سيتركه عرض المبيعات لمرسل البريد العشوائي في حدود التصفية القائمة على المحتوى. (في الواقع، سيكون من الصعب حتى تجاوز المرشحات بهذا، لأنه إذا كان كل شيء آخر في البريد الإلكتروني محايدًا، فإن احتمال البريد العشوائي سيعتمد على عنوان URL، وسيتطلب الأمر بعض الجهد لجعله يبدو محايدًا.)
يتراوح مرسلو البريد العشوائي من الشركات التي تدير قوائم "opt-in" التي لا تحاول حتى إخفاء هوياتها، إلى الرجال الذين يخترقون خوادم البريد لإرسال رسائل بريد عشوائي تروج لمواقع إباحية. إذا استخدمنا التصفية لتقليص خياراتهم إلى رسائل مثل تلك المذكورة أعلاه، فسيؤدي ذلك إلى إخراج مرسلي البريد العشوائي في الطرف "الشرعي" من الطيف من العمل؛ فهم يشعرون بالالتزام بموجب قوانين الولاية المختلفة لتضمين نص قياسي حول سبب عدم كون بريدهم العشوائي بريدًا عشوائيًا، وكيفية إلغاء "اشتراكك"، وهذا النوع من النص يسهل التعرف عليه.
(كنت أعتقد سابقًا أنه من السذاجة الاعتقاد بأن القوانين الأكثر صرامة ستقلل من البريد العشوائي. الآن أعتقد أنه بينما قد لا تقلل القوانين الأكثر صرامة من كمية البريد العشوائي الذي يرسله مرسلو البريد العشوائي، إلا أنها يمكن أن تساعد المرشحات بالتأكيد في تقليل كمية البريد العشوائي الذي يراه المستلمون بالفعل.)
على طول الطيف، إذا قيدت عروض المبيعات التي يمكن لمرسلي البريد العشوائي تقديمها، فسوف تميل حتمًا إلى إخراجهم من العمل. هذه الكلمة business هي كلمة مهمة يجب تذكرها. مرسلو البريد العشوائي هم رجال أعمال. يرسلون البريد العشوائي لأنه يعمل. إنه يعمل لأنه على الرغم من أن معدل الاستجابة منخفض بشكل مروع (بحد أقصى 15 لكل مليون، مقابل 3000 لكل مليون لمراسلات الكتالوج)، فإن التكلفة، بالنسبة لهم، لا شيء تقريبًا. التكلفة هائلة للمستلمين، حوالي 5 أسابيع عمل لكل مليون مستلم يقضون ثانية في حذف البريد العشوائي، لكن مرسل البريد العشوائي لا يضطر لدفع ذلك.
إرسال البريد العشوائي يكلف مرسل البريد العشوائي شيئًا، على الرغم من ذلك. [2] لذلك كلما قللنا معدل الاستجابة - سواء عن طريق التصفية، أو عن طريق استخدام المرشحات لإجبار مرسلي البريد العشوائي على تخفيف عروضهم - قل عدد الشركات التي ستجد أنه من المفيد إرسال البريد العشوائي.
السبب في أن مرسلي البريد العشوائي يستخدمون أنواع عروض المبيعات التي يستخدمونها هو زيادة معدلات الاستجابة. هذا ربما يكون أكثر إثارة للاشمئزاز من الدخول إلى عقل مرسل البريد العشوائي، ولكن دعنا نلقي نظرة سريعة على عقل شخص يستجيب لبريد عشوائي. هذا الشخص إما ساذج بشكل مذهل أو في إنكار عميق لاهتماماته الجنسية. في كلتا الحالتين، مهما بدا البريد العشوائي بغيضًا أو أحمقًا بالنسبة لنا، فهو مثير لهم. لن يقول مرسلو البريد العشوائي هذه الأشياء إذا لم تبدو مثيرة. و "اعتقدت أنه يجب عليك التحقق من ما يلي" لن يكون له نفس التأثير على مستلم البريد العشوائي مثل الأشياء التي يقولها مرسلو البريد العشوائي الآن. النتيجة: إذا لم يكن بإمكانه احتواء عروض مبيعات مثيرة، يصبح البريد العشوائي أقل فعالية كأداة تسويق، وعدد أقل من الشركات ترغب في استخدامه.
هذا هو الفوز الكبير في النهاية. بدأت في كتابة برامج تصفية البريد العشوائي لأنني لم أعد أرغب في النظر إلى هذه الأشياء. ولكن إذا أصبحنا جيدين بما يكفي في تصفية البريد العشوائي، فسوف يتوقف عن العمل، وسيتوقف مرسلو البريد العشوائي فعليًا عن إرساله.
من بين جميع الأساليب لمكافحة البريد العشوائي، من البرامج إلى القوانين، أعتقد أن تصفية بايزي ستكون الأكثر فعالية. لكنني أعتقد أيضًا أنه كلما زاد عدد أنواع جهود مكافحة البريد العشوائي التي نقوم بها، كان ذلك أفضل، لأن أي إجراء يقيد مرسلي البريد العشوائي سيجعل التصفية أسهل. وحتى ضمن عالم التصفية القائمة على المحتوى، أعتقد أنه سيكون من الجيد أن يكون هناك العديد من أنواع البرامج المختلفة المستخدمة في وقت واحد. كلما زاد عدد المرشحات المختلفة، زادت صعوبة ضبط مرسلي البريد العشوائي لرسائل البريد العشوائي لتمريرها.
ملحق: أمثلة على التصفية
هنا مثال على بريد عشوائي وصل أثناء كتابة هذا المقال. أكثر خمسة عشر كلمة إثارة للاهتمام في هذا البريد العشوائي هي: qvp0045 indira mx-05 intimail $7500 freeyankeedom cdo bluefoxmedia jpg unsecured platinum 3d0 qves 7c5 7c266675 الكلمات هي مزيج من الأشياء من الرؤوس ومن جسم الرسالة، وهو أمر نموذجي للبريد العشوائي. نموذجي أيضًا للبريد العشوائي هو أن كل كلمة من هذه الكلمات لها احتمال بريد عشوائي، في قاعدة بياناتي، يبلغ 0.99. في الواقع، هناك أكثر من خمسة عشر كلمة باحتمالات 0.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 هذه المرة الدليل هو مزيج من الجيد والسيئ. كلمة مثل "shortest" هي دليل على البراءة بقدر ما هي كلمة مثل "madam" أو "promotion" دليل على الذنب. لكن حالة الذنب لا تزال أقوى. إذا قمت بدمج هذه الأرقام وفقًا لقاعدة بايز، فإن الاحتمال الناتج هو 0.9027.
"Madam" هي بالطبع من رسائل البريد العشوائي التي تبدأ بـ "Dear Sir or Madam." إنها ليست شائعة جدًا، لكن كلمة "madam" لا تحدث أبدًا في بريدي الشرعي، وكل ذلك يتعلق بالنسبة.
"Republic" تسجل درجة عالية لأنها غالبًا ما تظهر في رسائل البريد العشوائي النيجيرية، وتظهر أيضًا مرة أو مرتين في رسائل البريد العشوائي التي تشير إلى كوريا وجنوب إفريقيا. قد تقول إنها مصادفة أنها تساعد في تحديد هذا البريد العشوائي. لكنني وجدت عند فحص احتمالات البريد العشوائي أن هناك الكثير من هذه المصادفات، ولديها ميل غريب لدفع الأشياء في الاتجاه الصحيح بدلاً من الخطأ. في هذه الحالة، ليس من قبيل الصدفة تمامًا أن كلمة "Republic" تظهر في رسائل البريد العشوائي النيجيرية وهذا البريد العشوائي. هناك فئة كاملة من مقترحات الأعمال المشكوك فيها التي تشمل البلدان الأقل نموًا، وهذه بدورها من المرجح أن تحمل أسماء تحدد صراحة (لأنها ليست كذلك) أنها جمهوريات.[3]
من ناحية أخرى، "enter" هو خطأ حقيقي. يحدث في الغالب في تعليمات إلغاء الاشتراك، ولكنه يستخدم هنا بطريقة بريئة تمامًا. لحسن الحظ، فإن النهج الإحصائي قوي إلى حد ما، ويمكنه تحمل الكثير من الأخطاء قبل أن تبدأ النتائج في التأثر.
للمقارنة، هنا مثال على ذلك الطائر النادر، بريد عشوائي يمر عبر المرشحات. لماذا؟ لأنه بالصدفة البحتة، تم تحميله بالكلمات التي تحدث في بريدي الفعلي: 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 هناك زوجان من الأخبار الجيدة هنا. أولاً، من المحتمل أن هذا البريد لن يمر عبر مرشحات شخص لا يتخصص في لغات البرمجة ولديه صديق جيد يدعى موريس. بالنسبة للمستخدم العادي، ستكون جميع الكلمات الخمس الأولى هنا محايدة ولن تساهم في احتمال البريد العشوائي.
ثانيًا، أعتقد أن التصفية القائمة على أزواج الكلمات (انظر أدناه) قد تلتقط هذا: "cost effective"، "setup fee"، "money back" - أشياء مشينة جدًا. وبالطبع إذا استمروا في إرسال البريد العشوائي إلي (أو شبكة كنت جزءًا منها)، فإن "Hostex" نفسها ستُعرف كمصطلح بريد عشوائي.
أخيرًا، هنا بريد إلكتروني بريء. أكثر خمسة عشر كلمة إثارة للاهتمام فيه هي كما يلي: 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 معظم الكلمات هنا تشير إلى أن البريد بريء. هناك كلمتان ذات رائحة كريهة، "color" (يحب مرسلو البريد العشوائي الخطوط الملونة) و "California" (التي تظهر في الشهادات وأيضًا في القوائم في النماذج)، لكنها لا تكفي لموازنة الكلمات البريئة الواضحة مثل "continuation" و "example".
من المثير للاهتمام أن "describe" تُصنف على أنها بريئة تمامًا. لم تحدث في أي من رسائل البريد العشوائي الأربعة آلاف الخاصة بي. البيانات مليئة بمثل هذه المفاجآت. أحد الأشياء التي تتعلمها عند تحليل نصوص البريد العشوائي هو مدى ضيق مجموعة فرعية من اللغة التي يعمل بها مرسلو البريد العشوائي. هذه الحقيقة، جنبًا إلى جنب مع المفردات المميزة بنفس القدر لبريد أي مستخدم فردي، هي ما يجعل تصفية بايزي خيارًا جيدًا.
ملحق: المزيد من الأفكار
إحدى الأفكار التي لم أجربها بعد هي التصفية بناءً على أزواج الكلمات، أو حتى ثلاثيات، بدلاً من الكلمات الفردية. هذا يجب أن يعطي تقديرًا أكثر دقة للاحتمال. على سبيل المثال، في قاعدة بياناتي الحالية، كلمة "offers" لها احتمال 0.96. إذا اعتمدت الاحتمالات على أزواج الكلمات، فستنتهي بـ "special offers" و "valuable offers" باحتمالات 0.99 و، على سبيل المثال، "approach offers" (كما في "this approach offers") باحتمال 0.1 أو أقل.
السبب في أنني لم أفعل ذلك هو أن التصفية القائمة على الكلمات الفردية تعمل بشكل جيد بالفعل. لكن هذا يعني أن هناك مجالًا لتشديد المرشحات إذا أصبح اكتشاف البريد العشوائي أكثر صعوبة. (من الغريب أن المرشح القائم على أزواج الكلمات سيكون في الواقع مولد نصوص سلسلة ماركوف يعمل بالعكس.)
الميزات المحددة للبريد العشوائي (على سبيل المثال، عدم رؤية عنوان المستلم في حقل to:) لها بالطبع قيمة في التعرف على البريد العشوائي. يمكن اعتبارها في هذه الخوارزمية عن طريق معاملتها ككلمات افتراضية. ربما سأفعل ذلك في الإصدارات المستقبلية، على الأقل لعدد قليل من مؤشرات البريد العشوائي الأكثر فظاعة. المرشحات التي تتعرف على الميزات صحيحة في العديد من التفاصيل؛ ما ينقصها هو الانضباط العام لدمج الأدلة.
قد يكون التعرف على ميزات البريد غير العشوائي أكثر أهمية من التعرف على ميزات البريد العشوائي. النتائج الإيجابية الخاطئة مصدر قلق كبير لدرجة أنها تتطلب تدابير استثنائية. ربما سأضيف في الإصدارات المستقبلية مستوى ثانيًا من الاختبار مصممًا خصيصًا لتجنب النتائج الإيجابية الخاطئة. إذا أثار بريد إلكتروني هذا المستوى الثاني من المرشحات، فسيتم قبوله حتى لو كان احتمال البريد العشوائي الخاص به أعلى من الحد.
لا أتوقع أن يكون مستوى التصفية الثاني هذا بايزيًا. سيكون حتماً ليس فقط مخصصًا، بل يعتمد على التخمينات، لأن عدد النتائج الإيجابية الخاطئة لن يكون كبيرًا بما يكفي لملاحظة الأنماط. (من الأفضل أيضًا، على أي حال، إذا لم يعتمد نظام النسخ الاحتياطي على نفس التكنولوجيا مثل النظام الأساسي.)
شيء آخر قد أحاوله في المستقبل هو التركيز على أجزاء معينة من البريد الإلكتروني. على سبيل المثال، حوالي 95٪ من البريد العشوائي الحالي يتضمن عنوان URL لموقع يريدون منك زيارته. (الـ 5٪ المتبقية يريدون منك الاتصال برقم هاتف، أو الرد عبر البريد الإلكتروني أو إلى عنوان بريد أمريكي، أو في بعض الحالات لشراء سهم معين.) عنوان URL في مثل هذه الحالات يكفي تقريبًا لتحديد ما إذا كان البريد الإلكتروني عشوائيًا.
تختلف أسماء النطاقات عن بقية النص في بريد إلكتروني (غير ألماني) من حيث أنها غالبًا ما تتكون من عدة كلمات ملتصقة ببعضها البعض. على الرغم من أنها مكلفة حسابيًا في الحالة العامة، إلا أنه قد يكون من المفيد محاولة تحليلها. إذا لم ير المرشح الرمز "xxxporn" من قبل، فسيكون لديه احتمال بريد عشوائي فردي يبلغ 0.4، بينما "xxx" و "porn" فرديًا لهما احتمالات (في مجموعتي) تبلغ 0.9889 و 0.99 على التوالي، واحتمال مجمع يبلغ 0.9998.
أتوقع أن يصبح تحليل أسماء النطاقات أكثر أهمية مع إجبار مرسلي البريد العشوائي تدريجيًا على التوقف عن استخدام الكلمات المدانة في نصوص رسائلهم. (عنوان URL مع عنوان IP هو بالطبع علامة مدانة للغاية، باستثناء البريد الإلكتروني لعدد قليل من مسؤولي الأنظمة.)
قد يكون من الجيد أن يكون لديك قائمة مشتركة بعناوين URL التي يروج لها مرسلو البريد العشوائي. سنحتاج إلى مقياس ثقة من النوع الذي يدرسه Raph Levien لمنع الإرسالات الخبيثة أو غير الكفؤة، ولكن إذا كان لدينا شيء من هذا القبيل، فسيوفر دفعة لأي برنامج تصفية. سيكون أيضًا أساسًا مناسبًا للمقاطعة.
طريقة أخرى لاختبار عناوين URL المشبوهة هي إرسال زاحف للنظر في الموقع قبل أن ينظر المستخدم إلى البريد الإلكتروني الذي يذكره. يمكنك استخدام مرشح بايزي لتقييم الموقع تمامًا كما تفعل مع البريد الإلكتروني، وسيتم تضمين أي شيء تم العثور عليه في الموقع في حساب احتمال أن يكون البريد الإلكتروني بريدًا عشوائيًا. عنوان URL الذي يؤدي إلى إعادة توجيه سيكون مشبوهًا بشكل خاص.
مشروع تعاوني واحد أعتقد أنه سيكون فكرة جيدة حقًا هو تجميع مجموعة ضخمة من البريد العشوائي. مجموعة كبيرة ونظيفة هي مفتاح جعل تصفية بايزي تعمل بشكل جيد. يمكن لمرشحات بايزي استخدام المجموعة كمدخلات بالفعل. ولكن مثل هذه المجموعة ستكون مفيدة لأنواع أخرى من المرشحات أيضًا، لأنها يمكن استخدامها لاختبارها.
إنشاء مثل هذه المجموعة يطرح بعض المشاكل التقنية. سنحتاج إلى مقاييس ثقة لمنع الإرسالات الخبيثة أو غير الكفؤة، بالطبع. سنحتاج أيضًا إلى طرق لمحو المعلومات الشخصية (ليس فقط عناوين to و ccs، ولكن أيضًا على سبيل المثال، الوسائط إلى عناوين URL لإلغاء الاشتراك، والتي غالبًا ما تشفر عنوان to) من رسائل البريد الإلكتروني في المجموعة. إذا أراد أي شخص تولي هذا المشروع، فسيكون ذلك شيئًا جيدًا للعالم.
ملحق: تعريف البريد العشوائي
أعتقد أن هناك توافقًا عامًا حول ماهية البريد العشوائي، ولكن سيكون من المفيد وجود تعريف صريح. سنحتاج إلى القيام بذلك إذا أردنا إنشاء مجموعة مركزية من البريد العشوائي، أو حتى لمقارنة معدلات تصفية البريد العشوائي بشكل هادف.
للبدء، البريد العشوائي ليس بريدًا تجاريًا غير مرغوب فيه. إذا سمع شخص في حيّي أنني كنت أبحث عن دراجة Raleigh ثلاثية السرعات قديمة بحالة جيدة، وأرسل إلي بريدًا إلكترونيًا يعرض بيعها لي، فسأكون سعيدًا، ومع ذلك سيكون هذا البريد الإلكتروني تجاريًا وغير مرغوب فيه. السمة المميزة للبريد العشوائي (في الواقع، سبب وجوده) ليست أنه غير مرغوب فيه، بل أنه آلي.
إنه مجرد عرضي أيضًا أن البريد العشوائي عادة ما يكون تجاريًا. إذا بدأ شخص ما في إرسال بريد جماعي لدعم قضية سياسية، على سبيل المثال، فسيكون ذلك بريدًا عشوائيًا مثل البريد الذي يروج لموقع إباحي.
أقترح أن نعرّف البريد العشوائي بأنه بريد آلي غير مرغوب فيه. هذا التعريف يشمل بالتالي بعض البريد الذي لا تشمله العديد من التعريفات القانونية للبريد العشوائي. تميل التعريفات القانونية للبريد العشوائي، المتأثرة على الأرجح جماعات الضغط، إلى استبعاد البريد المرسل من قبل الشركات التي لديها "علاقة قائمة" مع المستلم. لكن شراء شيء من شركة، على سبيل المثال، لا يعني أنك طلبت بريدًا مستمرًا منها. إذا طلبت شيئًا من متجر عبر الإنترنت، ثم أرسلوا لي تيارًا من البريد العشوائي، فإنه لا يزال بريدًا عشوائيًا.
غالبًا ما تمنحك الشركات التي ترسل البريد العشوائي طريقة لـ "إلغاء الاشتراك"، أو تطلب منك الذهاب إلى موقعهم وتغيير "تفضيلات حسابك" إذا كنت ترغب في التوقف عن تلقي البريد العشوائي. هذا لا يكفي لإيقاف البريد من كونه بريدًا عشوائيًا. عدم إلغاء الاشتراك ليس هو نفسه الاشتراك. ما لم يتحقق المستلم صراحة من مربع تم تمييزه بوضوح (وكان افتراضه هو لا) يطلب تلقي البريد الإلكتروني، فإنه بريد عشوائي.
في بعض علاقات العمل، تطلب ضمنيًا أنواعًا معينة من البريد. عندما تطلب عبر الإنترنت، أعتقد أنك تطلب ضمنيًا إيصالًا، وإشعارًا عند شحن الطلب. لا أمانع عندما ترسل لي Verisign بريدًا إلكترونيًا يحذر من أن اسم نطاق على وشك الانتهاء (على الأقل، إذا كانوا المسجل الفعلي له). ولكن عندما ترسل لي Verisign بريدًا إلكترونيًا يعرض دليلًا مجانيًا لبناء موقع التجارة الإلكترونية الخاص بي، فهذا بريد عشوائي.
ملاحظات:
[1] الأمثلة في هذا المقال مترجمة إلى Common Lisp لـ، صدق أو لا تصدق، سهولة الوصول إليها. التطبيق الموصوف هنا هو تطبيق قمنا ببنائه لاختبار لهجة Lisp جديدة تسمى Arc لم يتم إصدارها بعد.
[2] حاليًا، يبدو أن أقل معدل هو حوالي 200 دولار لإرسال مليون بريد عشوائي. هذا رخيص جدًا، 1/50 من السنت لكل بريد عشوائي. لكن تصفية 95٪ من البريد العشوائي، على سبيل المثال، ستزيد تكلفة مرسلي البريد العشوائي للوصول إلى جمهور معين بعامل 20. قليلون لديهم هوامش كبيرة بما يكفي لاستيعاب ذلك.
[3] كقاعدة عامة، كلما زادت المؤهلات قبل اسم البلد، زاد فساد الحكام. بلد يسمى جمهورية X الديمقراطية الشعبية الاشتراكية هو على الأرجح آخر مكان في العالم ترغب في العيش فيه.
شكرًا لسارة هارين لقراءة مسودات هذا المقال؛ ودانيال جيفين (الذي يكتب أيضًا مترجم Arc الإنتاجي) للعديد من الأفكار الجيدة حول التصفية ولإنشاء البنية التحتية للبريد لدينا؛ وروبرت موريس، وتريفور بلاكويل، وإيران جات للعديد من المناقشات حول البريد العشوائي؛ وراف ليفين للمشورة بشأن مقاييس الثقة؛ وتشيب كولدول وسام ستينجولد للمشورة بشأن الإحصاءات.
ستجد هذا المقال و 14 مقالًا آخر في Hackers & Painters.
مزيد من المعلومات: