MulaiMulai sekarang secara gratis

Melatih model spaCy dari awal

spaCy menyediakan pendekatan yang sangat rapi dan efisien untuk melatih model Anda sendiri. Pada latihan ini, Anda akan melatih model NER dari awal menggunakan korpus dunia nyata (data CORD-19).

Data pelatihan sudah tersedia dalam format yang benar sebagai training_data. Dalam latihan ini, Anda akan menggunakan daftar label yang diberikan ("Pathogen", "MedicalCondition", "Medicine") yang tersimpan dalam labels dengan model bahasa Inggris kosong (nlp) yang memiliki komponen NER. labels medis yang ditargetkan akan ditambahkan ke pipeline NER dan kemudian Anda dapat melatih model selama satu epoch. Anda dapat menggunakan kelas Example yang sudah diimpor untuk mengonversi data pelatihan ke format yang diperlukan. Untuk memantau pelatihan model, Anda dapat menambahkan daftar losses ke metode .update() dan meninjau nilai kerugian pelatihan.

Latihan ini adalah bagian dari kursus

Pemrosesan Bahasa Alami dengan spaCy

Lihat Kursus

Petunjuk latihan

  • Buat model spaCy kosong dan tambahkan komponen NER ke model tersebut.
  • Nonaktifkan komponen pipeline lainnya, gunakan objek optimizer yang dibuat, dan perbarui bobot model menggunakan data yang telah dikonversi ke format Example.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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)
Edit dan Jalankan Kode