Testowanie różnych metod
Poznałeś już kilka metod obliczania odległości między łańcuchami znaków. Wybór odpowiedniej metody zależy od wielu czynników, dlatego warto pobawić się różnymi metodami i ich parametrami, żeby lepiej je poznać. W tym ćwiczeniu użyjesz frazy wyszukiwania "Marya Carey" – błędnie wpisanej wersji nazwiska "Mariah Carey". Sprawdź, jak bardzo różnią się te dwa ciągi znaków w zależności od zastosowanej metody.
Celem jest znalezienie takich parametrów, które dają małą odległość dla tych dwóch wersji nazwy, a jednocześnie dużą odległość do pozostałych nazwisk na liście – czyli tych, których nie szukamy.
To ćwiczenie jest częścią kursu
Wyrażenia regularne w R – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Wygeneruj q-gramy dla długości podciągów równej
1i2. - Oblicz odległość między łańcuchami
searchinamesmetodą q-gramów dla długości podciągów równej1i2. - Oblicz odległość między łańcuchami
searchinames, używając metody"osa".
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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 = "___")