MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Impor EntityRuler dari spacy.pipeline.
  • Tambahkan "smartphone" sebagai nilai untuk kunci "pattern".
  • Tambahkan instance EntityRuler(), ruler, ke pipeline nlp.
  • 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_)
Edit dan Jalankan Kode