ПочатиПочніть безкоштовно

Пошук одного терміна в spaCy

Шаблони RegEx не завжди просто читати, писати й налагоджувати. Проте у вас є альтернатива: у spaCy є зручний для читання та придатний до продакшну інструмент — клас Matcher. Клас Matcher може зіставляти заздалегідь визначені правила з послідовністю токенів у вказаному контейнері Doc. У цій вправі ви потренуєтеся використовувати Matcher, щоб знайти одне слово.

Ви можете звернутися до відповідного тексту через example_text, а також скористатися nlp і doc, щоб отримати модель spaCy та контейнер Doc для example_text відповідно.

Ця вправа є частиною курсу

Обробка природної мови (NLP) зі spaCy

Переглянути курс

Інструкції до вправи

  • Ініціалізуйте клас Matcher.
  • Визначте шаблон для збігу зі словом у нижньому регістрі witch у example_text.
  • Додайте шаблони до класу Matcher і знайдіть збіги.
  • Ітеруйтеся за збігами та виведіть початковий і кінцевий індекси токенів і фрагмент знайденого тексту.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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)
Редагувати та запускати код