CHƯƠNG 2: ĐỐI SÁNH CHUỖI XẤP XỈ CHO VẤN ĐỀ TỰ ĐỘNG SỬA ĐỔI VÀ GỢI Ý TRUY VẤN
2.3 Tự động sửa đổi và gợi ý truy vấn dựa trên độ đo Levenshtein
2.3.2 Thu gọn không gian đối sánh
Không gian đối sánh của bài toán đƣợc cung cấp trực tiếp bởi thuật toán Levenshtein. Thuật toán thực hiện đối sánh chuỗi T và chuỗi P trả về độ đo khoảng cách giữa T và P. Nhƣ vậy để thực hiện hệ thống có hiệu quả cần phải khống chế các đối số vƣợt ngƣỡng thông qua nhận xét ―không đối sánh với các chuỗi không phù hợp‖. Không gian đối sánh của bài toán trong luận văn này sẽ thực hiện thông qua các yếu tố sau:
- Dữ liệu xây dựng: tập các từ và tập các chuỗi. Số lƣợng các chuỗi tham gia đối sánh trong hệ thống đƣợc thu thập.
- Ảnh hưởng của độ dài các chuỗi và các từ được tập hợp.
- Ảnh hưởng trực tiếp bởi việc chọn độ dài đối sánh giữa chuỗi T và chuỗi P.
Mục đích của thu hẹp không gian để thực hiện đẩy nhanh tốc độ thực thi của hệ thống đƣợc xây dựng. Chỉ thực hiện đối sánh với các chuỗi có tiềm năng làm ứng viên của hệ thống tham gia sửa đổi và gợi ý với chuỗi truy vấn đầu vào. Không thực hiện với dữ liệu không hề liên quan hoặc kém liên quan với chuỗi truy vấn đầu vào (khống chế về độ tương tự, khoảng cách đối sánh, khoảng cách độ dài giữa hai chuỗi thực hiện đối sánh). Nhằm đảm bảo khi thực hiện giải thuật Levenshtein thực hiện tốt.
2.3.2.1 Khi không gian để mặc định chưa thu hẹp
Việc không thu hẹp không gian làm cho kết quả của bài toàn ít nhiều bị ảnh hưởng, nhất là chi phí cần phải thực hiện khi để không gian đối sánh một cách mặc định.
- Số lƣợng các từ phải so sánh là rất nhiều.
- Mỗi lần đối sánh thì độ phức tạp dựa vào thuật toán và đƣợc xác định là O(n*m). Khi n và m tăng lên làm độ phức tạp tăng mạnh. Giả sử có k chuỗi
cần phải đối sánh, hệ thống thực hiện đối sánh k lần nhƣ thế độ phức tạp nói chung của hệ thống sẽ là O(k*n*m). Việc giảm không gian đối sánh là điều cần thiết. Các lợi ích khi giảm không gian đối sánh đƣợc thông qua:
+ Giảm số lƣợng các chuỗi tham gia đối sánh.
+ Hạn chế kích thước chênh lệch giữa n và m, ở đây |n-m| càng lớn có nghĩa là khoảng cách đối sánh càng lớn và đây chính là lí do cần quan sát độ dài chuỗi T và P. Nếu nó lớn thì hiển nhiên chuỗi P không phải là chuỗi phù hợp và ngược lại. Nếu |n-m| nhỏ thì ảnh hưởng đến số lượng các chuỗi ứng viên tham gia đối sánh, làm cho hiệu quả hệ thống giảm sút [13].
2.3.2.2 Không gian đối sánh cho bài toán nhỏ “Tự động sửa đổi”
Yêu cầu của không gian: Cần phải thực hiện nhanh chóng, và cần phải chỉ ra một đáp án chính xác cho việc lựa chọn từ để sửa đổi. Hệ thống cần phải thực hiện thuật toán và chỉ ra đƣợc từ thích hợp để thay thế từ đối sánh.
Mục đích của việc thu hẹp không gian đối sánh là việc tìm ra từ đối sánh thích hợp cho việc sửa lỗi.
- Không gian đƣợc xây dựng: Thể hiện số lƣợng dữ liệu hệ thống xây dựng đƣợc để thực hiện đối sánh với chuỗi truy vấn đƣợc cung cấp. Không gian này càng lớn thì việc lựa chọn các chuỗi làm ứng viên càng trở nên cần thiết. Không thực hiện đối sánh với toàn bộ không gian hiện có mà chỉ đối sánh với các chuỗi làm ứng viên.
Các ứng viên phải thỏa các điều kiện sau:
- Độ dài của các chuỗi đối sánh: Đối sánh từ T với từ P, do độ phức tạp của đối sánh là O(n*m). Như vậy sẽ chọn các từ có độ dài tương đương nhau tham gia đối sánh.
- Khoảng cách đối sánh: Các từ đƣợc lựa chọn làm ứng viên cho thao tác sửa lỗi, khoảng cách càng nhỏ thì các từ làm ứng viên càng lớn. Nếu khoảng cách đối sánh là 0 có nghĩa là từ sửa lỗi là không sai.
- Dữ liệu từ đối sánh lấy từ thƣ viện các từ đƣợc xây dựng. Đây là một phương pháp áp dụng cho việc thu gọn không gian đối sánh.
2.3.2.3 Không gian đối sánh cho bài toán “Tự động gợi ý”
Không gian được xác định trong trường hợp này chỉ ra việc lựa chọn các đối sánh sao cho hệ thống dựa trên đó có thể trả về một vài chuỗi kết quả tương tự với chuỗi truy vấn được cung cấp. Không gian bao gồm các yếu tố:
- Số lƣợng các câu đƣợc thu thập: Các câu thu thập dựa trên miền dữ liệu mà hệ thống tìm lưu trữ để trả lời câu hỏi q. Ở đây chúng ta cũng tính đến các chuỗi tương đương trong miền lưu trữ của hệ thống. Hệ thống mà luận văn xây dựng mang tính chất hỗ trợ, và cung cấp thêm cho người dùng các kết quả tương đương, để người dùng có hơn một lựa chọn. Bằng cách này sẽ góp phần làm giảm không gian đối sánh. Việc xây dựng dữ liệu không gian đối sánh ảnh hưởng trực tiếp tới các chuỗi gợi ý sau này. Câu truy vấn cần phải dựa theo dữ liệu và mục đích lưu trữ dữ liệu hệ thống tìm kiếm.
- Kích thước chuỗi lựa chọn đối sánh: Như đã nhận xét ở phần đầu của mục thu gọn không gian đối sánh, với mục đích xác định đƣợc không gian vừa phải để đƣa ra các chuỗi đối sánh hợp lý làm đẩy nhanh tốc độ của hệ thống, không đối sánh với các chuỗi không có tiềm năng. Thực hiện khâu này trước khi tiến hành đối sánh theo độ đo bằng cách khống chế độ dài các chuỗi trong hệ thống dữ liệu dùng để đối sánh. Với cách làm này sẽ loại bỏ đƣợc một phần các chuỗi có độ dài không phù hợp [14].
- Để khống chế thêm độ đo Levenshtein, trước khi tiến hành xác định độ đo các chuỗi phải có một số kí tự trùng nhau xác định trước. Số kí tự này dựa vào chiều dài chuỗi truy vấn mà xác định. Với bước này chắc rằng loại bỏ thêm một số các chuỗi mà các kí tự của nó không tồn tại trong chuỗi làm ứng viên đối sánh.
- Độ đo Levenshtein: Khi các chuỗi đƣợc tiến hành theo thuật toán, quy định tiếp theo khống chế độ đo Levenshtein không thể vƣợt qua một
ngƣỡng cụ thể. Trong bài toán này, để ngƣỡng nằm trong đoạn [0..15]. Chúng ta hoàn toàn có thể thấy các kết quả đƣợc loại trừ thêm một lần nữa. Với thao tác sửa lỗi tiến hành để nhỏ hơn, ngƣỡng vào tầm [0..5] vì lý do đơn giản việc sửa lỗi cần phải tìm ra từ thích hợp nhất để thay thế nếu từ bị sai, trong nhiều trường hợp có thể lấy tối đa độ đo xấp xỉ là 2 để lựa chọn một từ duy nhất nếu có 2 trường hợp cần phải xem xét. Với trường hợp gợi ý các kết quả thì cần phải lấy về các chuỗi truy vấn có độ đo ở không gian rộng hơn, lúc này sẽ có nhiều chuỗi ứng viên hơn.
- Độ tương đồng về nội dung thông qua thuật toán hỗ trợ Similar Text.
Luận văn sử dụng thêm giải thuật độ tương tự giữa hai chuỗi để tăng khả năng lọc các xâu có liên quan và kém liên quan. Các chuỗi có độ tương tự từ 50% trở lên mới được xét đưa vào giải thuật đối sánh chuỗi xấp xỉ. Ngược lại các chuỗi có độ tương tự thấp hơn sẽ không được phép thực hiện đối sánh chuỗi.