spaCy ile eğitim

spaCy ile Natural Language Processing

Azadeh Mobasher

Principal Data Scientist

Eğitim adımları

 

  1. Girdiyi açıklayın ve hazırlayın
  2. Diğer boru hattı bileşenlerini devre dışı bırakın
  3. Modeli birkaç epoch için eğitin
  4. Modeli değerlendirin
spaCy ile Natural Language Processing

Diğer boru hattı bileşenlerini devre dışı bırakma

 

  • NER dışındaki tüm boru hattı bileşenlerini devre dışı bırakın:

 

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

nlp.disable_pipes(*other_pipes)
spaCy ile Natural Language Processing

Model eğitim süreci

  • Eğitim setini birkaç kez dolaşın; her yineleme bir epoch’tur.
  • Her epoch’ta modelin ağırlıklarını küçük bir miktar güncelleyin.
  • Optimizasyon algoritmaları ağırlıkları günceller.
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)
spaCy ile Natural Language Processing

Eğitilmiş modeli kaydetme ve yükleme

 

  • Eğitilmiş bir NER modelini kaydedin:
ner = nlp.get_pipe("ner")
ner.to_disk("<ner model name>")
  • Kaydedilen modeli yükleyin:
    ner = nlp.create_pipe("ner")
    ner.from_disk("<ner model name>")
    nlp.add_pipe(ner, "<ner model name>")
    
spaCy ile Natural Language Processing

Çıkarım için model

 

  • Çıkarımda kaydedilmiş bir modeli kullanın.

 

  • NER modelini uygulayın ve (varlık metni, varlık etiketi) çiftlerini saklayın:
doc = nlp(text)
entities = [(ent.text, ent.label_) for ent in doc.ents]
spaCy ile Natural Language Processing

Haydi pratik yapalım!

spaCy ile Natural Language Processing

Preparing Video For Download...