Pelatihan dengan spaCy

Pemrosesan Bahasa Alami dengan spaCy

Azadeh Mobasher

Principal Data Scientist

Langkah pelatihan

 

  1. Anotasi dan siapkan data masukan
  2. Nonaktifkan komponen pipeline lain
  3. Latih model beberapa epoch
  4. Evaluasi kinerja model
Pemrosesan Bahasa Alami dengan spaCy

Menonaktifkan komponen pipeline lain

 

  • Nonaktifkan semua komponen pipeline kecuali NER:

 

other_pipes = [pipe for pipe in nlp.pipe_names if pipe != 'ner']

nlp.disable_pipes(*other_pipes)
Pemrosesan Bahasa Alami dengan spaCy

Prosedur pelatihan model

  • Ulangi beberapa kali pada data latih; satu iterasi disebut epoch.
  • Di tiap epoch, perbarui bobot model dengan nilai kecil.
  • Optimizer memperbarui bobot model.
optimizer = nlp.create_optimizer()
losses = {}
for i in range(epochs):
  random.shuffle(training_data)

for text, annotation in training_data: doc = nlp.make_doc(text) example = Example.from_dict(doc, annotation)
nlp.update([example], sgd = optimizer, losses=losses)
Pemrosesan Bahasa Alami dengan spaCy

Menyimpan dan memuat model terlatih

 

  • Simpan model NER terlatih:
ner = nlp.get_pipe("ner")
ner.to_disk("<ner model name>")
  • Muat model yang disimpan:
    ner = nlp.create_pipe("ner")
    ner.from_disk("<ner model name>")
    nlp.add_pipe(ner, "<ner model name>")
    
Pemrosesan Bahasa Alami dengan spaCy

Model untuk inferensi

 

  • Gunakan model yang disimpan untuk inferensi.

 

  • Terapkan model NER dan simpan tuple (teks entitas, label entitas):
doc = nlp(text)
entities = [(ent.text, ent.label_) for ent in doc.ents]
Pemrosesan Bahasa Alami dengan spaCy

Ayo berlatih!

Pemrosesan Bahasa Alami dengan spaCy

Preparing Video For Download...