在你的資料上檢視模型效能
在這個練習中,你會練習如何在你的資料上評估現有模型。這裡的目標是檢視模型在特定實體標籤 PRODUCT 上的效能。如果模型能夠正確分類高比例的 PRODUCT 實體(例如超過 75%),你就不需要再用 PRODUCT 的範例來訓練模型;否則,你應該考慮進行訓練,以提升模型對 PRODUCT 實體預測的表現。
本題會使用 Amazon Fine Food Reviews 資料集中的兩則評論。你可以透過 texts 清單來存取這些評論。
en_core_web_sm 模型已為你載入,可用 nlp() 呼叫。模型也已經對 texts 清單執行過,並提供了 documents(一個由 Doc 容器組成的清單)供你使用。
本練習屬於課程
使用 spaCy 的自然語言處理
練習說明
- 建立一個
target_entities清單,對每個documents中的實體進行彙整,只有在實體文字中包含Jumbo時,才加入一個(實體文字、實體標籤)的 tuple。 - 對於
target_entities中的每個 tuple,若實體標籤(該 tuple 的第二個元素)為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)