1 / 85

IT4853 Tìm kiếm và trình diễn thông tin

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.

Download Presentation

IT4853 Tìm kiếm và trình diễn thông tin

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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.

  10. Thuật toán

  11. 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

  12. 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.

  13. 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

  14. 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

  15. 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!

  16. 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ì?

  17. 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

  18. 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

  19. 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.

  20. Ví dụ tính khoảng cách Levenshtein

  21. Thuật toán tính khoảng cách Levenshtein

  22. Thuật toán tính khoảng cách Levenshtein

  23. Thuật toán tính khoảng cách Levenshtein

  24. Thuật toán tính khoảng cách Levenshtein

  25. Thuật toán tính khoảng cách Levenshtein

  26. Ví dụ tính khoảng cách Levenshtein

  27. Các giá trị trong ma trận Levenshtein

  28. Ví dụ tính khoảng cách Levenshtein

  29. 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ố

  30. 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

  31. 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ì?

  32. 37 37

  33. 38 38

  34. 39 39

  35. 40 40

  36. 41 41

  37. 42 42

  38. 43 43

  39. 44 44

  40. 45 45

  41. 46 46

  42. 47 47

  43. 48 48

  44. 49 49

  45. 50 50

More Related