Membuat named entity kustom di spaCy
Jika named entities bawaan spaCy belum mencukupi, Anda dapat membuat sendiri menggunakan kelas EntityRuler() dari spaCy.
EntityRuler() memungkinkan Anda membuat entitas sendiri untuk ditambahkan ke pipeline spaCy.
Mulailah dengan membuat sebuah instance EntityRuler() dan meneruskannya pipeline saat ini, nlp.
Kemudian Anda dapat memanggil add_patterns() pada instance tersebut dan memberinya sebuah kamus berisi pattern teks yang ingin Anda beri label sebagai sebuah entitas.
Setelah pola disiapkan, Anda dapat menambahkannya ke pipeline nlp menggunakan add_pipe().
Karena Acme adalah perusahaan teknologi, Anda memutuskan untuk menandai pola "smartphone" dengan tag entitas "PRODUCT".
spaCy telah diimpor dan sebuah doc sudah tersedia yang berisi teks transkripsi dari call_4_channel_2.wav file).
Latihan ini adalah bagian dari kursus
Pemrosesan Bahasa Lisan dengan Python
Petunjuk latihan
- Impor
EntityRulerdarispacy.pipeline. - Tambahkan
"smartphone"sebagai nilai untuk kunci"pattern". - Tambahkan instance
EntityRuler(),ruler, ke pipelinenlp. - Cetak atribut entitas yang ada di dalam
doc.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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_)