CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT
2.8. Khoảng cách Levenshtein
Khoảng cách Levenshtein là một số liệu chuỗi để đo sự khác biệt giữa hai chuỗi. Một cách khơng chính thức, khoảng cách Levenshtein giữa hai từ là số lần chỉnh sửa một ký tự tối thiểu (nghĩa là chèn, xóa hoặc thay thế) cần thiết để thay đổi một từ thành từ khác. Nó được đặt theo tên của Vladimir Levenshtein , người đã phát hiện ra phương trình này vào năm 1965 [14]
Khoảng cách Levenshtein cũng có thể được gọi là khoảng cách chỉnh sửa, mặc dù nó cũng có thể biểu thị một họ số liệu khoảng cách lớn hơn. Nó liên quan chặt chẽ với sự sắp xếp chuỗi theo cặp.
2.8.1. Định nghĩa
Về mặt toán học, khoảng cách Levenshtein giữa hai chuỗi a và b (có độ dài |a| và |b| tương ứng), được đưa ra bởi lev a,b(|a|,|b|):
28
Hình 2. 16: Khoảng cách Levenshtein giữa hai chuỗi a và b
Ở đây, 1(ai ≠ bi) là hàm chỉ thị bằng 0 khi ai ≠ b và bằng 1 nếu không, và leva,b(i,j) là khoảng cách giữa các i ký tự đầu tiên a và các j ký tự đầu tiên của b.
Lưu ý rằng phần tử đầu tiên trong mức tối thiểu tương ứng với việc xóa (từ a đến
b), phần tử thứ hai để chèn và phần tử thứ ba khớp hoặc không khớp, tùy thuộc vào
việc các ký hiệu tương ứng có giống nhau hay khơng.
Ví dụ: khoảng cách Levenshtein giữa "mèo con" và "ngồi" là 3, vì ba lần chỉnh sửa sau thay đổi một thành một chỉnh sửa khác và khơng có cách nào để thực hiện điều đó với ít hơn ba chỉnh sửa:
• k itten → s itten (thay thế "s" cho "k")
• sitt e n → sitt i n (thay thế "i" cho "e")
• sittin → sittin g (chèn chữ "g" vào cuối).
2.8.2. Ứng dụng
Trong đối sánh chuỗi gần đúng, mục tiêu là tìm đối sánh cho các chuỗi ngắn trong nhiều văn bản dài hơn, trong các tình huống dự kiến có một số lượng nhỏ khác biệt. Ví dụ, các chuỗi ngắn có thể đến từ một từ điển. Ở đây, một trong các chuỗi thường ngắn, trong khi chuỗi kia dài tùy ý. Điều này có một loạt các ứng dụng, chẳng hạn như trình kiểm tra chính tả, hệ thống sửa lỗi để nhận dạng ký tự quang học và phần mềm hỗ trợ dịch ngôn ngữ tự nhiên dựa trên bộ nhớ dịch.
Khoảng cách Levenshtein cũng có thể được tính tốn giữa hai chuỗi dài hơn, nhưng chi phí để tính tốn nó, gần như tỷ lệ với tích của độ dài hai chuỗi, khiến điều này khơng thực tế. Do đó, khi được sử dụng để hỗ trợ tìm kiếm chuỗi mờ trong các ứng
29
dụng như liên kết bản ghi, các chuỗi được so sánh thường ngắn để giúp cải thiện tốc độ so sánh.
Trong ngôn ngữ học, khoảng cách Levenshtein được dùng làm thước đo để định lượng khoảng cách ngôn ngữ, hoặc hai ngơn ngữ khác nhau như thế nào. Nó liên quan đến sự dễ hiểu lẫn nhau, khoảng cách ngơn ngữ càng cao thì mức độ hiểu nhau càng thấp và khoảng cách ngơn ngữ càng thấp thì mức độ hiểu nhau càng cao.
TĨM TẮT CHƯƠNG 2
Chương 2, trình bày các cơ sở lý thuyết, được áp dụng trong đề tài luận văn, như: giới thiệu đôi nét về dân tộc BaNa, thư viện Tesseract, thư viện OpenCV, mạng mạng nơ-ron hồi quy Recurrent Neural Network (RNN), mạng bộ nhớ dài-ngắn (Long Short Term Memory network (LSTM)), Convolutional Neural Network (hay cịn gọi là CNNs mạng nơ ron tích chập), tổng quan về thuật giải Heuristic, khoảng cách Levenshtein. Với các cơ sở lý thuyết trên đã giúp cho đề tài “Nhận dạng chữ Ba Na trên văn bản hình ảnh” thêm phần chặt chẽ hơn.
30