Olá, Marina! Tudo bem?
Vamos dar uma olhada nos passos que você seguiu:
Você utilizou str.lower() para transformar todo o texto em letras minúsculas, o que é uma prática comum para normalizar os dados textuais. Além disso, a expressão regular r'[^\w\s]' é usada para remover caracteres especiais, substituindo-os por um espaço. Isso ajuda a limpar o texto e preparar para a tokenização.
Com str.split(), você está dividindo o texto em palavras (tokens) com base nos espaços, o que é exatamente o que se espera para a tokenização básica.
Seu código está seguindo os passos ensinados e cumpre o objetivo de transformar e tokenizar a coluna descricao_vizinhanca.
Ademais, vou deixar a solução da pessoa instrutora aqui, que foi essa:
# Transformamos o texto em letras minúsculas
dados['descricao_vizinhanca'] = dados['descricao_vizinhanca'].str.lower()
# Substituimos os caractere especiais
dados['descricao_vizinhanca'] = dados['descricao_vizinhanca'].str.replace('[^a-zA-Z0-9\-\']', ' ', regex=True)
dados['descricao_vizinhanca'] = dados['descricao_vizinhanca'].str.replace('(?<!\w)-(?!\w)', '', regex=True)
# Transformamos o texto em lista, formando o token
dados['descricao_vizinhanca'] = dados['descricao_vizinhanca'].str.split()
dados.head()
Recomendo que você compare o resultado dos dois algoritmos, seu e da pessoa instrutora. Se os resultados forem os mesmos, pode ficar despreocupada!
Espero ter ajudado e fico à disposição se precisar.
Abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado