Pencocokan frasa yang efisien
Terkadang lebih efisien untuk mencocokkan string yang persis sama daripada menulis pola yang menggambarkan token individual. Hal ini terutama berlaku untuk kategori yang terbatas – seperti semua negara di dunia.
Kita sudah memiliki daftar negara, jadi mari gunakan ini sebagai dasar untuk skrip ekstraksi informasi. Daftar nama string tersedia sebagai variabel COUNTRIES. Objek nlp dan doc uji sudah dibuat dan doc.text telah dicetak ke shell.
Latihan ini merupakan bagian dari kursus
NLP Lanjutan dengan spaCy
Instruksi latihan
- Impor
PhraseMatcherdan inisialisasi denganvocabbersama sebagai variabelmatcher. - Tambahkan pola frasa dan panggil matcher pada
doc.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Import the PhraseMatcher and initialize it
from spacy.____ import ____
matcher = ____(____)
# Create pattern Doc objects and add them to the matcher
# This is the faster version of: [nlp(country) for country in COUNTRIES]
patterns = list(nlp.pipe(COUNTRIES))
matcher.add('COUNTRY', None, *patterns)
# Call the matcher on the test document and print the result
matches = ____(____)
print([doc[start:end] for match_id, start, end in matches])