การระบุป้ายกำกับและการเตรียมข้อมูลสำหรับการเทรน
หลังจากเก็บรวบรวมข้อมูลแล้ว ขั้นตอนต่อไปคือการระบุป้ายกำกับ (annotate) ข้อมูลในรูปแบบที่โมเดล spaCy ต้องการ ในแบบฝึกหัดนี้ จะได้ฝึกสร้างระเบียนข้อมูลที่ระบุป้ายกำกับในรูปแบบที่ถูกต้องสำหรับงาน NER ในโดเมนทางการแพทย์
มี sentence และเอนทิตีสองตัวให้ใช้งาน ได้แก่ entity_1 ซึ่งมีข้อความว่า chest pain และประเภทเป็น SYMPTOM และ entity_2 ซึ่งมีข้อความว่า hyperthyroidism และประเภทเป็น DISEASE
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การประมวลผลภาษาธรรมชาติด้วย spaCy
คำแนะนำการฝึกหัด
- กรอกข้อมูลใน
annotated_dataให้ถูกต้องตามรูปแบบที่กำหนด - ดึงตำแหน่งอักขระเริ่มต้นและสิ้นสุดของแต่ละเอนทิตี แล้วเก็บไว้ในตัวแปรที่สอดคล้องกัน
- เก็บประโยค input เดิมพร้อมเอนทิตีในรูปแบบการเทรนที่ถูกต้องเป็น
training_data
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
text = "A patient with chest pain had hyperthyroidism."
entity_1 = "chest pain"
entity_2 = "hyperthyroidism"
# Store annotated data information in the correct format
annotated_data = {"sentence": ____, "entities": [{"label": "SYMPTOM", "value": ____}, {"label": "DISEASE", "value": ____}]}
# Extract start and end characters of each entity
entity_1_start_char = text.____(____)
entity_1_end_char = entity_1_start_char + len(____)
entity_2_start_char = text.____(____)
entity_2_end_char = entity_2_start_char + len(____)
# Store the same input information in the proper format for training
training_data = [(____, {"entities": [(____,____,"SYMPTOM"),
(____,____,"DISEASE")]})]
print(training_data)