Potrivirea unui singur termen în spaCy
Tiparele RegEx nu sunt ușor de citit, scris și depanat. Dar nu ești fără opțiuni – spaCy oferă o alternativă mai lizibilă și potrivită pentru producție: clasa Matcher. Aceasta poate potrivi reguli predefinite cu o secvență de tokeni dintr-un container Doc dat. În acest exercițiu, vei exersa folosirea clasei Matcher pentru a găsi un singur cuvânt.
Poți accesa textul corespunzător în example_text și folosi nlp și doc pentru a accesa, respectiv, modelul spaCy și containerul Doc al variabilei example_text.
Acest exercițiu face parte din cursul
Procesarea limbajului natural cu spaCy
Instrucțiuni pentru exercițiu
- Inițializează o clasă
Matcher. - Definește un tipar care să potrivească forma scrisă cu litere mici a cuvântului
witchînexample_text. - Adaugă tiparele la clasa
Matcherși găsește potrivirile. - Parcurge potrivirile și afișează indicii de token de început și de sfârșit, precum și fragmentul de text potrivit.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)