2009-07-21 12 views
2

J'ai un processus qui itère les instances de chaîne. Chaque itération effectue peu d'opérations sur l'occurrence String. A la fin, l'instance String est conservée.Le moyen le plus simple de vérifier si une instance de chaîne Java peut contenir des données de spam

Maintenant, je veux ajouter pour chaque itération une vérification si l'instance de String peut être un spam. Il me suffit de vérifier que l'instance String n'est pas un spam «adult materials».

Des recommandations?

Répondre

4

Ceci est un très difficile problème que l'industrie essaie constamment de résoudre. La meilleure chose à faire pour vous est d'essayer d'utiliser une solution existante telle que Classifier4J avec une source de données de liste noire pour identifier le spam.

0

Le plus simple est simplement de vérifier les mots de spam connus. Le problème ici est qu'il est facile d'obtenir des faux positifs avec des mots qui signifient des choses différentes dans des contextes différents. Vous devez soit choisir manuellement la liste de mots et inclure seulement ceux qui n'ont aucune raison légitime, ou opter pour une solution plus lourde.

2

Vous devez appliquer une certaine logique bayésienne, qui est, entre autres, Classifier4J qu'Andrew a mentionné sous les couvertures.

Paul Graham a écrit un bon article à ce sujet il y a quelques années - http://www.paulgraham.com/spam.html.

1

Vous pouvez essayer d'écrire votre propre classificateur, mais si vous avez un accès réseau garanti, pourquoi ne pas utiliser Akismet and the Java bindings? C'est plutôt bon pour trouver du spam.

Vous devez prendre en compte la connectivité réseau et les licences.