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
Petunjuk latihan
- Tambahkan
EntityRulerkenlpsebelum komponenner. - Definisikan pola entitas token untuk mengklasifikasikan
new york group(huruf kecil) sebagaiORG. - Tambahkan
patternske komponenEntityRuler. - 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.____])