ÎncepețiÎncepe gratuit

Extrage nume cu context

Să revenim la setul nostru de date despre politicienii elvețieni. Acesta conține două variabile: articles – o colecție de articole de știri despre politica elvețiană – și politicians – un vector cu mai multe nume de politicieni elvețieni.

Ai numărat deja aparițiile fiecărui nume, dar nu ar fi interesant să nu te oprești doar la numărare și să vezi și în ce context sunt folosite aceste nume? Ai putea, de exemplu, să compari dacă există diferențe de context între politicienii de gen feminin și cei de gen masculin. Pentru asta, va trebui să extragi textul din jurul numelor de politicieni.

Deoarece textul conține caractere de tip cuvânt \\w, dar și semne de punctuație [:punct:] precum puncte . sau virgule ,, va trebui să creezi un tipar care să identifice ambele tipuri de caractere.

Acest exercițiu face parte din cursul

Expresii regulate intermediare în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește vectorul politicians și combină-l pentru a crea un „tipar sau" (or pattern), la fel cum ai procedat în capitolul 2.
  • Creează un tipar personalizat în paranteze pătrate [] care să identifice atât caractere de tip cuvânt, cât și semne de punctuație.
  • Folosind glue, adaugă noul context creat atât înainte, cât și după polit_pattern. \\s? indică faptul că după numele politicienilor poate urma sau nu un spațiu.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Create our polit_pattern again by collapsing "politicians"
polit_pattern <- glue_collapse(___, sep = "|")

# Match one or more word characters or punctuations
context <- "([___[___]]+\\s){0,10}"

# Add this pattern in front and after the polit_pattern
polit_pattern_with_context <- glue(
  "{___}({polit_pattern})\\s?{___}"
)

str_extract_all(
  articles$text,
  pattern = polit_pattern_with_context
)
Editează și rulează codul