내 데이터에서의 모델 성능
이 연습 문제에서는 기존 모델을 내 데이터에 대해 평가하는 방법을 연습해 봅니다. 여기서는 특정 개체 레이블 PRODUCT에 대한 모델 성능을 확인하는 것이 목표예요. 모델이 PRODUCT 개체의 높은 비율(예: 75% 이상)을 정확하게 분류할 수 있다면, PRODUCT 개체의 예시로 모델을 추가로 학습할 필요가 없습니다. 그렇지 않다면 PRODUCT 개체 예측 성능을 높이기 위해 모델 학습을 고려해야 해요.
이번 연습에서는 Amazon Fine Food Reviews 데이터셋의 두 개 리뷰를 사용합니다. 이 리뷰들은 texts 리스트로 접근할 수 있어요.
en_core_web_sm 모델은 이미 로드되어 있으며 nlp()로 호출해 사용할 수 있어요. 또한 모델이 이미 texts 리스트에 대해 실행되었고, Doc 컨테이너의 리스트인 documents가 제공됩니다.
이 연습은 강의의 일부입니다
spaCy로 배우는 자연어 처리
연습 안내
- 각
documents에 있는 모든 개체로target_entities리스트를 만들고, 개체 텍스트에Jumbo가 포함된 경우에만 (개체 텍스트, 개체 레이블) 튜플을 추가하세요. target_entities에 있는 모든 튜플에 대해, 개체 레이블(튜플의 두 번째 요소)이PRODUCT이면correct_labels리스트에True를, 그렇지 않으면False를 추가하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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)