BaşlayınÜcretsiz başlayın

spaCy'de özel bir adlandırılmış varlık oluşturma

spaCy'nin yerleşik adlandırılmış varlıkları yeterli değilse, spaCy'nin entity_ruler pipeline bileşenini kullanarak kendi varlıklarını oluşturabilirsin.

entity_ruler bileşeni, kendi varlıklarını oluşturup bir spaCy pipeline'ına eklemene olanak tanır.

Önce nlp.add_pipe() ile bileşeni mevcut pipeline'a eklersin; kendi kurallarının önce uygulanması için onu "ner" bileşeninden before olacak şekilde yerleştirirsin. add_pipe() eklediği bileşeni döndürür.

Daha sonra bileşen üzerinde add_patterns() çağırıp, varlık etiketi vermek istediğin metin pattern sözlüğünü geçebilirsin.

Acme bir teknoloji şirketi olduğundan, "smartphone" desenini "PRODUCT" varlık etiketiyle etiketlemeye karar veriyorsun.

spaCy içe aktarılmış durumda ve nlp yüklü bir en_core_web_sm modelini tutuyor. Bir pipeline'ı değiştirmek, halihazırda var olan dökümanları etkilemediğinden, yeni bileşen eklendikten sonra call_4_channel_2.wav dosyasının çözümlenmiş metninden doc'u yeniden oluşturacaksın.

Bu egzersiz, kursun bir parçasıdır

Python ile Konuşma Dili İşleme

Kursa Göz Atın

Egzersiz talimatları

  • "entity_ruler" bileşenini, "ner" bileşeninden önce olacak şekilde nlp pipeline'ına ekle ve ruler değişkenine ata.
  • "pattern" anahtarı için değer olarak "smartphone" ekle.
  • doc içinde yer alan varlık özniteliklerini yazdır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Add an entity_ruler component to the pipeline, before ner
ruler = nlp.add_pipe(____, before=____)

# Define pattern for new entity
ruler.add_patterns([{"label": "PRODUCT", "pattern": ____}])

# Recreate the doc so it uses the updated pipeline
doc = nlp(call_4_channel_2_text)

# Test new entity
for entity in doc.____:
  print(entity.text, entity.label_)
Kodu Düzenle ve Çalıştır