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
Instruções do exercício
- Monte uma lista
target_entitiescom todas as entidades de cada um dosdocumentse acrescente uma tupla (texto da entidade, rótulo da entidade) somente seJumboestiver no texto da entidade. - Para qualquer tupla em
target_entities, acrescenteTruea uma listacorrect_labelsse o rótulo da entidade (segundo atributo da tupla) forPRODUCT; caso contrário, acrescenteFalse.
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)