FC ConcursosFC Concursos

Questão FC331228

Igor, analista de dados da CVM, escreveu e rodou o código a seguir. from nltk.corpus import stopwords from nltk.tokenize import word_tokenize texto = "Eu sou um analista de dados d

Linguagens de Programação

FGV · 2024

Igor, analista de dados da CVM, escreveu e rodou o código a seguir.


from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize


texto = "Eu sou um analista de dados da CVM!"


stop_words = set(stopwords.words('portuguese'))
tokens = word_tokenize(texto)


tokens_processados = [w for w in tokens if not w in stop_words]
print(tokens_processados)


Considerando que o código foi executado sem erros e sabendo que Igor está usando Python 3.10.12 e NLTK 3.8.1, a saída do terminal foi:

  1. ['analista', 'dados', 'CVM'];
  2. ['analista', 'dados', 'CVM', '!'];
  3. ['Eu', 'analista', 'dados', 'CVM'];
  4. ['Eu', 'analista', 'dados', 'CVM', '!'];
  5. ['Eu', 'sou', 'analista', 'dados', 'CVM', '!'].
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

O resultado impresso é ['Eu', 'analista', 'dados', 'CVM', '!']. Isso ocorre porque o código faz duas operações fundamentais: tokenização e remoção de stopwords.

Ao usar word_tokenize, o texto é dividido em tokens individuais; a pontuação ("!") vira um token separado, por isso aparece na lista final.

Em seguida, o filtro compara cada token com a lista de stopwords do NLTK em português. Essa lista está em minúsculas; a verificação é case-sensitive, então "Eu" (com inicial maiúscula) não coincide com "eu" e permanece.

Palavras como "sou", "um", "de" e "da" constam da lista de stopwords e são removidas, enquanto tokens relevantes — "analista", "dados" e "CVM" — são mantidos, gerando a saída indicada.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo