Pergunta

Eu estou preso em ter que escrever um simples filtro de spam Eu realmente não estou certo sobre como eu vou fazê-lo.

Até agora eu vim com lista de palavras e filtragem de domínio, o que dará ou remover pontos, até um certo limite.

Por exemplo, se você está escrevendo sobre "v1agr4" de um domínio na lista negra, você vai ter como 2 pontos para spam, mas se você está escrevendo sobre "v1agr4" de uma conta hotmail.com, você obter apenas 1 "ponto de spam".

Vocês têm quaisquer outras sugestões / ressources?

Este é mais sobre a aprendizagem de filtros de spam do que a classe algo empresa de desenvolvimento

Foi útil?

Solução

Alguns realmente boa informação algoritmo aqui:

http://www.paulgraham.com/spam.html

http://www.paulgraham.com/better.html

Mas, sério, por que reinventar a roda?

Basta fazer o download K9: http://keir.net/k9.html

Outras dicas

Alguns projetos Java de código aberto relacionados com a Bayesian Spam Filtering (que foi mencionado por LFSR Consulting):

E um extra para C ++:

Bayesian Spam Filtering .

Eu sei perl tem uma biblioteca para isso, então eu diria que java iria ter um também.

Você pode delegar isso a um serviço distribuído. Akismet é uma solução muito boa.

Escrevendo um filtro de spam depende de suas exigências de escalabilidade.

Se você quer uma solução escalável, seguida de filtragem de conteúdo não é provavelmente a escolha mais inteligente para fazer, pois é muito CPU e memória consumindo, e você, ao invés, em vez optar por reputação baseada filtrar ou lista negra baseada filtragem, que será maneira mais CPU amigável em seu servidor, bem como muito mais fácil escrever.

Eu escrevi um um post sobre meu blog que explica a idéia por trás escrever um filtro de spam do ponto de vista de um programador e cobre todas as opções de conteúdo baseado em filtragem de lista negra baseada filtragem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top