Verschillende methoden uitproberen
Top, je hebt al kennisgemaakt met meerdere manieren om stringafstanden te berekenen. Welke methode je gebruikt, hangt van veel factoren af, dus het is een goed idee om wat te spelen met de verschillende methoden en hun parameters om ze beter te leren kennen. In deze oefening gebruik je de zoekterm "Marya Carey" — een verkeerd getypte versie van de naam "Mariah Carey". Hoe sterk lijkt de fout gespelde naam op de echte met verschillende stringafstand-methoden?
Het doel is om parameters te vinden die een kleine afstand opleveren voor de twee namen hierboven, terwijl de afstand groot blijft tot de andere namen in de lijst die niet de gezochte persoon zijn.
Deze oefening maakt deel uit van de cursus
Gevorderde reguliere expressies in R
Oefeninstructies
- Genereer de q-grams voor substringlengtes
1en2. - Bereken de stringafstand tussen
searchennamesmet de q-grammethode voor substringlengtes1en2. - Bereken de stringafstand tussen
searchennamesmet de methode"osa".
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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 = "___")