Estou usando o Jupyter Notebook para acompanhar as aulas, escrevendo e testando cada código do projeto. No entanto, notei que duas vezes os valores apresentados na aula foram diferentes do que obtive ao executar o meu código. O primeiro foi na aula 2, no qual encontrei o valor de 403106, ao executar o código abaixo, e não 393916 como apresentado na aula.
lista_tokens = nltk.tokenize.word_tokenize(artigos)
lista_palavras = separa_palavras(lista_tokens)
print(f'O número de palavras é {len(lista_palavras)}')
Prossegui com o curso, pois notei que haviam muitas dúvidas sobre isso no fórum da aula, mas que não deram uma solução que resolvesse a questão. E na aula 7, novamente este problema ocorreu. Ao executar o código a seguir, os valores encontrados foram novamente diferentes. Enquanto obtive como resultado 691744, na aula o valor foi de 787396.
palavra = 'lóiigica' #Remover duas letras
def gerador_turbinado(palavras_geradas): #palavras geradas anteriormente
novas_palavras = []
for palavra in palavras_geradas:
novas_palavras += gerador_palavras(palavra)
return novas_palavras
palavras_g = gerador_turbinado(gerador_palavras(palavra))
"lógica" in palavras_g
len(palavras_g)
Então, baixei o arquivo do projeto da aula e executei o código conforme estava, encontrando novamente os mesmos resultados anteriores (do código que escrevi no Jupyter Notebook) e não os da aula. A única mudança que fiz foi acrescentar " encoding='utf-8' " aos parâmetros da abertura do arquivo artigo.txt, pois caso contrário, era exibida uma mensagem de erro abaixo:
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-44-1dedc2379197> in <module>
1 with open('corretor-master\\artigos.txt', 'r') as f:
----> 2 artigos = f.read()
3
4 print(artigos[:500])
~\anaconda3\lib\encodings\cp1252.py in decode(self, input, final)
21 class IncrementalDecoder(codecs.IncrementalDecoder):
22 def decode(self, input, final=False):
---> 23 return codecs.charmap_decode(input,self.errors,decoding_table)[0]
24
25 class StreamWriter(Codec,codecs.StreamWriter):
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 24719: character maps to <undefined>
Para testar se o encode seria o problema, troquei então para 'latin-1' e os resultados foram 354837 e 691744, respectivamente. Tentei pesquisar os motivos para os valores diferentes, mas não encontrei resultado. Isto estaria relacionado com o encode ou haveria outro motivo? Por que os valores encontrados são diferentes? O arquivo artigo.txt usando no vídeo da aula é o mesmo que está na aula 2 - Preparando o ambiente como os dados do curso, ou há alguma mudança entre eles?