Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Wygeneruj q-gramy dla długości podciągów równej 1 i 2.
  • Oblicz odległość między łańcuchami search i names metodą q-gramów dla długości podciągów równej 1 i 2.
  • Oblicz odległość między łańcuchami search i names, 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 = "___")
Edytuj i uruchom kod