여러 방법 시도해 보기
잘하셨어요. 이제 문자열 거리를 계산하는 여러 방법을 익히셨네요. 어떤 방법을 쓸지는 여러 상황에 따라 달라지므로, 각 방법과 파라미터를 조금씩 바꿔 보며 감을 잡는 것이 좋아요. 이번 연습에서는 검색어 "Marya Carey"를 사용해 볼 거예요. 이는 "Mariah Carey"의 오타 버전이에요. 서로 다른 문자열 거리 방법을 사용할 때, 이 오타 이름이 실제 이름과 얼마나 비슷할까요?
목표는 위의 두 이름에 대해 거리가 작게 나오면서, 목록에 있는 다른 사람들(찾는 사람이 아닌 이름)과는 거리가 크게 유지되도록 하는 파라미터를 찾는 것이에요.
이 연습은 강의의 일부입니다
R 중급 정규 표현식
연습 안내
- 부분 문자열 길이
1과2에 대해 q-gram을 생성하세요. - 부분 문자열 길이
1과2에 대해 q-gram 방법으로search와names간의 문자열 거리를 계산하세요. "osa"방법을 사용해search와names간의 문자열 거리를 계산하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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 = "___")