2012-01-25 8 views
0

Je souhaite créer une autre détection de spam pour mon CMS. À l'heure actuelle, je ne vois trois options:Filtre Bayes léger pour des ensembles de données plus importants

  1. utilisation d'une simple classe php et jetons stocker dans MySQL
  2. installer SpamAssassin et utiliser un php-connecteur
  3. quelque chose de grand comme cornac

Je ne comme l'approche MySQL, parce que je crains que cela ne devienne très gros avec le temps et dégrade les performances de l'ensemble du système. L'approche spamassassin semble être plus attrayante, mais partout sur Internet, les gens écrivent que les règles de SA sont axées sur les mails et les en-têtes et que ce n'est pas une voie idéale. Enfin, je suis conscient du mahout, mais je crains que ce soit un peu trop grand et que cela crée beaucoup de frais administratifs.

Y at-il quelque chose de gentil, petit et efficace qui pourrait être exécuté sur un serveur Linux et accessible à partir de php?

Répondre

1

l'approche la plus simple serait les jetons dans MySQL mais je ne sais pas comment cela fonctionne.

Si vous souhaitez classer le texte en catégories span/non-spam, je pense que Mahout est un bon choix. Il est construit pour BigData et nécessite donc, si vous voulez map/reduce, une configuration Hadoop - mais il y a aussi une alternative légère que vous pourriez probablement utiliser: le LogisticRegression Algorithm dans Mahout.

Il y a un ModelSerializer classe avec laquelle vous pouvez stocker votre modèle formé au format binaire sur votre disque dur ou ailleurs - de sorte que vous ne devez pas configurer Hadoop.

Vous pouvez essayer:

<dependency> 
    <groupId>org.apache.mahout</groupId> 
    <artifactId>mahout-examples</artifactId> 
    <version>0.6</version> 
</dependency> 

Il y a la classe suivante, vous pouvez l'utiliser comme un exemple de code pour votre problème:

org.apache.mahout.classifier.sgd.TrainNewsGroups 

Here encore plus de ressources en ce qui concerne Mahout sur le web. Donc, pour y accéder à partir de PHP, vous pouvez créer un petit service Web RESTful en Java ou simplement une interface de ligne de commande.

Espérons que cela aide un peu.

Questions connexes