BaşlayınÜcretsiz başlayın

Verimli ifade eşleştirme

Bazen tek tek token'ları tanımlayan kalıplar yazmak yerine, tam dizeleri (string) eşleştirmek daha verimlidir. Bu özellikle de sonlu kategoriler için geçerlidir – örneğin dünyadaki tüm ülkeler gibi.

Halihazırda bir ülke listemiz var, bu yüzden bunu bilgi çıkarma betiğimizin temeli olarak kullanalım. Dize adlarının bulunduğu bir liste COUNTRIES değişkeni olarak mevcut. nlp nesnesi ve bir test doc zaten oluşturuldu ve doc.text kabuğa yazdırıldı.

Bu egzersiz, kursun bir parçasıdır

spaCy ile İleri Düzey NLP

Kursa Göz Atın

Egzersiz talimatları

  • PhraseMatcher'ı içe aktar ve paylaşılan vocab ile başlatıp matcher değişkenine ata.
  • İfade kalıplarını ekle ve eşleştiriciyi (matcher) doc üzerinde çağır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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])
Kodu Düzenle ve Çalıştır