Mulai sekarangMulai 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 merupakan bagian dari kursus

Pemrosesan Bahasa Alami dengan spaCy

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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