spaCy modellerini eğitmek için en iyi uygulamalar

spaCy ile İleri Düzey NLP

Ines Montani

spaCy core developer

Sorun 1: Modeller "unutabilir"

  • Mevcut model yeni veride aşırı uyum gösterebilir
    • Örn.: yalnızca WEBSITE ile güncellerseniz, PERSON etiketini "unutabilir"
  • Buna "katastrofik unutma" sorunu da denir
spaCy ile İleri Düzey NLP

Çözüm 1: Önceden doğru tahminleri karıştırın

  • Örneğin, WEBSITE eğitiyorsanız, PERSON örneklerini de ekleyin
  • Mevcut spaCy modelini veri üzerinde çalıştırın ve diğer ilgili varlıkları çıkarın

KÖTÜ:

TRAINING_DATA = [
    ('Reddit is a website', {'entities': [(0, 6, 'WEBSITE')]})
]

İYİ:

TRAINING_DATA = [
    ('Reddit is a website', {'entities': [(0, 6, 'WEBSITE')]}),
    ('Obama is a person', {'entities': [(0, 5, 'PERSON')]})
]
spaCy ile İleri Düzey NLP

Sorun 2: Modeller her şeyi öğrenemez

  • spaCy modelleri tahminleri yerel bağlama göre yapar
  • Karar bağlamdan zor veriliyorsa model öğrenmekte zorlanır
  • Etiket şeması tutarlı ve çok spesifik olmamalıdır
    • Örn.: CLOTHING, ADULT_CLOTHING ve CHILDRENS_CLOTHING yerine daha iyidir
spaCy ile İleri Düzey NLP

Çözüm 2: Etiket şemasını dikkatle planlayın

  • Yerel bağlamda yansıyan kategorileri seçin
  • Fazla spesifik yerine daha genel tercih edin
  • Genel etiketlerden özgül kategorilere kurallarla gidin

KÖTÜ:

LABELS = ['ADULT_SHOES', 'CHILDRENS_SHOES', 'BANDS_I_LIKE']

İYİ:

LABELS = ['CLOTHING', 'BAND']
spaCy ile İleri Düzey NLP

Haydi pratik yapalım!

spaCy ile İleri Düzey NLP

Preparing Video For Download...