Hiệu suất mô hình trên dữ liệu của bạn
Trong bài tập này, bạn sẽ luyện cách đánh giá một mô hình hiện có trên dữ liệu của mình. Ở đây, mục tiêu là xem xét hiệu suất mô hình trên một nhãn thực thể cụ thể, PRODUCT. Nếu một mô hình có thể phân loại chính xác tỷ lệ lớn các thực thể PRODUCT (ví dụ hơn 75%), bạn không cần huấn luyện mô hình với các ví dụ về thực thể PRODUCT; ngược lại, bạn nên cân nhắc huấn luyện mô hình để cải thiện khả năng dự đoán thực thể PRODUCT.
Bạn sẽ dùng hai bài đánh giá từ bộ dữ liệu Amazon Fine Food Reviews cho bài tập này. Bạn có thể truy cập các bài đánh giá này thông qua danh sách texts.
Mô hình en_core_web_sm đã được tải sẵn cho bạn. Bạn có thể gọi nlp() để truy cập. Mô hình cũng đã được chạy trên danh sách texts và documents — một danh sách các container Doc — đã sẵn sàng để bạn sử dụng.
Bài tập này là một phần của khóa học
Xử lý ngôn ngữ tự nhiên với spaCy
Hướng dẫn bài tập
- Tạo danh sách
target_entitiesgồm tất cả thực thể cho mỗi phần tử trongdocuments, và chỉ thêm một tuple (văn bản thực thể, nhãn thực thể) nếuJumboxuất hiện trong văn bản thực thể. - Với mọi tuple trong
target_entities, thêmTruevào danh sáchcorrect_labelsnếu nhãn thực thể (thuộc tính thứ hai trong tuple) làPRODUCT, nếu không thì thêmFalse.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)