bogofilter-bdb - Online na nuvem

Este é o comando bogofilter-bdb que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online Windows ou emulador online MAC OS

PROGRAMA:

NOME


bogofilter - filtro de spam Bayesiano rápido

SINOPSE


bogofiltro [opções de ajuda | opções de classificação | opções de registro |
opções de parâmetro | opções de informações] [opções gerais] [opções do arquivo de configuração]

onde

ajudar opções como:

[-h] [--ajuda] [-V] [-Q]

classificação opções como:

[-p] [-e] [-t] [-T] [-u] [-H] [-M] [-b] [-B objeto ...] [-R] [opções gerais]
[opções de parâmetro] [opções de arquivo de configuração]

inscrição opções como:

[-s | -n] [-S | -N] [opções gerais]

geral opções como:

[-c nome do arquivo] [-CD dir] [-k tamanho da memória cache] [-l] [-L etiqueta] [-EU nome do arquivo] [-O nome do arquivo]

parâmetro opções como:

[-E valor [, valor]] [-m valor [, valor] [, valor]] [-o valor [, valor]]

info opções como:

[-v] [-y dados] [-D] [-x bandeiras]

configuração lima opções como:

[-opção = valor]

Nota: Use bogofiltro --Socorro para exibir a lista completa de opções.

DESCRIÇÃO


Bogofilter é um filtro de spam Bayesiano. Em seu modo normal de operação, ele recebe um e-mail
mensagem ou outro texto na entrada padrão, faz uma verificação estatística em relação às listas de "boas"
e palavrões e retorna um código de status indicando se a mensagem é ou não spam.
Bogofilter é projetado com um algoritmo rápido, usa o Berkeley DB para inicialização rápida e
pesquisas, codificadas diretamente em C e ajustadas para velocidade, para que possam ser usadas para produção por
sites que processam muitos emails.

TEORIA OF OPERAÇÃO


Bogofilter trata sua entrada como um saco de tokens. Cada token é verificado em relação a uma lista de palavras,
que mantém contagens do número de vezes que ocorreu em e-mails não-spam e spam.
Esses números são usados ​​para calcular uma estimativa da probabilidade de uma mensagem na qual
o token ocorre é spam. Eles são combinados para indicar se a mensagem é spam ou
presunto.

Embora este método pareça bruto em comparação com a abordagem mais comum de correspondência de padrões,
acaba sendo extremamente eficaz. Papel de Paul Graham A Planejamento Para a Spam[1] é recomendado
leitura.

Este programa melhora substancialmente a proposta de Paul ao fazer uma análise lexical mais inteligente.
Bogofilter faz decodificação MIME adequada e uma análise de HTML razoável. Tipos especiais de
tokens como nomes de host e endereços IP são mantidos como recursos de reconhecimento, em vez de
quebrado. Vários tipos de dados MTA, como datas e IDs de mensagens, são ignorados para não
para aumentar a lista de palavras. Os tokens encontrados em vários campos de cabeçalho são marcados apropriadamente.

Outra melhoria é que este programa oferece modificações sugeridas por Gary Robinson para
os cálculos (veja os parâmetros robx e robs abaixo). Essas modificações são
descrito no artigo de Robinson Spam Detecção[2].

Desde então, Robinson (veja seu artigo no Linux Journal A Estatístico Abordagem para da Spam
Problema[3]) e outros perceberam que o cálculo pode ser ainda mais otimizado usando
Método de Fisher. Outro contínua[4] compensa a redundância de token aplicando
separar fatores de tamanho efetivo (ESF) para cálculos de probabilidade de spam e não spam.

Resumindo, é assim que funciona: As estimativas para as probabilidades de spam do indivíduo
tokens são combinados usando a "função qui-quadrado inversa". Seu valor indica o quão mal
a hipótese nula de que a mensagem é apenas uma coleção aleatória de palavras independentes com
probabilidades dadas por nossas estimativas anteriores falham. Esta função é muito sensível a
pequenas probabilidades (palavras hammish), mas não para altas probabilidades (palavras spammish); tão
o valor indica apenas sinais fortes de hammish em uma mensagem. Agora usando o inverso
probabilidades para os tokens, o mesmo cálculo é feito novamente, dando um indicador que
uma mensagem parece fortemente spam. Finalmente, esses dois indicadores são subtraídos (e
dimensionado em um intervalo de 0-1). Este indicador combinado (bogosidade) é próximo a 0 se os sinais
para uma mensagem hammish são mais fortes do que para uma mensagem spammish e perto de 1 se o
situação é o contrário. Se os sinais para ambos forem igualmente fortes, o valor será
perto de 0.5. Uma vez que essas mensagens não dão uma indicação clara, há um modo tristato em
bogofilter para marcar essas mensagens como incertas, enquanto as mensagens claras são marcadas como spam
ou presunto, respectivamente. No modo de dois estados, todas as mensagens são marcadas como spam ou spam.

Vários parâmetros influenciam esses cálculos, os mais importantes são:

robx: a pontuação dada a um token que não viu antes. robx é a probabilidade de que
o token é spammish.

robs: um peso no robx que move a probabilidade de um pequeno símbolo visto em direção ao robx.

min-dev: uma distância mínima de 5 para tokens para usar no cálculo. Apenas tokens
mais longe de 0.5 do que este valor são usados.

spam-cutoff: mensagens com pontuação maior ou igual a serão marcadas como spam.

ham-cutoff: Se zero ou spam-cutoff, todas as mensagens com valores estritamente abaixo do spam-cutoff
são marcados como ham, todos os outros como spam (dois estados). Outros valores menores ou iguais a
ham-cutoff são marcados como ham, mensagens com valores estritamente entre ham-cutoff e
corte de spam são marcados como incertos; o resto como spam (tristate)

sp-esf: o fator de tamanho efetivo (ESF) para spam.

ns-esf: o ESF para não spam. Esses valores ESF são padronizados para 1.0, que é o mesmo que não
usando ESF no cálculo. Os valores adequados para a população de e-mail de um usuário podem ser
determinado com a ajuda do programa bogotune.

OPÇÕES


OPÇÕES DE AJUDA

O -h opção imprime a mensagem de ajuda e sai.

O -V opção imprime o número da versão e sai.

O -Q (consulta) opção imprime a configuração do bogofilter, ou seja, parâmetros de registro,
opções de análise, diretório bogofilter, etc.

OPÇÕES DE CLASSIFICAÇÃO

O -p (passthrough) opção produz a mensagem com uma linha X-Bogosity no final do
cabeçalho da mensagem. Isso requer manter toda a mensagem na memória quando for lida de
stdin (ou de um tubo ou soquete). Se a mensagem for lida de um arquivo que pode ser rebobinado,
o bogofilter o lerá uma segunda vez.

O -e opção (incorporar) diz ao bogofilter para sair com o código 0 se a mensagem puder ser
classificado, ou seja, se não houver um erro. Normalmente o bogofilter usa códigos diferentes para
spam, spam e classificações incertas, mas isso simplifica o uso de bogofilter com procmail
ou maildrop.

O -t A opção (concisa) diz ao bogofilter para imprimir uma mensagem abreviada de spamicidade
contendo 1 letra e a pontuação. O spam é indicado com "Y", ham com "N" e inseguro com
"VOCÊ". Nota: a formatação pode ser personalizada usando o arquivo de configuração.

O -T fornece um modo conciso invariável para uso dos scripts. o bogofilter irá imprimir um
mensagem abreviada de espamicidade contendo 1 letra e a pontuação. Spam é indicado com
"S", ham por "H" e inseguro por "U".

O -TT fornece um modo conciso invariável para uso dos scripts. Bogofilter imprime apenas o
pontuação e exibe-o até 16 dígitos significativos.

O -u opção diz ao bogofilter para registrar o texto da mensagem após classificá-la como spam
ou não é spam. Uma mensagem de spam será registrada na lista de spam e uma mensagem não spam em
a boa lista. Se a classificação for "incerta", a mensagem não será registrada.
Efetivamente, esta opção executa o bogofilter com o -s or -n bandeira, conforme apropriado. Cuidado é
incentivados no uso desse recurso, pois quaisquer erros de classificação que o bogofilter possa cometer
serão preservados e se acumularão até que sejam corrigidos manualmente com o -Sn e -Ns opção
combinações. Observe que esta opção faz com que o banco de dados seja aberto para acesso de gravação, o que
pode acarretar lentidão massiva por meio de contenção de bloqueio e operações de E / S síncronas.

O -H opção diz ao bogofilter para não marcar tokens do cabeçalho. Esta opção é para
teste, você não deve usá-lo em operação normal.

O -M opção diz ao bogofilter para processar sua entrada como um arquivo formatado mbox. Se o -v or
-t também for fornecida, uma linha de spamicity será impressa para cada mensagem.

O -b (modo de streaming em massa) diz ao bogofilter para classificar vários objetos cujo
nomes são lidos de stdin. Se o -v or -t opção também é fornecida, o bogofilter imprimirá um
linha que fornece o nome do arquivo e as informações de classificação de cada arquivo. Esta é uma alternativa
para -B que lista objetos na linha de comando.

Um objeto neste contexto deve ser um maildir (autodetectado), ou se não for um maildir, um
único correio a menos -M é fornecido - nesse caso, é processado como mbox. (O comprimento do conteúdo:
o cabeçalho não é levado em consideração atualmente.)

Ao ler o formato mbox, o bogofilter depende da linha vazia após um e-mail. Se necessário,
email -es irá garantir que este seja o caso.

O -B objeto ... (modo em massa) opção diz ao bogofilter para classificar vários objetos nomeados
na linha de comando. Os objetos podem ser nomes de arquivos (para mensagens únicas), caixas de correio (arquivos
com várias mensagens) ou diretórios (de formato maildir e MH). Se o -v or -t opção
também é fornecido, o bogofilter imprimirá uma linha com o nome e a classificação do arquivo
informações para cada arquivo. Esta é uma alternativa para -b que lista objetos em stdin.

O -R opção diz ao bogofilter para produzir um quadro de dados R em formato de texto no padrão
saída. Consulte a seção sobre integração com R, abaixo, para obter mais detalhes.

OPÇÕES DE INSCRIÇÃO

O -s opção diz ao bogofilter para registrar o texto apresentado como spam. O banco de dados é
criado se ausente.

O -n opção diz ao bogofilter para registrar o texto apresentado como não-spam.

Bogofilter não detecta se uma mensagem foi registrada duas vezes. Se você fizer isso por acidente, o
a contagem de tokens diminuirá em 1 em relação ao que você realmente deseja e as pontuações de spam correspondentes
ficará ligeiramente apagado. Dado um grande número de tokens e mensagens na lista de palavras, este
não importa. O problema pode ser corrigido usando o -S opção ou o -N opção.

O -S A opção diz ao bogofilter para desfazer um registro anterior da mesma mensagem como spam.
Se uma mensagem foi inserida incorretamente como spam por -s or -u e você deseja removê-lo e
insira-o como não-spam, use -Sn. Se -S é usado para uma mensagem que não foi registrada como spam,
as contagens ainda serão diminuídas.

O -N opção diz ao bogofilter para desfazer um registro anterior da mesma mensagem como
não é spam. Se uma mensagem foi inserida incorretamente como não-spam por -n or -u e você quer
remova-o e insira-o como spam e, em seguida, use -Ns. Se -N é usado para uma mensagem que não era
registrado como não-spam, as contagens ainda serão diminuídas.

OPÇÕES GERAIS

O -c nome do arquivo opção diz ao bogofilter para ler o arquivo de configuração chamado.

O -C opção impede que o bogofilter leia os arquivos de configuração.

O -d dir opção permite que você defina o diretório para o banco de dados. Veja o MEIO AMBIENTE
seção para outras opções de configuração de diretório.

O -k tamanho da memória cache opção define o tamanho do cache para o subsistema BerkeleyDB, em unidades de 1
MiB (1,048,576 bytes). O dimensionamento adequado do cache melhora o desempenho do bogofilter. o
o tamanho recomendado é um terço do tamanho do arquivo de banco de dados. Você pode executar o bogotune
script (no diretório de ajuste) para determinar o tamanho recomendado.

O -l A opção grava uma linha informativa no log do sistema cada vez que o bogofilter é executado.
As informações registradas dependem de como o bogofilter é executado.

O -L etiqueta opção configura uma etiqueta que pode ser incluída na informação a ser registada
pelo -l opção, mas requer um formato personalizado que inclui a string% l por enquanto.
Esta opção implica -l.

O -I nome do arquivo opção diz ao bogofilter para ler sua entrada do arquivo especificado, em vez
do que de stdin.

O -O nome do arquivo opção informa ao bogofilter onde gravar sua saída no modo de passagem.
Observe que isso só funciona quando -p é fornecido explicitamente.

OPÇÕES DE PARÂMETRO

O -E valor [, valor] opção permite definir o valor sp-esf e o valor ns-esf. Com dois
valores, sp-esf e ns-esf são definidos. Se apenas um valor for fornecido, os parâmetros são definidos como
descrito na nota abaixo.

O -m valor [, valor] [, valor] opção permite definir o valor min-dev e, opcionalmente, o
rouba e valores robx. Com três valores, min-dev, robs e robx estão todos configurados. Se menos
os valores são fornecidos, os parâmetros são definidos conforme descrito na nota abaixo.

O -o valor [, valor] opção permite definir os valores de corte de presunto de corte de spam. Com dois
valores, tanto spam-cutoff quanto ham-cutoff são definidos. Se apenas um valor for fornecido, os parâmetros
são definidos conforme descrito na nota abaixo.

Observação: todas essas opções permitem que menos valores sejam fornecidos. Os valores podem ser ignorados por
usando apenas o delimitador de vírgula, caso em que os parâmetros correspondentes não serão
mudado. Se apenas o primeiro valor for fornecido, apenas o primeiro parâmetro será definido.
Os valores finais podem ser ignorados, caso em que os parâmetros correspondentes não serão
mudado. Na lista de parâmetros, espaços não são permitidos após vírgulas.

OPÇÕES DE INFORMAÇÕES

O -v A opção produz um relatório para a saída padrão na análise da entrada do bogofilter.
Cada adicional v aumentará o detalhamento da saída, até um máximo de 4. Com
-vv, o relatório lista os tokens com maior desvio de uma média de 0.5 associação
com spam.

Opção -y dados pode ser usado para substituir a data atual ao registrar a data e hora dos tokens. Um valor
de zero (0) desativa o carimbo de data / hora.

O -D opção redireciona a saída de depuração para stdout.

O -x bandeiras opção permite definir sinalizadores de depuração para imprimir informações de depuração. Ver
arquivo de cabeçalho debug.h para a lista de sinalizadores utilizáveis.

OPÇÕES DE CONFIGURAÇÃO DE ARQUIVOS

Usando GNU longopt -- sintaxe, um arquivo de configuração nome = valor declaração torna-se uma linha de comando
--opção = valor. Use o comando bogofiltro --Socorro para uma lista de opções e veja
bogofilter.cf.example para obter mais informações sobre eles. Por exemplo, para alterar o cabeçalho X-Bogosity
para "X-Spam-Header", use:

--spam-header-name = X-Spam-Header

MEIO AMBIENTE


Bogofilter usa um diretório de banco de dados, que pode ser definido no arquivo de configuração. Se não for definido
lá, o bogofilter usará o valor de BOGOFILTER_DIR. Ambos podem ser substituídos pelo -d
dir opção. Se nada disso estiver disponível, o bogofilter usará o diretório $ HOME / .bogofilter.

CONFIGURAÇÃO


A linha de comando do bogofilter permite a configuração de muitas opções que determinam como o bogofilter
opera. O arquivo /etc/bogofilter.cf pode ser usado para definir parâmetros adicionais que afetam seu
Operação. O arquivo /etc/bogofilter.cf.example contém amostras de todos os parâmetros. Status
e as mensagens de registro podem ser personalizadas para cada site.

RETORNO VALORES


0 para spam; 1 para não-spam; 2 para inseguro; 3 para E / S ou outros erros.

Se ambos -p e -e são usados, os valores de retorno são: 0 para spam ou não spam; 3 para I / O ou
outros erros.

O erro 3 geralmente significa que o arquivo de lista de palavras que o bogofilter deseja ler na inicialização é
faltando ou o disco rígido está cheio -p modo.

INTEGRAÇÃO COM OUTROS FERRAMENTAS


Use com procmail

A seguinte receita (a) separa tudo que bogofilter classifica como spam, (b) registra
as palavras nas mensagens classificadas como spam, e (c) registra as palavras nas mensagens classificadas
como não spam propriamente dito. Com isso instalado, normalmente só será necessário para o usuário
para intervir (com -Ns or -Sn) quando o bogofilter categoriza incorretamente algo.

# filtrar e-mails por meio de bogofilter, marcando-os como presunçosos, spam ou inseguros,
# e atualizando a lista de palavras

: 0fw
| filtro bogo -u -e -p

# se o bogofilter falhar, retorne o e-mail para a fila;
# o MTA tentará entregá-lo novamente mais tarde
# 75 é o valor para EX_TEMPFAIL em /usr/include/sysexits.h

: 0e
{EXITCODE = 75 HOST}

# arquivar o e-mail para spam-bogofilter se for spam.

: 0:
* ^ X-Bogosity: Spam, testes = bogofilter
filtro de spam

# arquivar o e-mail para o inseguro-bogofilter
# se não for spam nem spam.

: 0:
* ^ X-Bogosity: Não tenho certeza, testes = bogofilter
inseguro-bogofilter

# Com esta receita, você pode treinar bogofilter começando com um vazio
# lista de palavras. Certifique-se de verificar sua pasta insegura regularmente, pegue o
# mensagens fora dele, classifique-as como ham (ou spam) e use-as para
# trem bogofilter.

A seguinte regra do procmail irá pegar o e-mail no stdin e salvá-lo no arquivo de spam se o bogofilter
pensa que é spam:

: 0HB:
*? bogofilter
Spam

e esta regra semelhante também registrará os tokens no correio de acordo com o
classificação do bogofilter:

: 0HB:
*? bogofilter -u
Spam

Se o bogofilter falhar (retornando 3), a mensagem será tratada como não-spam.

Este é para maildrop, ele automaticamente adia o e-mail e tenta novamente mais tarde, quando o
O comando xfilter falha, use-o em seu ~ / .mailfilter:

xfilter "bogofilter -u -e -p"
if (/ ^ X-Bogosity: Spam, testes = bogofilter /)
{
para "spam-bogofilter"
}

As seguintes linhas .muttrc criarão macros mutt para enviar mensagens para o bogofilter.

índice macro d " não definir wait_key \ n
bogofilter -n \ n
definir wait_key \ n
"" deletar mensagem como não spam "
índice macro \ ed " não definir wait_key \ n
bogofilter -s \ n
definir wait_key \ n
"" deletar mensagem como spam "

Integração com Agente de Transporte de Correio (MTA)

1. O bogofilter também pode ser integrado a um MTA para filtrar todos os e-mails recebidos. Enquanto o
implementação específica é dependente do MTA, as etapas gerais são as seguintes:

2. Instale o bogofilter no servidor de e-mail

3. Prepare os bancos de dados do bogofilter com um corpus de spam e não spam. Uma vez que o bogofilter irá
estar servindo a uma comunidade maior, é importante prepará-la com um conjunto representativo
de mensagens.

4. Configure o MTA para invocar o bogofilter em cada mensagem. Embora este seja um MTA específico
etapa, você provavelmente precisará usar o -p, -u e -e opções.

5. Configure um mecanismo para que os usuários registrem mensagens de spam / não spam, bem como para corrigir
classificações erradas. A solução mais genérica é configurar endereços de e-mail de alias para
quais usuários devolvem mensagens.

6. Consulte os diretórios doc e contrib para obter mais informações.

Uso de R para verificar os cálculos do bogofilter

A opção -R diz ao bogofilter para gerar um quadro de dados R. O quadro de dados contém um
linha por token analisado. Cada uma dessas linhas contém o token, a soma de seu banco de dados "bom"
e contagens de "spam", a contagem "boa" dividida pelo número de mensagens não-spam usadas para
criar o banco de dados de treinamento, a contagem de "spam" dividida pela contagem de mensagens de spam,
F (w) de Robinson para o token, os logs naturais de (1 - f (w)) e f (w) e um indicador
caractere (+ se o valor f (w) do token excedeu o desvio mínimo de 0.5, - se
não fez). Há uma linha adicional no final da tabela que contém um rótulo no
campo de token, seguido pelo número de palavras realmente usadas (aquelas com + indicadores),
Valores de P, Q, S, s e x de Robinson e o desvio mínimo.

O quadro de dados R pode ser salvo em um arquivo e depois lido em uma sessão R (ver da R
projeto site do produto[5] para informações sobre o pacote matemático R). Fornecido com o
A distribuição do bogofilter é um script R simples (arquivo bogo.R) que pode ser usado para verificar
cálculos do bogofilter. As instruções para seu uso estão incluídas no script no formulário
de comentários.

LOG MENSAGENS


Bogofilter grava mensagens no log do sistema quando o -l opção é usada. O que está escrito
depende de quais outros sinalizadores são usados.

Uma corrida de classificação irá gerar (não estamos mostrando a data e parte do host aqui):

bogofiltro [1412]: X-Bogosidade: Presunto, espamicidade = 0.000227
bogofilter [1415]: X-Bogosity: Spam, spamicity = 0.998918

utilização -u para classificar uma mensagem e atualizar uma lista de palavras produzirá (uma por linha):

bogofilter [1426]: X-Bogosity: Spam, spamicity = 0.998918,
registrar -s, 329 palavras, 1 mensagens

Registrando palavras (-l e -s, -n, -S, ou -N) vai produzir:

bogofilter [1440]: registrador-n, 255 palavras, 1 mensagens

Uma execução de registro (usando -s, -n, -N, ou -S) irá gerar mensagens como:

bogofilter [17330]: registrador-n, 574 palavras, 3 mensagens
bogofilter [6244]: registradores, 1273 palavras, 4 mensagens

Use bogofilter-bdb online usando serviços onworks.net



Programas online mais recentes para Linux e Windows