EntityRuler dengan multi-pattern di spaCy
EntityRuler memungkinkan Anda menambahkan entitas ke doc.ents dan meningkatkan kinerja named entity recognition. Pada latihan ini, Anda akan berlatih menambahkan komponen EntityRuler ke pipeline nlp yang sudah ada untuk memastikan beberapa entitas diklasifikasikan dengan benar.
Model en_core_web_sm sudah dimuat dan tersedia sebagai nlp. Anda dapat mengakses contoh teks di example_text dan menggunakan nlp serta doc untuk mengakses model spaCy dan kontainer Doc dari example_text masing-masing.
Latihan ini adalah bagian dari kursus
Pemrosesan Bahasa Alami dengan spaCy
Petunjuk latihan
- Cetak list tuple berisi teks dan tipe entitas dalam
example_textdengan modelnlp. - Definisikan beberapa pola untuk mencocokkan
brotherdansisters(huruf kecil) ke labelPERSON. - Tambahkan komponen
EntityRulerke pipelinenlpdan tambahkanpatternskeEntityRuler. - Cetak tuple teks dan tipe entitas untuk
example_textdengan modelnlp.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
nlp = spacy.load("en_core_web_md")
# Print a list of tuples of entities text and types in the example_text
print("Before EntityRuler: ", [____ for ____ in nlp(____).____], "\n")
# Define pattern to add a label PERSON for lower cased sisters and brother entities
patterns = [{"label": ____, "pattern": [{"lower": ____}]},
{"label": ____, "pattern": [{"lower": ____}]}]
# Add an EntityRuler component and add the patterns to the ruler
ruler = nlp.____("entity_ruler")
ruler.____(____)
# Print a list of tuples of entities text and types
print("After EntityRuler: ", [(ent.____, ent.____) for ent in nlp(example_text).____])