Khi viết phương pháp của riêng bạn, bạn sẽ phải sử dụng kết hợp các chẩn đoán.
Ví dụ: nhận xét spam rất phổ biến để có 2 hoặc nhiều liên kết URL.
Tôi muốn bắt đầu viết bộ lọc của bạn như vậy, sử dụng một cuốn từ điển các từ kích hoạt và có nó lặp qua và sử dụng những khả năng để xác định:
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;
}
Lưu ý rằng phương pháp này sẽ cho kết quả dương tính giả nhiều, tùy thuộc vào tập hợp từ của bạn; bạn có thể có "cờ" trang web của bạn để kiểm duyệt (nhưng phát trực tiếp ngay) những người có xác suất> .3 và < .6, yêu cầu những người> .6 và < .9 nhập hàng đợi kiểm duyệt (nơi họ không xuất hiện cho đến khi được phê duyệt), và sau đó bất cứ điều gì trên> 1 chỉ đơn giản là bị từ chối.
Rõ ràng đây là tất cả các giá trị bạn sẽ phải tinh chỉnh các ngưỡng nhưng điều này sẽ khiến bạn bắt đầu với một hệ thống khá cơ bản. Bạn có thể thêm vào nó vài vòng loại khác để tăng/giảm khả năng spam, chẳng hạn như kiểm tra tỷ lệ từ xấu đến lời nói, việc thay đổi trọng lượng của lời nói vv
đợi một lúc ... bạn không thể làm mỗi lần một cây bút chì ($ text) cho mỗi từ. – dynamic
Tại sao không? Bằng cách này, nó bắt các biến thể về trường hợp. Chúng tôi không xuất ra chuỗi chữ thường mới, chúng tôi chỉ so sánh nó và loại bỏ nó. – Tim
Trừ khi bạn có nghĩa là hiệu quả là xấu, mà có, nó là, đây chỉ là một ví dụ khái niệm. – Tim