-2
good night.
I am studying dictionaries, I have developed the following algorithm for word accounting in articles contained in TXT’s files and display of more frequent words, but I am not able to perform prepositions removal in the count, thus, it becomes ineffective, for I always find words like ( A, even, of, the, and ...)
Note: I was able to remove scores, however, it is not working for characters and words.
def converte_texto(texto):
pontuacao = ['.', ',', ':', ';', '!', '?', '"','(', ')','DE','A','a','para','do','o','O','Em','em']
novo_texto = ''.join(c for c in texto if c not in pontuacao).upper()
lista = novo_texto.split()
return lista
def palavras(texto):
contagem = dict()
for palavra in texto :
contagem[palavra] = contagem.get(palavra, 0) + 1
return contagem
def mais_comum(texto):
frequencias = texto.values()
maior = max(frequencias)
palavras = []
for chave in texto:
if texto[chave] == maior:
palavras.append(chave)
return (palavras, maior)
def palavras_mais_frequentes(texto, min_vezes):
resultado = []
fim = False
while not fim :
temp = mais_comum( texto )
if temp[1] >= min_vezes :
resultado.append(temp)
for palavra in temp[0]:
del( texto[ palavra ] )
else :
fim = True
return resultado
def abrir_arquivo(nome):
pontuacao = ['.', ',', ':', ';', '!', '?', '"','(', ')','DE','A','a','para','do','o','O','Em','em']
texto = open(nome, 'r')
texto = texto.read()
texto_final = ''.join(c for c in texto if c not in pontuacao).upper()
lista = texto_final.split()
return lista
lista = abrir_arquivo('Novo Rodizio - G1.txt')
dicionario = palavras( lista )
print("Palavra Mais Comum Fonte - G1 : ", mais_comum( dicionario ) )
print( )
print("Palavras Mais Frequentes Fonte G1: ", palavras_mais_frequentes( dicionario, 10 ) )
print( )