1 / 26

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. Phần 2: Các mô hình tìm kiếm Nguyễn Bá Ngọc. Tóm tắt phần 1, nội dung chính. Khái niệm tìm kiếm thông tin Tìm kiếm dữ liệu vs. thông tin Tìm kiếm vs. duyệt Kiến trúc tổng quát hệ thống tìm kiếm Quy trình tìm kiếm thông tin

holmes-king
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 Phần 2: Các mô hình tìm kiếm Nguyễn Bá Ngọc

  2. Tóm tắt phần 1, nội dung chính • Khái niệm tìm kiếm thông tin • Tìm kiếm dữ liệu vs. thông tin • Tìm kiếm vs. duyệt • Kiến trúc tổng quát hệ thống tìm kiếm • Quy trình tìm kiếm thông tin • Công cụ tìm kiếm, các thành phần chính • Khái niệm mô hình tìm kiếm thông tin • Phân loại các mô hình điển hình

  3. Nội dung chính • 1. Mô hình Boolean • 2. Tìm kiếm có xếp hạng, mô hình không gian vec-tơ • 3. Tìm kiếm dựa trên xác suất, mô hình nhị phân độc lập • 4. Mô hình (Okapi) BM25 • 5. Mô hình ngôn ngữ

  4. 1. Mô hình Boolean • Dựa trên lý thuyết tập hợp và đại số Boolean • Văn bản là tập hợp thuật ngữ • Truy vấn là các biểu thức Boolean trên các thuật ngữ • Có thể là mô hình đơn giản nhất để xây dựng hệ thống tìm kiếm • Công cụ phổ biến nhất khoảng 3 thập kỷ trước • Nhiều hệ thống tìm kiếm vẫn đang sử dụng mô hình này • Email, thư viện • http://www.westlaw.com: nhiều TB dữ liệu, > 700 000 người dùng

  5. Khái quát mô hình Boolean D: Tập hợp từ (các thuật ngữ chỉ mục) xuất hiện trong văn bản +) thuật ngữ có thể xuất hiện (1) hoặc không (0) Q: Biểu thức Boolean +) Các thuật ngữ lấy từ chỉ mục +) Các toán tử là AND, OR, và NOT F: Đại số Boolean trên tập hợp (thuật ngữ và văn bản)

  6. Đánh giá phù hợp Boolean R: Một văn bản phù hợp với một biểu thức truy vấn nếu nó thỏa mãn biểu thức truy vấn ((văn bản ˅ thông tin) ˄ tìm kiếm ˄ ¬lý thuyết) Mỗi thuật ngữ truy vấn xác định một tập văn bản chứa thuật ngữ đó • AND (˄): là giao của hai tập hợp • OR(˅): là hợp của hai tập hợp • NOT(¬): là phần bù của tập hợp

  7. Ví dụ phù hợp Boolean ((văn bản ˅ thông tin) ˄ tìm kiếm ˄ ¬lý thuyết) • “Tìm kiếm thông tin • “Lý thuyết thông tin” • “Tìm kiếm thông tin hiện đại: lý thuyết và thực hành” • “Phương pháp nén văn bản”

  8. Tìm kiếm dữ liệu không cấu trúc • Văn bản nào chứa từ Tô Hoài AND Hà Nội AND NOT truyện? • Hiển nhiên là có thể kiểm tra tất cả văn bản có chứa Tô Hoài và Hà Nội, sau đó loại bỏ văn bản có từ truyện. • Vì sao đây không phải là cách giải quyết vấn đề? • Chậm (với bộ dữ liệu lớn) • Tốn rất nhiều thời gian để xử lý một vài toán tử khác (ví dụ, tìm từ tác phẩm gần từ thiếu nhi). • Hạn chế khả năng áp dụng tìm kiếm có xếp hạng

  9. Ma trận đánh dấu sự xuất hiện từ trong văn bản • Bằng 1 nếu từ xuất hiện. Ví dụ: a xuất hiện trong d2 • Bằng 0 nếu từ không xuất hiện. Ví dụ: a không xuất hiện trong d3

  10. Vec-tơ đánh dấu • Chúng ta có một vec-tơ 0/1 cho mỗi từ • Để trả lời những truy vấn đã nêu chúng ta chỉ cần thực hiện phép toán logic theo bit: • Ví dụ, truy vấn a AND b AND NOT d được thực hiện như sau: • 1101001 AND • 1001101 AND • 1011010 = • 1001000

  11. Bộ dữ liệu lớn • Xét N = 106 văn bản, mỗi văn bản có khoảng 1000 từ • Tổng số là 109 từ • Trung bình 6 bytes cho mỗi từ, bao gồm cả khoảng trắng và dấu câu. Bộ dữ liệu khoảng 6 * 109 ~ 6 Gb • Giả sử có M = 500 000 từ khác nhau trong bộ dữ liệu

  12. Không thể xây dựng ma trận nhị phân từ-văn bản • M = 500 000 * 106 = 500 * 109(năm trăm tỉ giá trị 0 và 1) • Nhưng kích thước ma trận thường không lớn hơn 1 tỉ • Ma trận rất phân tán (quá nhiều giá trị 0) • Chúng ta cần cách biểu diễn hiệu quả hơn • Chỉ lưu giá trị 1

  13. Chỉ mục ngược, giới thiệu chung • Cấu trúc dữ liệu phục vụ tìm kiếm phổ biến nhất • Được xây dựng từ bộ dữ liệu • Mỗi văn bản được phân tích thành bộ từ vựng phù hợp với mô hình tìm kiếm được sử dụng • Trong trường hợp này từ có thể hiểu đơn giản là một chuỗi ký tự, không nhất thiết phải có ý nghĩa • Gồm hai phần chính • Bộ từ vựng • Bộ thẻ vị trí

  14. Thẻ định vị posting Bộ từ vựng dictionary, lexicon Danh sách thẻ định vị postings list Bộ thẻ định vị postings Chỉ mục ngược – các thuật ngữ liên quan Với mỗi từ chúng ta lưu danh sách văn bản chứa từ đó

  15. Chỉ mục ngược – các thuật ngữ liên quan • For each term, we have a list that records which documents the term occurs in. Each item in the list – which records that a term appeared in a document (and, later, often, the positions in the document) – is conventionally called a posting. The list is then called a postings list (or inverted list), and all the postings lists together are refered to as the postings. [IIR, Christopher D. Manning] • Với mỗi thuật ngữ, chúng ta có một danh sách ghi lại những văn bản mà thuật ngữ này xuất hiện trong đó. Mỗi phần tử trong danh sách đó ghi thông tin một thuật ngữ đã xuất hiện trong một văn bản (và tiếp theo, thường là các tọa độ trong văn bản) – thường được gọi là thẻ định vị (posting). Vì vậy danh sách tương ứng được gọi là danh sách thẻ định vị (còn được gọi là danh sách ngược), và tất cả các danh sách thẻ định vị cùng được gọi là bộ thẻ định vị. [IIR, Christopher D. Manning]

  16. Chỉ mục ngược – các thuật ngữ liên quan • Bộ từ vựng • Từ điển hoặc bộ ngữ vựng • Tập hợp của tất cả từ trong văn bản • Thẻ định vị chứa các thông tin • Mã số văn bản chứa từ tương ứng • Số lần từ xuất hiện trong văn bản • Vị trí của từ trong văn bản • v.v.

  17. Ví dụ thẻ định vị • mã văn bản: 1 • vị trí nội văn bản: 3, 16, 22 • tần suất nội văn bản: 3 “Thẻ định vị giúp xác định văn bản chứa từ tương ứng hay vị trí của nó”

  18. Xây dựng chỉ mục ngược – khái quát thuật toán • Tiền xử lý văn bản → Sinh thẻ định vị → Sắp xếp thẻ định vị → Xây dựng danh sách thẻ định vị, xác định tần suất văn bản → Tách kết quả thành bộ từ vựng và bộ thẻ định vị • Chi tiết thuật toán xây dựng chỉ mục ngược sẽ được xem xét ở những chương sau.

  19. Ví dụ xây dựng chỉ mục ngượcTách từ, tiền xử lý văn bản • D1. Dế mèn phiêu lưu kí, là, tác phẩm, văn xuôi, đặc sắc, và, nổi tiếng nhất, của, Tô Hoài, viết về, loài vật, dành cho, lứa tuổi thiếu nhi • D2. Tô Hoài, sinh, ngày 27 tháng 9 năm 1920, là, một, nhà văn, Việt Nam, nổi tiếng, Một số, tác phẩm, đề tài, thiếu nhi, của, ông, được, dịch, ra, ngoại ngữ • D1. “Dế mèn phiêu lưu kí" là tác phẩm văn xuôi đặc sắc và nổi tiếng nhất của Tô Hoài viết về loài vật, dành cho lứa tuổi thiếu nhi • D2. Tô Hoài (sinh ngày 27 tháng 9 năm 1920) là một nhà văn Việt Nam nổi tiếng. Một số tác phẩm đề tài thiếu nhi của ông được dịch ra ngoại ngữ.

  20. Từ Mã văn bản DMPLK 1 là 1 tác phẩm 1 văn xuôi 1 đặc sắc 1 và 1 nổi tiếng nhất 1 của 1 Tô Hoài 1 viết về 1 loài vật 1 dành cho 1 lứa tuổi thiếu nhi 1 Tô Hoài 2 sinh 2 27-9-1920 2 là 2 một 2 nhà văn 2 Việt Nam 2 nổi tiếng 2 Một số 2 tác phẩm 2 đề tài 2 thiếu nhi 2 của 2 ông 2 được 2 dịch 2 ra 2 ngoại ngữ 2 Sinh thẻ định vị • D1. Dế mèn phiêu lưu kí, là, tác phẩm, văn xuôi, đặc sắc, và, nổi tiếng nhất, của, Tô Hoài, viết về, loài vật, dành cho, lứa tuổi thiếu nhi • D2. Tô Hoài, sinh, ngày 27 tháng 9 năm 1920, là, một, nhà văn, Việt Nam, nổi tiếng, Một số, tác phẩm, đề tài, thiếu nhi, của, ông, được, dịch, ra, ngoại ngữ *DMPLK: Dế mèn phiêu lưu kí 27-9-1920: ngày 27 tháng 9 năm 1920

  21. Từ Mã văn bản DMPLK 1 27-9-1920 2 của 1 của 2 đặc sắc 1 dành cho 1 đề tài 2 dịch 2 được 2 là 1 là 2 loài vật 1 lứa tuổi thiếu nhi 1 một 2 Một số 2 ngoại ngữ 2 nhà văn 2 nổi tiếng 2 nổi tiếng nhất 1 ông 2 ra 2 sinh 2 tác phẩm 1 tác phẩm 2 thiếu nhi 2 Tô Hoài 1 Tô Hoài 2 và 1 văn xuôi 1 Việt Nam 2 viết về 1 Từ Mã văn bản DMPLK 1 là 1 tác phẩm 1 văn xuôi 1 đặc sắc 1 và 1 nổi tiếng nhất 1 của 1 Tô Hoài 1 viết về 1 loài vật 1 dành cho 1 lứa tuổi thiếu nhi 1 Tô Hoài 2 sinh 2 27-9-1920 2 là 2 một 2 nhà văn 2 Việt Nam 2 nổi tiếng 2 Một số 2 tác phẩm 2 đề tài 2 thiếu nhi 2 của 2 ông 2 được 2 dịch 2 ra 2 ngoại ngữ 2 Sắp xếp

  22. Từ Mã văn bản DMPLK 1 27-9-1920 2 của 1 của 2 đặc sắc 1 dành cho 1 đề tài 2 dịch 2 được 2 là 1 là 2 loài vật 1 lứa tuổi thiếu nhi 1 một 2 Một số 2 ngoại ngữ 2 nhà văn 2 nổi tiếng 2 nổi tiếng nhất 1 ông 2 ra 2 sinh 2 tác phẩm 1 tác phẩm 2 thiếu nhi 2 Tô Hoài 1 Tô Hoài 2 và 1 văn xuôi 1 Việt Nam 2 viết về 1 Từ , tần suất vb danh sách thẻ vị trí DMPLK, 1 → 1 27-9-1920, 1 → 2 của, 2 → 1, 2 đặc sắc, 1 → 1 dành cho, 1 → 1 đề tài, 1 → 2 dịch, 1 → 2 được, 1 → 2 là, 2 → 1, 2 loài vật, 1 → 1 lứa tuổi thiếu nhi, 1 → 1 một, 1 → 2 Một số, 1 → 2 ngoại ngữ, 1 → 2 nhà văn, 1 → 2 nổi tiếng, 1 → 2 nổi tiếng nhất, 1 → 1 ông, 1 → 2 ra, 1 → 2 sinh, 1 → 2 tác phẩm, 2 → 1, 2 thiếu nhi,1 → 2 Tô Hoài, 2 → 1, 2 và, 1 → 1 văn xuôi, 1 → 1 Việt Nam, 1 → 2 viết về, 1 → 1 Tạo danh sách

  23. Tách kết quả thành bộ từ vựng và bộ thẻ định vị Bộ thẻ định vị postings Bộ từ vựng dictionary, lexicon

  24. Xử lý truy vấn Boolean: toán tử AND • Để thực diện truy vấn: a AND b • Xác định a trong bộ từ vựng • Lấy danh sách thẻ vị trí của nó • Xác định b trong bộ từ vựng • Lấy danh sách thẻ vị trí của nó • Lấy phần chung của hai danh sách

  25. Lấy giao hai danh sách • Duyệt đồng thời cả hai danh sách, thời gian tỉ lệ thuận với tổng số thẻ vị trí Nếu độ dài các danh sách tương ứng là x và y, độ phức tạp thuật toán là O(x + y) Với điều kiện: các danh sách được sắp xếp theo mã văn bản

More Related