Khái niệm Khoảng cách Levenshtein (hay còn gọi là khoảng cách Edit) thể hiện khoảng cách khác biệt giữa 2 chuỗi ký tự. Khoảng cách Levenshtein giữa chuỗi S và chuỗi T là số bước ít nhất biến chuỗi S thành chuỗi T thông qua 3 phép biến đổi là: Xoá 1 ký tự; thêm 1 ký tự; thay ký tự này bằng ký tự khác.
Khoảng cách này được đặt theo tên Vladimir Levenshtein, người đã đề ra khái niệm này vào năm 1965. Nó được sử dụng trong việc tính toán sự giống và khác nhau giữa 2 chuỗi, như chương trình kiểm tra lỗi chính tả của winword spellchecker. Ví dụ: Khoảng cách Levenshtein giữa 2 chuỗi "kitten" và "sitting" là 3, vì phải dùng ít nhất 3 lần biến đổi.
kitten -> sitten (thay "k" bằng "s") sitten -> sittin (thay "e" bằng "i") sittin -> sitting (thêm ký tự "g")
Để tính toán Khoảng cách Edit, ta sử dụng thuật toán quy hoạch động, tính toán trên mảng 2 chiều (n+1)*(m+1), với n, m là độ dài của chuỗi cần tính. Sau đây là thuật toán quy hoạch động (S, T là chuỗi cần tính khoảng cách, n, m là độ dài của chuỗi S, T):
Thuật toán quy hoạch động tìm khoảng cách Edit giữa hai xâu ký tự
Input:S, T
Output: Edit distance
intEdit_distance(S, T){
for (int i = 0; i <= m; i++)
d[i, 0] = i;
for (int j = 0; j <= n; j++)
d[0, j] = j;
for (int i = 0; i <= m; i++)
for (int j = 0; j <= n; j++) { if (S[i] == T[j]) cost = 0; Else cost = 1;
d[i + 1, j + 1] = Min(d[i, j + 1] + 1, d[i + 1, j] + 1, d[i, j] + cost); }
return d[i,j]; }
Trong mục này, chúng tôi xây dựng thuật toán lựa chọn phản biện dựa trên phương pháp quy hoạch động. Việc chọn ra người phản biện có cùng hướng nghiên cứu với nội dung bài báo từ cơ sở dữ liệu các nhà khoa học đảm bảo tính chất khách quan, đúng vấn đề cần phản biện là điều hết sức cần thiết đối với một tạp chí khoa học. Muốn vậy, việc phân loại và chọn phản biện cần phải dựa vào nội dung bài báo, hay phần tóm tắt bài báo hoặc các từ khóa cho mỗi bài báo. Trong trường hợp sử dụng nội dung bài báo hay tóm tắt bài báo để làm dữ liệu tìm kiếm trong cơ sở dữ liệu phản biện sẽ phải chấp nhận chi phí khá lớn về thời gian tính toán. Điều này hoàn toàn không khả thi mà thay vào đó mỗi bài báo sẽ được đặc trưng bởi một số từ khóa, các từ khóa này sẽ đóng vai trò là dữ liệu đầu vào cho thuật toán. Kết quả của thuật toán là danh sách các phản biện được sắp xếp theo thứ tự ưu tiên về chuyên môn gần nhất với bài báo. Độ ưu tiên gần nhất về chuyên môn với bài báo được hiểu là độ gần ngữ nghĩa giữa từ khóa chuyên môn phản biện và từ khóa bài báo.Trong đó, độ gần ngữ nghĩa là đại lượng dùng để phản ánh sự giống nhau về nội dung, ý nghĩa giữa hai hay nhiều đối tượng. Từ khóa là tập hợp các từ đơn được sắp xếp như một từ ghép nhằm chỉ sự đặc trưng của một đối tượng. Như vậy, bài toán tìm phản biện được quy về bài toán tính độ gần nghữ nghĩa giữa các xâu ký tự.