เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ฝึกโมเดล spaCy จากศูนย์

spaCy มีแนวทางที่สะอาดและมีประสิทธิภาพสูงสำหรับการฝึกโมเดลของคุณเอง ในแบบฝึกหัดนี้ จะฝึกโมเดล NER จากศูนย์บน corpus จริง (ข้อมูล CORD-19)

ข้อมูลสำหรับการฝึกมีให้ในรูปแบบที่ถูกต้องแล้วในตัวแปร training_data ในแบบฝึกหัดนี้ จะใช้รายการ label ที่กำหนดไว้ ("Pathogen", "MedicalCondition", "Medicine") ซึ่งเก็บอยู่ใน labels โดยใช้โมเดลภาษาอังกฤษเปล่า (nlp) ที่มี NER component จากนั้นจะเพิ่ม labels ทางการแพทย์ที่ต้องการเข้าไปใน NER pipeline แล้วฝึกโมเดลเป็นเวลา 1 epoch สามารถใช้คลาส Example ที่ import ไว้แล้วในการแปลงข้อมูลสำหรับการฝึกให้อยู่ในรูปแบบที่ต้องการ และเพิ่มรายการ losses เข้าไปในเมธอด .update() เพื่อติดตามการฝึกโมเดลและตรวจสอบค่า training loss ได้

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การประมวลผลภาษาธรรมชาติด้วย spaCy

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างโมเดล spaCy เปล่าและเพิ่ม NER component เข้าไปในโมเดล
  • ปิดการใช้งาน pipeline component อื่น ๆ ใช้ออบเจกต์ optimizer ที่สร้างไว้ และอัปเดตค่าน้ำหนักของโมเดลโดยใช้ข้อมูลที่แปลงเป็นรูปแบบ Example แล้ว

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Load a blank English model, add NER component, add given labels to the ner pipeline
nlp = spacy.____("____")
ner = nlp.____("ner")
for ent in labels:
    ner.add_label(ent)

# Disable other pipeline components, complete training loop and run training loop
other_pipes = [____ for pipe in nlp.____ if ____ != "____"]
nlp.disable_pipes(*____)
losses = {}
optimizer = nlp.begin_training()
for text, annotation in training_data:
    doc = nlp.____(text)
    example = Example.____(doc, annotation)
    nlp.____([example], sgd=____, losses=losses)
    print(losses)
แก้ไขและรันโค้ด