Mencocokkan satu istilah di spaCy
Pola RegEx tidak mudah untuk dibaca, ditulis, dan di-debug. Namun Anda tidak kehilangan alternatif, spaCy menyediakan opsi yang lebih mudah dibaca dan siap produksi, yaitu kelas Matcher. Kelas Matcher dapat mencocokkan aturan yang telah ditentukan sebelumnya dengan urutan token dalam sebuah kontainer Doc. Pada latihan ini, Anda akan berlatih menggunakan Matcher untuk menemukan satu kata.
Anda dapat mengakses teks terkait 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
- Inisialisasi kelas
Matcher. - Definisikan pola untuk mencocokkan
witchdalam huruf kecil diexample_text. - Tambahkan pola ke kelas
Matcherdan temukan kecocokan. - Iterasikan kecocokan dan cetak indeks token start dan end serta span dari teks yang cocok.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
nlp = spacy.load("en_core_web_sm")
doc = nlp(example_text)
# Initialize a Matcher object
matcher = Matcher(nlp.____)
# Define a pattern to match lower cased word witch
pattern = [{"lower" : ____}]
# Add the pattern to matcher object and find matches
matcher.add("CustomMatcher", [____])
matches = matcher(____)
# Print start and end token indices and span of the matched text
for match_id, start, end in matches:
print("Start token: ", ____, " | End token: ", ____, "| Matched text: ", doc[____:____].text)