860 likes | 1.32k Views
IT4853 Tìm kiếm và trình diễn thông tin. Chương 5: Ngôn ngữ tìm kiếm Nguyễn Bá Ngọc. Nội dung chính. Ngôn ngữ tìm kiếm Xử lý lỗi Khoảng cách soạn thảo Sửa lỗi phiên âm. Nội dung chính. Ngôn ngữ tìm kiếm Xử lý lỗi Khoảng cách soạn thảo Sửa lỗi phiên âm. Truy vấn Boolean.
E N D
IT4853 Tìm kiếm và trình diễn thông tin Chương 5: Ngôn ngữ tìm kiếm Nguyễn Bá Ngọc
Nội dung chính • Ngôn ngữ tìm kiếm • Xử lý lỗi • Khoảng cách soạn thảo • Sửa lỗi phiên âm
Nội dung chính • Ngôn ngữ tìm kiếm • Xử lý lỗi • Khoảng cách soạn thảo • Sửa lỗi phiên âm
Truy vấn Boolean • Từ khóa được liên kết bằng những phép toán logic: • OR: (e1 OR e2) – có chứa e1 hoặc e2 • AND: (e1 AND e2) – có chứa e1 và e2 • BUT: (e1 BUT e2) – có chứa e1 nhưng không chứa e2 • Phủ định chỉ được cho phép thông qua BUT để không trả về quá nhiều kết quả • Số văn bản không chứa từ x vs. số văn bản chứa từ x? • Người dùng phổ thông hay gặp khó khăn trong cách sử dụng toán tử logic • Sử dụng mặc định toán tử AND để liên kết từ trong truy vấn
Tìm kiếm Boolean với chỉ mục ngược • Một từ khóa: kết quả là những văn bản trong danh sách thẻ định vị tương ứng • e1 OR e2: hợp của những tập kết quả ứng với e1 và e2 • e1 AND e2: giao của những tập kết quả ứng với e1 và e2 • e1 BUT e2: hiệu của tập kết quả ứng với e1 và tập kết quả ứng với e2
Truy vấn câu • Tìm những văn bản chứa một câu (danh sách có thứ tự những từ liên tiếp) cụ thể • “lý thuyết thông tin” • Có thể bỏ qua từ dừng hoặc chuẩn hóa dữ liệu • “lý thuyết thông tin” có thể phù hợp với “lý thuýêt thông tin” “ly thuyet thong tin” v.v
Tìm kiếm câu với chỉ mục ngược • Phải lưu vị trí xuất hiện của từ trong văn bản (chỉ mục ngược có vị trí) • Kết hợp tập kết quả cho mỗi từ truy vấn đơn lẻ kết hợp với kiểm tra ràng buộc vị trí giữa các từ • Thứ tự tối ưu là bắt đầu với từ ít phổ biến nhất của câu
Tìm kiếm câu với giới hạn khoảng cách (Proximity search) • Ví dụ: việc làm /4 lĩnh vực • Tìm tất cả văn bản chứa việc làm và lĩnh vực trong giới hạn khoảng cách 4 từ. • Việc làm /4 lĩnh vực • phù hợp với: Những trung tâm môi giới việc làm trong lĩnh vực chăm sóc sức khỏe được cho là đang phát triển mạnh mẽ. • Không phù hợp với: Những trung tâm môi giới việc làm hiện nay đang phải thay đổi theo xu hướng phát triển trong lĩnh vực chăm sóc sức khỏe
Tìm kiếm câu với giới hạn khoảng cách • Sử dụng chỉ mục có vị trí • Thuật toán đơn giản nhất: kiểm tra tất cả tổ hợp trong tích Đề-các của hai tập văn bản ứng với (i) việc làm và (ii) lĩnh vực • Rất không hiệu quả với từ xuất hiện thường xuyên • Hơn nữa chúng ta muốn trả về vị trí phù hợp thực sự, chứ không chỉ là danh sách văn bản. • Thông tin này quan trọng với tóm tắt động.
Nội dung chính • Ngôn ngữ tìm kiếm • Xử lý lỗi • Khoảng cách soạn thảo • Sửa lỗi phiên âm
Xử lý lỗi • Sẽ như thế nào nếu truy vấn hoặc văn bản có lỗi soạn thảo hoặc lỗi chính tả? • Đánh giá sự giống nhau giữa từ (chuỗi ký tự bất kỳ) sử dụng: • Khoảng cách soạn thảo (khoảng cách Levenstein) • Cho phép tìm kiếm gần đúng trong giới hạn khoảng cách giữa từ truy vấn và thuật ngữ trong từ điển.
Nội dung chính • Ngôn ngữ tìm kiếm • Xử lý lỗi • Khoảng cách soạn thảo • Sửa lỗi phiên âm
Sửa lỗi phiên âm (Spelling correction) • Hai tình huống sử dụng • Sửa văn bản đang được đánh chỉ mục • Sửa truy vấn người dùng • Hai phương pháp cơ bản • Sửa lỗi từng từ • Mỗi từ độc lập với nhau • Không phát hiện được lỗi soạn thảo dẫn đến từ viết đúng, ví dụ, an asteroid that fell form the sky • Sửa lỗi phiên âm theo ngữ cảnh • Xét đến những từ lân cận • Có thể sửa lỗi form/from như trên
Sửa lỗi trong văn bản • Phương pháp sửa lỗi phiên âm tương tác (ví dụ, MS Word) không phù hợp với tìm kiếm thông tin (dữ liệu lớn). • Trong tìm kiếm thông tin, chúng ta thường sử dụng phương pháp sửa lỗi cho những văn bản được quét tự động (OCR = optical character recognition) • Tuy nhiên tồn tại một nguyên tắc : Không nên thay đổi nội dung văn bản!
Sửa câu truy vấn • Bước 1: sửa từng từ riêng lẻ • Điều kiện 1: Có một danh sách “từ đúng” (từ được viết đúng) để đối chiếu. • Điều kiện 2: Có phương pháp tính khoảng cách giữa một từ viết sai và từ viết đúng. • Thuật toán sửa lỗi đơn giản: trả về từ “đúng” có khoảng cách nhỏ nhất tới từ viết sai. • Ví dụ: informaton → information • Chúng ta có thể sử dụng toàn bộ từ xuất hiện trong bộ dữ liệu như danh sách từ đúng. • Vấn đề cơ bản là gì?
Giải pháp thay thế • Từ điển phổ thông (Webster’s, OED etc.) • Từ điển trong từng lĩnh vực chuyên biệt (cho hệ thống tìm kiếm áp dụng trong từng lĩnh vực cụ thể) • Một phần bộ từ vựng với những từ có trọng số phù hợp
Khoảng cách giữa từ viết “đúng” và từ viết “sai” • Chúng ta sẽ cùng xét một vài phương pháp • Khoảng cách soạn thảo và khoảng cách Levenshtein • Khoảng cách soạn thảo có trọng số • Sự chồng lấn k-gram
Khoảng cách soạn thảo • Khoảng cách soạn thảo giữa chuỗi ký tự s1 và s2 là số thao tác cơ bản để biến s1 thành s2. • Khoảng cách Levenshtein: thao thác cho phép gồm chèn (insert), xóa (delete), và thay thế (replace) • Khoảng cách Levenshtein giữa • dog-do: 1 • cat-cart: 1 • cat-cut: 1 • cat-act: 2 • Khoảng cách Damerau-Levenshtein giữa cat-act là 1 • Damerau-Levenshtein bổ xung thao tác hoán vị (transposition) là thao tác thứ 4 được cho phép.
Khoảng cách soạn thảo có trọng số • Như ở trên, nhưng trọng số của một thao tác phụ thuộc vào những ký tự có trong đó. • Với mục đích mô hình hóa lỗi nhập dữ liệu do phân bố ký tự trên bàn phím, ví dụ, m có nhiều khả năng bị nhập nhầm khi nhập n hơn q. • Bởi vậy, thay thế m bởi n có khoảng cách nhỏ hơn bởi q. • Trong trường hợp này chúng ta cần • Một ma trận trọng số • và chỉnh sửa thuật toán để xử lý trọng số
Sử dụng khoảng cách soạn thảo cho mục đích sửa lỗi • Với truy vấn đã cho, đầu tiên cần xác định tập từ có thể có khoảng cách nhỏ (dựa trên k-gram) • Lấy giao tập từ này với danh sách từ “đúng” của chúng ta • Gợi ý thuật ngữ trong tập kết quả cho người dùng. • → Bài tập trong phạm vi một vài slides kế tiếp
Bài tập • Tính ma trận khoảng cách Levenshtein cho OSLO – SNOW • Những thao tác soạn thảo Levenshtein để biến đổi cat thành catcat là gì?
37 37
38 38
39 39
40 40
41 41
42 42
43 43
44 44
45 45
46 46
47 47
48 48
49 49
50 50