- Danrley Lima
- Lucas Morais
O banco de palavras original recebe todas as palavras do Corpus da Língua Portuguesa Brasileira, resultando em 3756236 palavras diferentes. Para atender os requísitos do trabalho, foi utilizado um script em python para tratar e filtrar o arquivo.
- Separa a palavra da frequência ao encontrar um espaço em branco na linha;
- Usa um dicionário para ignorar acentos e filtrar caracteres especiais:
Obs: troca os caracteres especiais por espaço vazio '', e os hífens por um espaço em branco ' '. - Transforma qualquer letra minúscula em maiúscula;
- Remove as palavras que contenham menos de 5 letras;
- Remove as palavras com frequência menor que 10;
- Junta a frase e a frequência e separa-os por ';' e no final quebra a linha e escreve no arquivo novo:
O arquivo gerado pode ser encontrar na pasta data com o nome 'palavrasFormatadas.txt'. Optamos por filtrar as palavras com frequências menores que 10 para facilitar no uso do programa (leitura rápida do arquivo), mas não interfere em seu funcionamento.
Para melhor entendimento do objetivo do trabalho, acesse: Especificação do Trabalho 1.
-
-
Abra o terminal na pasta dos arquivos e digite:
1.mkdir build
2.cd build
3.cmake ..
4.cmake --build .
5../program ../data/palavrasFormatadas.txt ../data/scores.txt
-
↑ Repetir apenas o último comando caso já tenha executado os anteriores e queira iniciar o programa novamente ↑
-
-
- Após ter criado a pasta build e usado o 'cmake --build .', digite os seguintes comandos de testes no terminal:
- Após ter criado a pasta build e usado o 'cmake --build .', digite os seguintes comandos de testes no terminal:
-
-
./program ../data/palavras_teste.txt ../data/scores.txt
Saída esperada: <
Erro! Arquivo das palavras inexistente.
> -
Para testar o caso "Palavras com caracteres que não estejam entre [a - z|A - Z], ‘ ‘(espaço em branco) ou hífen ‘-’":
./program ../data/arquivos_testes_palavras/palavras_caracteres_invalidos.txt ../data/scores.txt
Saída esperada: <
Palavra "$OBR&" inválida na linha 3.
> -
Para testar o caso "Palavras que não tenham sua frequência correspondente, ou a frequência não seja um número inteiro positivo":
-
./program ../data/arquivos_testes_palavras/palavras_frequencia_inexistente.txt ../data/scores.txt
Saída esperada: <
A palavra "SISTEMA" na linha 25, não possui frequência.
> -
./program ../data/arquivos_testes_palavras/palavras_frequencia_negativa.txt ../data/scores.txt
Saída esperada: <
A palavra "FORAM" na linha 4, não possui frequência positiva.
>
-
-
./program ../data/arquivos_testes_palavras/palavras_menores.txt ../data/scores.txt
Saída esperada: <
Erro! A palavra TEM na linha 17 contém menos de 5 letras.
>
-
-
-
./program ../data/palavrasFormatadas.txt ../data/scores_teste.txt
Saída esperada: <
Erro! Arquivo das scores inexistente.
> -
-
Mais de 3 ';':
./program ../data/palavrasFormatadas.txt ../data/arquivos_testes_scores/scores_mais_de.txt
Saída esperada: <
Erro! Mais de 3 ';' na linha: 2
> -
Menos de 3 ';':
./program ../data/palavrasFormatadas.txt ../data/arquivos_testes_scores/scores_menos_de.txt
Saída esperada: <
Erro! Menos de 3 ';' na linha: 1
>
-
-
./program ../data/palavrasFormatadas.txt ../data/arquivos_testes_scores/scores_campo_vazio.txt
Saída esperada: <
Algum campo vazio na linha: 4
>
-