Thử các phương pháp khác nhau
Tuyệt vời, bạn đã biết nhiều phương pháp tính khoảng cách chuỗi. Việc chọn phương pháp phụ thuộc vào nhiều yếu tố, nên tốt nhất là bạn nên thử qua các phương pháp và tham số khác nhau để hiểu chúng rõ hơn. Trong bài này bạn sẽ dùng từ khóa tìm kiếm "Marya Carey" – phiên bản gõ sai của tên "Mariah Carey". Với các phương pháp khoảng cách chuỗi khác nhau, cái tên gõ sai giống với tên thật đến mức nào?
Mục tiêu là tìm các tham số cho khoảng cách nhỏ giữa hai tên nói trên, đồng thời vẫn giữ khoảng cách lớn với các tên khác trong danh sách – tức những người không phải là đối tượng bạn đang tìm.
Bài tập này là một phần của khóa học
Regular Expressions nâng cao trong R
Hướng dẫn bài tập
- Tạo các q-gram với độ dài chuỗi con là
1và2. - Tính khoảng cách chuỗi giữa
searchvànamesbằng phương pháp q-gram với độ dài chuỗi con1và2. - Tính khoảng cách chuỗi giữa
searchvànamesbằng phương pháp"osa".
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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 = "___")