1
resposta

[Dúvida] Avaliação da resposta sobre o desafio da tokenização

Olá,

Tudo bem?

Esta forma de resolução que desenvolvi está correta?

# Transformação em letras minúsculas e remoção de caracteres especiais (regex) e atribuição das alterações para o dataframe:
dados["descricao_vizinhanca"] = dados["descricao_vizinhanca"].str.lower().replace(r'[^\w\s]', ' ', regex=True)

# Tokenização de strings (divisão dos elementos textuais da lista)
dados["descricao_vizinhanca"] = dados["descricao_vizinhanca"].str.split()

Obrigada.

1 resposta

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