Cara menghitung jarak levenshtein di r (dengan contoh)
Jarak Levenshtein antara dua string adalah jumlah minimum perubahan karakter tunggal yang diperlukan untuk mengubah satu kata menjadi kata lain.
Yang dimaksud dengan “modifikasi” meliputi penggantian, penyisipan, dan penghapusan.
Misalnya, kita mempunyai dua kata berikut:
- KE PESTA
- TAMAN
Jarak Levenshtein antara dua kata (yaitu jumlah perubahan yang perlu kita lakukan untuk mengubah satu kata menjadi kata lainnya) adalah 2 :
Dalam praktiknya, jarak Levenshtein digunakan dalam banyak aplikasi berbeda, termasuk pencocokan string fuzzy, pemeriksaan ejaan, dan pemrosesan bahasa alami.
Tutorial ini menjelaskan cara menghitung jarak Levenshtein antar string di R menggunakan fungsi stringdist() dari paket stringdist di R.
Fungsi ini menggunakan sintaks dasar berikut:
#load stringdist package library(stringdist) #calculate Levenshtein distance between two strings stringdist(" string1 ", " string2 ", method = " lv ")
Perhatikan bahwa fungsi ini dapat menghitung banyak pengukuran jarak yang berbeda. Dengan menentukan metode = “lv”, kami memberi tahu fungsi tersebut untuk menghitung jarak Levenshtein.
Contoh 1: Jarak Levenshtein antara dua senar
Kode berikut menunjukkan cara menghitung jarak Levenshtein antara dua string “party” dan “park” menggunakan fungsi stringdist() :
#load stringdist package library(stringdist) #calculate Levenshtein distance between two strings stringdist(' party ', ' park ', method = ' lv ') [1] 2
Jarak Levenshtein ternyata 2 .
Contoh 2: Jarak Levenshtein antara dua vektor
Kode berikut menunjukkan cara menghitung jarak Levenshtein antara setiap kombinasi string berpasangan dalam dua vektor berbeda:
#load stringdist package library(stringdist) #definevectors a <- c('Mavs', 'Spurs', 'Lakers', 'Cavs') b <- c('Rockets', 'Pacers', 'Warriors', 'Celtics') #calculate Levenshtein distance between two vectors stringdist(a, b, method=' lv ') [1] 6 4 5 5
Cara menafsirkan hasilnya adalah sebagai berikut:
- Jarak Levenshtein antara “Mavs” dan “Rockets” adalah 6 .
- Jarak Levenshtein antara “Spurs” dan “Pacers” adalah 4 .
- Jarak Levenshtein antara “Lakers” dan “Warriors” adalah 5 .
- Jarak Levenshtein antara “Cavs” dan “Celtics” adalah 5 .
Contoh 3: Jarak Levenshtein antar kolom bingkai data
Kode berikut menunjukkan cara menghitung jarak Levenshtein antara setiap kombinasi string berpasangan dalam dua kolom berbeda pada bingkai data:
#load stringdist package library(stringdist) #define data data <- data.frame(a = c('Mavs', 'Spurs', 'Lakers', 'Cavs'), b = c('Rockets', 'Pacers', 'Warriors', 'Celtics')) #calculate Levenshtein distance stringdist(data$a, data$b, method=' lv ') [1] 6 4 5 5
Kita kemudian dapat menambahkan jarak Levenshtein sebagai kolom baru di bingkai data jika kita ingin:
#save Levenshtein distance as vector lev <- stringdist(data$a, data$b, method=' lv ') #append Levenshtein distance as new column data$lev <- lev #view data frame data ab lev 1 Mavs Rockets 6 2 Spurs Pacers 4 3 Lakers Warriors 5 4 Cavs Celtics 5
Sumber daya tambahan
Cara menghitung jarak Hamming di R
Cara menghitung jarak Euclidean di R
Cara menghitung jarak dari Manhattan di R