Hace poco escribí un filtro de spam bayesiano, utilicé Paul Graham's article Plan for Spam y an implementation of it in C# I found on codeproject como referencias para crear mi propio filtro.Cálculo de la probabilidad de que un token sea correo no deseado en un filtro de spam bayesiano
Acabo de notar que la implementación en CodeProject usa el número total de tokens únicos para calcular la probabilidad de que un token sea correo no deseado (por ejemplo, si el corpus contiene 10000 tokens en total pero 1500 tokens únicos, el 1500 se usa para calcular la probabilidad de que Ngood), pero en mi aplicación que utiliza el número de puestos como se menciona en el artículo de Paul Graham, esto hace que me pregunte lo que uno de ellos debe ser mejor en el cálculo de la probabilidad:
- post count (como se mencionó en el artículo de Paul Graham)
- Número total de tokens únicos (como se usa en la implementación en el proyecto de código)
- contador de recuento total
- total incluyó recuento de fichas (es decir. esas fichas con b + g> = 5)
- total singular incluyen el recuento símbolo
En realidad, yo no tienen una suficiente corpus grande del jamón y correo no deseado, así que es un poco difícil de prueba sin que esto .. estoy usando # 3 por ahora, ya que parece tener algún sentido para mí (que también hace que sea más fácil actualizar el corpus que utilizar el recuento de publicaciones) –
Probablemente no necesite un gran corpus para entrenar su filtro. Visite http://entrian.com/sbwiki/ TrainingIdeas para obtener un buen resumen de lo que los desarrolladores de SpamBayes han comprobado que es efectivo. – ScottS