Testa olika metoder
Du har redan lärt dig om flera metoder för att beräkna strängavstånd. Vilken metod som passar bäst beror på omständigheterna, så det är bra att experimentera lite med de olika metoderna och deras parametrar för att lära känna dem bättre. I den här övningen använder du söktermen "Marya Carey" – en felstavad version av namnet "Mariah Carey". Hur likt är det felstavade namnet det riktiga med olika strängavståndsmetoder?
Målet är att hitta parametrar som ger ett lågt avstånd för de två namnen ovan, samtidigt som avståndet till övriga namn i listan – som inte är den person man söker efter – förblir stort.
Den här övningen är en del av kursen
Reguljära uttryck på mellannivå i R
Övningsinstruktioner
- Generera q-gram för dellängdsvärdena
1och2. - Beräkna strängavståndet mellan
searchochnamesmed q-gram-metoden för dellängdsvärdena1och2. - Beräkna strängavståndet mellan
searchochnamesmed metoden"osa".
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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 = "___")