Membuat entitas bernama kustom di spaCy
Jika entitas bernama bawaan spaCy belum memadai, Anda dapat membuat sendiri menggunakan komponen pipeline entity_ruler dari spaCy.
Komponen entity_ruler memungkinkan Anda membuat entitas sendiri dan menambahkannya ke pipeline spaCy.
Mulailah dengan menambahkan komponen ke pipeline yang sudah ada menggunakan nlp.add_pipe(), menempatkannya before komponen "ner" agar aturan Anda diterapkan terlebih dahulu. add_pipe() mengembalikan komponen yang ditambahkan.
Anda kemudian dapat memanggil add_patterns() pada komponen tersebut dan memberinya sebuah kamus untuk pattern teks yang ingin Anda beri label sebagai entitas.
Karena Acme adalah perusahaan teknologi, Anda memutuskan untuk menandai pola "smartphone" dengan tag entitas "PRODUCT".
spaCy telah diimpor dan nlp memuat model en_core_web_sm. Karena mengubah pipeline tidak berdampak pada dokumen yang sudah ada, Anda akan membuat ulang doc dari teks transkripsi call_4_channel_2.wav file setelah komponen baru ditambahkan.
Latihan ini merupakan bagian dari kursus
Pemrosesan Bahasa Lisan dengan Python
Instruksi latihan
- Tambahkan komponen
"entity_ruler"ke pipelinenlp, sebelum komponen"ner", dan simpan sebagairuler. - Tambahkan
"smartphone"sebagai nilai untuk kunci"pattern". - Cetak atribut entitas yang terdapat dalam
doc.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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_)