ComeçarComece de graça

Desempenho do modelo nos seus dados

Neste exercício, você vai praticar a avaliação de um modelo existente nos seus dados. Aqui, o objetivo é analisar o desempenho do modelo em um rótulo de entidade específico, PRODUCT. Se um modelo conseguir classificar corretamente uma grande porcentagem de entidades PRODUCT (por exemplo, mais de 75%), você não precisa treinar o modelo com exemplos de entidades PRODUCT; caso contrário, vale considerar treinar o modelo para melhorar seu desempenho na predição de entidades PRODUCT.

Você usará duas resenhas do conjunto de dados Amazon Fine Food Reviews neste exercício. Você pode acessar essas resenhas usando a lista texts.

O modelo en_core_web_sm já está carregado para você. Você pode acessá-lo chamando nlp(). O modelo já foi executado sobre a lista texts e documents, uma lista de contêineres Doc, está disponível para seu uso.

Este exercício faz parte do curso

Processamento de Linguagem Natural com spaCy

Ver curso

Instruções do exercício

  • Monte uma lista target_entities com todas as entidades de cada um dos documents e acrescente uma tupla (texto da entidade, rótulo da entidade) somente se Jumbo estiver no texto da entidade.
  • Para qualquer tupla em target_entities, acrescente True a uma lista correct_labels se o rótulo da entidade (segundo atributo da tupla) for PRODUCT; caso contrário, acrescente False.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Append a tuple of (entities text, entities label) if Jumbo is in the entity
target_entities = []
for doc in ____:
  target_entities.extend([(ent.____, ent.____) for ent in doc.____ if "Jumbo" in ent.text])
print(target_entities)

# Append True to the correct_labels list if the entity label is `PRODUCT`
correct_labels = []
for ent in target_entities:
  if ____[1] == "PRODUCT":
    correct_labels.append(____)
  else:
    correct_labels.append(____)
print(correct_labels)
Editar e executar o código