MulaiMulai sekarang secara gratis

EntityRuler untuk NER

EntityRuler dapat digabungkan dengan EntityRecognizer dari model yang sudah ada untuk meningkatkan akurasinya. Pada latihan ini, Anda akan berlatih menggabungkan komponen EntityRuler dan komponen NER yang sudah ada dari model en_core_web_sm. Model sudah dimuat sebagai nlp.

Saat EntityRuler ditambahkan sebelum komponen NER, pengenal entitas akan menghormati span entitas yang sudah ada dan menyesuaikan prediksinya berdasarkan pola yang ditambahkan ke EntityRuler untuk meningkatkan akurasi tugas named entity recognition.

Latihan ini adalah bagian dari kursus

Pemrosesan Bahasa Alami dengan spaCy

Lihat Kursus

Petunjuk latihan

  • Tambahkan EntityRuler ke nlp sebelum komponen ner.
  • Definisikan pola entitas token untuk mengklasifikasikan new york group (huruf kecil) sebagai ORG.
  • Tambahkan patterns ke komponen EntityRuler.
  • Jalankan model dan cetak tuple teks dan tipe entitas untuk kontainer Doc.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

nlp = spacy.load("en_core_web_sm")
text = "New York Group was built in 1987."

# Add an EntityRuler to the nlp before NER component
ruler = nlp.____("entity_ruler", ____="ner")

# Define a pattern to classify lower cased new york group as ORG
patterns = [{"label": "ORG", "pattern": [{"lower": ____}]}]

# Add the patterns to the EntityRuler component
ruler.____(____)

# Run the model and print entities text and type for all the entities
doc = ____
print([(ent.____, ent.____) for ent in doc.____])
Edit dan Jalankan Kode