2010-08-25 3 views
0

Я работаю над проектом, где мне нужно создать базу данных спама и принять заявки от пользователей. Принятие предложений легко, но я пытался выяснить, как оценить эти представления.Как создать собственную базу данных спама

Допустим, база данных состоит из слов, и я получаю следующие представления: * 137x «банан» * 22x «яблоко» * 1x «взрываются мышь»

Теперь, есть довольно хороший шанс, что «банан» - это спам-слово. «Яблоко» может быть, но, вероятно, следует рассматривать в сером списке, в то время как «взрывающаяся мышь», вероятно, просто шутка.

У кого-нибудь есть хорошие идеи?

Cheers!

ответ

0

Стандартный метод «байесовский», где вы сравниваете частоты слов в спаме со словом частот в не-спаме (он же «ветчина»). Проблема с этим заключается в том, что люди будут совершенно готовы отправить вам весь свой спам, они вряд ли захотят направить вам свою ветчину.

Одна программа, которая делает это уже называется «богофильтр». Для него есть стандартный пакет Debian.

+0

Спасибо, Пол. Пока я не могу получить всю ветчину, я могу собирать статистику и получать общее количество любых событий и сравнивать с частотой спама. Как насчет того, чтобы установить вероятность процента от наивысших жалоб на «слово»? Если у «банана» 100 сообщений в виде спама, а «яблоко» - всего 40, я могу сказать, что есть 40% вероятность «спама» яблока? Дело в том, что этот db будет использоваться в разных частях мира, поэтому «банан» будет сообщаться как спам намного больше, чем «банан» (скандинавский). – user296353

+0

Если «eple» (скандинавский «яблоко») получил 40%, то столько хитов, сколько «банан» и «банан» получили 7%, так как многие хиты, такие как «банан», «eple», считались бы ветчиной почти независимо от того, количество отчетов было (поскольку вся скандинавия похожа на средний большой американский город) ... – user296353

Смежные вопросы