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 adalah bagian dari kursus
NLP Lanjutan dengan spaCy
Petunjuk latihan
- Impor
PhraseMatcherdan inisialisasi denganvocabbersama sebagai variabelmatcher. - Tambahkan pola frasa dan panggil matcher pada
doc.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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])