Mulai sekarangMulai gratis

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

Lihat Kursus

Instruksi latihan

  • Tambahkan komponen "entity_ruler" ke pipeline nlp, sebelum komponen "ner", dan simpan sebagai ruler.
  • 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_)
Edit dan Jalankan Kode