Provare metodi diversi
Perfetto, hai già visto vari metodi per calcolare le distanze tra stringhe. Quale usare dipende da molte circostanze, quindi è utile fare un po’ di pratica con metodi e parametri per conoscerli meglio. In questo esercizio userai il termine di ricerca "Marya Carey", una versione con errore di battitura di "Mariah Carey". Quanto è simile il nome errato a quello corretto con metodi di distanza diversi?
L’obiettivo è trovare parametri che producano una distanza bassa tra i due nomi qui sopra, mantenendo invece una distanza alta dagli altri nomi nella lista che non corrispondono alla persona cercata.
Questo esercizio fa parte del corso
Espressioni regolari intermedie in R
Istruzioni dell'esercizio
- Genera i q-grammi per lunghezze di sottostringa pari a
1e2. - Calcola la distanza tra stringhe tra
searchenamesusando il metodo q-gram per lunghezze di sottostringa pari a1e2. - Calcola la distanza tra stringhe tra
searchenamesusando il metodo"osa".
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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 = "___")