spaCy ile özel adlandırılmış varlık oluşturma
spaCy'nin yerleşik adlandırılmış varlıkları yeterli değilse, spaCy'nin EntityRuler() sınıfını kullanarak kendi varlıklarını oluşturabilirsin.
EntityRuler(), kendi varlıklarını oluşturup bir spaCy işlem hattına (pipeline) eklemene olanak tanır.
Önce EntityRuler() sınıfından bir örnek oluşturup mevcut işlem hattı olan nlp'yi geçirirsin.
Ardından örnek üzerinde add_patterns() çağırıp, bir varlıkla etiketlemek istediğin metin patternını içeren bir sözlük (dictionary) geçebilirsin.
Bir pattern oluşturduğunda, bunu add_pipe() kullanarak nlp işlem hattına ekleyebilirsin.
Acme bir teknoloji şirketi olduğundan, "smartphone" patternını "PRODUCT" varlık etiketiyle etiketlemeye karar veriyorsun.
spaCy içe aktarılmış durumda ve call_4_channel_2.wav dosyasından çevrilmiş metni içeren bir doc zaten mevcut.
Bu egzersiz
Python ile Konuşma Dili İşleme
kursunun bir parçasıdırEgzersiz talimatları
EntityRuler'ıspacy.pipelineiçinden içe aktar."pattern"anahtarı için değer olarak"smartphone"ekle.EntityRuler()örneği olanruler'ınlpişlem hattına ekle.dociçinde yer alan varlık özniteliklerini (attributes) yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Import EntityRuler class
from spacy.pipeline import ____
# Create EntityRuler instance
ruler = EntityRuler(nlp)
# Define pattern for new entity
ruler.add_patterns([{"label": "PRODUCT", "pattern": ____}])
# Update existing pipeline
nlp.add_pipe(____, before="ner")
# Test new entity
for entity in doc.____:
print(entity.text, entity.label_)