Experimentează cu diferite metode
Excelent, ai învățat deja mai multe metode de calcul al distanțelor dintre șiruri. Alegerea metodei potrivite depinde de mulți factori, așa că e o idee bună să explorezi diferitele metode și parametrii lor pentru a le cunoaște mai bine. În acest exercițiu vei folosi termenul de căutare "Marya Carey" – o versiune greșit tastată a numelui "Mariah Carey". Cât de similar este numele greșit față de cel real, în funcție de diferitele metode de distanță dintre șiruri?
Scopul este să găsești parametri care să producă o distanță mică între cele două nume descrise mai sus, menținând în același timp o distanță mare față de celelalte nume din listă care nu corespund persoanei căutate.
Acest exercițiu face parte din cursul
Expresii regulate intermediare în R
Instrucțiuni pentru exercițiu
- Generează q-gramele pentru lungimi de subșir de
1și2. - Calculează distanța dintre șirurile
searchșinamesfolosind metoda q-gram pentru lungimi de subșir de1și2. - Calculează distanța dintre șirurile
searchșinamesfolosind metoda"osa".
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
search <- "Mariah Carey"
names <- c("M. Carey", "Mick Jagger", "Michael Jackson")
# Pass the values 1 and 2 as "q" and inspect the qgrams
qgrams("Mariah Carey", "M. Carey", q = ___)
qgrams("Mariah Carey", "M. Carey", q = ___)
# Try the qgram method on the variables search and names
stringdist(___, ___, method = "___", q = 1)
stringdist(___, ___, method = "___", q = 2)
# Try the default method (osa) on the same input and compare
stringdist(___, ___, method = "___")