Zacznij terazZacznij za darmo

Dopasowywanie pojedynczego terminu w spaCy

Wzorce RegEx bywają trudne do czytania, pisania i debugowania. Na szczęście spaCy oferuje czytelną alternatywę gotową do zastosowania w środowisku produkcyjnym – klasę Matcher. Klasa Matcher dopasowuje predefiniowane reguły do sekwencji tokenów w danym kontenerze Doc. W tym ćwiczeniu przećwiczysz użycie Matcher do wyszukania pojedynczego słowa.

Odpowiedni tekst znajdziesz w zmiennej example_text. Skorzystaj z nlp i doc, aby uzyskać dostęp odpowiednio do modelu spaCy i kontenera Doc dla example_text.

To ćwiczenie jest częścią kursu

Przetwarzanie języka naturalnego z użyciem spaCy

Zobacz kurs

Instrukcje do ćwiczenia

  • Zainicjalizuj klasę Matcher.
  • Zdefiniuj wzorzec dopasowujący słowo witch zapisane małymi literami w example_text.
  • Dodaj wzorce do klasy Matcher i znajdź dopasowania.
  • Przejdź przez dopasowania i wyświetl indeksy tokenów start i end oraz fragment dopasowanego tekstu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod