अपनी खुद की विधि लिखते समय, आपको हेरिस्टिक के संयोजन को नियोजित करना होगा।
उदाहरण के लिए, स्पैम टिप्पणियों के लिए 2 या अधिक यूआरएल लिंक होने के लिए यह बहुत आम है।
मैं, इसलिए की तरह अपने फिल्टर लिख ट्रिगर शब्दों का एक शब्दकोश का उपयोग शुरू करने और इसे लूप के माध्यम से किया है और संभावना निर्धारित करने के लिए उन का उपयोग करेंगे:
function spamProbability($text){
$probability = 0;
$text = strtolower($text); // lowercase it to speed up the loop
$myDict = array("http","penis","pills","sale","cheapest");
foreach($myDict as $word){
$count = substr_count($text, $word);
$probability += .2 * $count;
}
return $probability;
}
ध्यान दें कि यह विधि कई गलत परिणामों की में परिणाम होगा, आपके शब्द सेट के आधार पर; आप मॉडरेशन के लिए अपनी साइट "फ्लैग" प्राप्त कर सकते हैं (लेकिन तुरंत लाइव हो जाते हैं) संभावनाओं वाले .3 और < .6, क्या उन्हें उन लोगों की आवश्यकता है .6 और < .9 मॉडरेशन के लिए कतार दर्ज करें (जहां वे प्रकट नहीं होते हैं अनुमोदित होने तक), और उसके बाद> 1 से अधिक कुछ भी अस्वीकार कर दिया जाता है।
जाहिर है ये सभी मूल्य हैं जो आपको सीमाओं को ट्विक करने के लिए होंगे लेकिन यह आपको एक सुंदर मूल प्रणाली से शुरू कर देना चाहिए। आप इस तरह के शब्दों के लिए अपशब्दों के अनुपात जाँच शब्दों का वजन को बदलने, आदि के रूप में वृद्धि/स्पैम की संभावना को कम करने, के लिए यह करने के लिए कई अन्य क्वालिफायर में जोड़ सकते हैं
एक पल प्रतीक्षा करें ... आप प्रत्येक शब्द के लिए हर समय एक strtolower ($ पाठ) नहीं कर सकते हैं। – dynamic
क्यों नहीं? इस तरह यह मामले पर भिन्नता पकड़ता है। हम नई लोअरकेस स्ट्रिंग को आउटपुट नहीं कर रहे हैं, हम इसकी तुलना कर रहे हैं और इससे छुटकारा पा रहे हैं। – Tim
जब तक आप का मतलब नहीं है कि दक्षता खराब है, हां, यह है, यह सिर्फ एक अवधारणा उदाहरण है। – Tim