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 merupakan bagian dari kursus
Pemrosesan Bahasa Alami dengan spaCy
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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).____])