spaCy'de tek bir terimi eşleştirme
RegEx kalıplarını okumak, yazmak ve hata ayıklamak kolay değildir. Ama merak etme, spaCy okunabilir ve üretim seviyesinde bir alternatif sunuyor: Matcher sınıfı. Matcher sınıfı, verilen bir Doc kapsayıcısındaki token dizilerine önceden tanımlanmış kuralları eşleştirebilir. Bu egzersizde, tek bir kelimeyi bulmak için Matcher kullanmayı pratik edeceksin.
example_text içindeki ilgili metne erişebilir ve sırasıyla spaCy modeline ve example_text'in Doc kapsayıcısına erişmek için nlp ve doc değişkenlerini kullanabilirsin.
Bu egzersiz
spaCy ile Natural Language Processing
kursunun bir parçasıdırEgzersiz talimatları
- Bir
Matchersınıfı başlat. example_textiçinde küçük harfliwitchkelimesini eşleyecek bir kalıp tanımla.- Kalıpları
Matchersınıfına ekle ve eşleşmeleri bul. - Eşleşmeler üzerinde yineleme yaparak başlangıç ve bitiş token indekslerini ve eşleşen metnin aralığını yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)