Я использую следующий шаблон на веб-сайте взрыва в демонстрациях "Проводник на основе правил"
pattern = [{'LEMMA': 'museum'}]
Текст
музеи в Мадриде
И это работа, хорошо. Затем я делаю следующее в коде:
import spacy
from spacy.matcher import Matcher
nlp = spacy.load("en_core_web_sm")
matcher = Matcher(nlp.vocab)
matcher.add("tourism", None, [{'LEMMA': 'museum'}])
doc = nlp("museums in madrid")
matches = matcher(doc)
print(matches)
for match_id, start, end in matches:
string_id = nlp.vocab.strings[match_id]
span = doc[start:end]
print(match_id, string_id, start, end, span.text)
И результата нет! Забавно, что если текст без слова «мадрид», то он находит совпадение. Теперь кто-нибудь может мне объяснить, какого черта? И почему на сайте все нормально