Neste trabalho os elementos que deveriam ser analisados eram:
- Caracteres isolados
- Pares de caracteres (em seqüência)
- Triplas de caracteres (também em seqüência)
Além disso, aplicam-se as seguintes restrições à análise:
- Não devem ser analisados símbolos especiais e de pontuação, ou seja, eles devem ser filtrados
ou descartados da contagem
- Devem ser analisados todos os caracteres acentuados da língua portuguesa
Código-fonte e Instruções de execução
O código-fonte do trabalho pode ser acessado através dos links abaixo:
O trabalho foi programado na linguagem Java, e portanto, pode ser compilado usando-se o compilador
javac, para compilar todos os arquivos fonte presentes no diretório src/.
Após a compilação, para executar o programa basta executar o seguinte comando:
bin> java analyser.Main ../training_portuguese_BR.txt
Tal comando irá colocar na saída padrão todas as análises realizadas: primeiramente a dos caracteres isolados,
logo após a das duplas de caracteres e por fim a das triplas. Caso você deseje obter saída relativa somente a
um tipo específico de análise, basta usar uma opção adicional na linha de comando, com a
seguinte sintaxe:
bin> java analyser.Main ../training_portuguese_BR.txt [opcao]
Onde [opcao] é uma das seguintes:
- singles: realiza análise de caracteres isolados
- pairs: realiza análise de pares de caracteres
- triples: realiza análise de triplas de caracteres
Anexos - Planilhas e gráficos
Para facilitar a interpretação dos resultados obtidos com a análise, foram criadas (a partir da saída do programa),
várias planilhas no formato ODS (OpenDocumentFormat Spreadsheet) que contém, respectivamente, os resultados para
os caracteres isolados, para as duplas e para as triplas. Em cada uma dessas planilhas também foram incluídos
gráficos em forma de colunas, os quais possibilitam uma rápida interpretação visual da análise. Não fez
parte do escopo deste trabalho a geração automática de tais planilhas a partir da execução do programa.
Abaixo estão os links para a versão HTML das planilhas de análise, incluindo os gráficos:
Possíveis limitações da análise
Este trabalho realiza uma análise que permite tirar boas estatísticas sobre a Língua Portuguesa, e tais estatísticas
são de grande valia para fazer criptoanálise por análise freqüencial. Porém, ele está longe da perfeição.
Alguns pontos que podem diminuir a validade das informações obtidas são:
- Os espaços em branco no texto original são filtrados como um pré-processamento anterior à análise. Assim,
perde-se a informação da fronteira entre palavras, o que faz com que constem da análise pares e triplas de caracteres
que não indicam a estrutura do Português
- Dígitos numéricos e letras são tratados da mesma forma. Em algumas situações, como por exemplo "13h30min", tal
tratamento faz surgir artificialmente novas duplas e/ou trios (no caso "3h" e "0m")