440 likes | 674 Views
IT4853 Tìm kiếm và trình diễn thông tin. Chương 6: Tìm kiếm Nguyễn Bá Ngọc. Nội dung chính. Khái quát tìm kiếm thông tin XML XML IR XML: những khái niệm cơ bản Những khó khăn trong xây dựng hệ thống tìm kiếm XML Mô hình không gian vec-tơ cho tìm kiếm thông tin XML
E N D
IT4853 Tìm kiếm và trình diễn thông tin Chương 6: Tìm kiếm Nguyễn Bá Ngọc
Nội dung chính • Khái quát tìm kiếm thông tin XML • XML IR • XML: những khái niệm cơ bản • Những khó khăn trong xây dựng hệ thống tìm kiếm XML • Mô hình không gian vec-tơ cho tìm kiếm thông tin XML • Đánh giá hiệu quả tìm kiếm thông tin XML
Nội dung chính • Khái quát tìm kiếm thông tin XML • XML IR • XML: những khái niệm cơ bản • Những khó khăn trong xây dựng hệ thống tìm kiếm XML • Mô hình không gian vec-tơ cho tìm kiếm thông tin XML • Đánh giá hiệu quả tìm kiếm thông tin XML
IR vs. RDB • Những hệ thống tìm kiếm thông tin thường được so sánh với những cơ sở dữ liệu quan hệ. • Hệ thống tìm kiếm thông tin truyền thống trả về văn bản phi cấu trúc (văn bản thuần túy, không có thẻ mô tả). • Hệ CSDL được sử dụng để truy xuất dữ liệu kiểu quan hệ: tập bản ghi với giá trị được xác định cho những thuộc tính như mã nhân viên, tiêu đề và lương. • Trong nhiều trường hợp, phương pháp tìm kiếm thông tin phù hợp hơn với dữ liệu văn bản có cấu trúc so với CSDL quan hệ.
Tìm kiếm có cấu trúc Đặc điểm cơ bản: Truy vấn có thể có cấu trúc hoặc không, nhưng văn bản luôn có cấu trúc.
Vì sao RDB không phù hợp trong trường hợp này? • Ba vấn đề chủ yếu: • Hệ thống không xếp hạng (DB) có xu hướng trả về một số lượng lớn kết quả và không sắp xếp theo sự phù hợp với truy vấn. • Người dùng có thể gặp khó khăn khi cố gắng phát biểu chính xác những ràng buộc về mặt cấu trúc vì không nắm bắt được những đơn vị cấu trúc được sử dụng bởi hệ thống. • Người dùng có thể hoàn toàn không quen với tìm kiếm có cấu trúc và giao diện tìm kiếm nâng cao hoặc không muốn sử dụng nó. • Giải pháp: sử dụng tìm kiếm có xếp hạng cho những tài liệu có cấu trúc để giải quyết những vấn đề này.
Tìm kiếm có cấu trúc • Ngôn ngữ chuẩn để biên soạn văn bản có cấu trúc là XML • Tìm kiếm có cấu trúc còn được biết đến là tìm kiếm thông tin XML • Còn có thể áp dụng cho những ngôn ngữ có cấu trúc khác như (HTML, SGML, ...)
Nội dung chính • Khái quát tìm kiếm thông tin XML • XML IR • XML: những khái niệm cơ bản • Những khó khăn trong xây dựng hệ thống tìm kiếm XML • Mô hình không gian vec-tơ cho tìm kiếm thông tin XML • Đánh giá hiệu quả tìm kiếm thông tin XML
Văn bản XML <play> <author>Shakespeare</author> <title>Macbeth</title> <actnumber=“I”> <scenenumber=“”vii”> <title>Macbeth’s castle</title> <verse>Will I with wine …</verse> </scene> </act> </play> • Cây có thứ tự và gán nhãn • Mỗi nút của cây là một phần tử XML được xác định bằng một thẻ mở và thẻ đóng (V.D. <title…>, </title…>) • Mỗi phần tử có thể có một vài thuộc tính • Mỗi thuộc tính có thể có giá trị • Thuộc tính có thể chứa phần tử trực thuộc, v.d. <rectangle size=“height:100px; width:200px> </rectangle>
Văn bản XML root element play element author element act element title text Shakespeare text Macbeth element scene attribute number=“I” element verse attribute number=“vii” element title text Shakespeare text Macbeth’s castle
Văn bản XML Những nút lá chứa văn bản root element play element author element act element title text Shakespeare text Macbeth element scene attribute number=“I” element verse element title attribute number=“vii” text Shakespeare text Macbeth’s castle
Văn bản XML root element play Những nút còn lại thể hiện cấu trúc văn bản hoặc chức năng siêu dữ liệu element author element act element title text Shakespeare text Macbeth element scene attribute number=“I” element verse attribute number=“vii” element title text Shakespeare text Macbeth’s castle
Căn bản về XML • XML Documents Object Model (XML DOM): chuẩn phục vụ đọc và xử lý văn bản XML • DOM biểu diễn phần tử, thuộc tính và văn bản trong tài liệu như những nút trong một cây. • Với DOM API chúng ta có thể xử lý một văn bản XML bằng cách bắt đầu từ nút gốc và di chuyển sâu hơn từ nút cha tới nút con. • XPath: chuẩn để đánh dấu đường đi trong một bộ dữ liệu văn bản XML. • Chúng ta sẽ còn gọi đường dẫn như là ngữ cảnh XML hoặc đơn giản là ngữ cảnh • Schema: đặt giới hạn về cấu trúc để xác định tính hợp lệ của văn bản XML. Ví dụ sơ đồ cho những tác phẩm của Shakespeare: cảnh có thể là nút con của màn. • Hai chuẩn sơ đồ cho văn bản XML là: XML DTD (document type definition) và XML Schema.
Nội dung chính • Khái quát tìm kiếm thông tin XML • XML IR • XML: những khái niệm cơ bản • Những khó khăn trong xây dựng hệ thống tìm kiếm XML • Mô hình không gian vec-tơ cho tìm kiếm thông tin XML • Đánh giá hiệu quả tìm kiếm thông tin XML
Khó khăn số 1: tìm kiếm phần văn bản phù hợp Trong tìm kiếm XML: người dùng muốn chúng ta trả về một phần văn bản (V.D. những phần tử XML), không phải toàn bộ văn bản như trong tìm kiếm phi cấu trúc. • Trong trường hợp này, người dùng đang tìm một cảnh. • Mặc dù vậy, trong trường hợp với truy vấn Macbeth cần trả về vở kịch với tên này, không phải một phần của nó. • Giải pháp: nguyên tắc tìm kiếm văn bản có cấu trúc
Nguyên tắc tìm kiếm văn bản có cấu trúc • Thúc đẩy giải pháp trả về đơn vị nhỏ nhất có chứa thông tin đang được tìm kiếm, nhưng không duyệt thấp hơn mức này. • Khó cài đặt giải thuật theo nguyên tắc này. V.D truy vấn: tiêu đề: Macbeth có thể đồng thời phù hợp với tiêu đề của vở bi kịch, Macbeth, và tiêu đề của màn I, cảnh VII, Macbeth’s castle. • Nhưng trong trường hợp này, tiêu đề của vở bi kịch (nút cao hơn) phù hợp hơn. • Khó xác định mức nào của cây đáp ứng được truy vấn.
Khó khăn thứ 2: phần văn bản cần đánh chỉ mục • Đơn vị cơ bản để đánh chỉ mục và xếp hạng trong tìm kiếm thông tin: đơn vị văn bản hoặc đơn vị chỉ mục. • Trong tìm kiếm phi cấu trúc việc xác định đơn vị chỉ mục là đơn giản hơn tệp, email, trang web v.v. • Trong tìm kiếm có cấu trúc, có bốn giải pháp khác nhau xác định đơn vị đánh chỉ mục • văn bản độc lập • chi tiết hóa (top down) • khái quát hóa (bottom up) • tất cả
Đơn vị đánh chỉ mục XML: giải pháp 1 • Mỗi tổ hợp nút tự do là một văn bản độc lập. • Đơn vị chỉ mục: toàn văn bản, chương, mục, nhưng không chồng lấn. • Nhược điểm: văn bản tự do có thể không có ý nghĩa với người dùng bởi vì các thành phần của nó không liên kết với nhau.
Đơn vị chỉ mục XML: giải pháp 2 • Chi tiết hóa (quá trình 2 giai đoạn): • Ban đầu sử dụng những phần tử cao nhất làm đơn vị chỉ mục, ví dụ phần tử doc trong bộ dữ liệu wikipedia • Sau đó hậu xử lý kết quả tìm kiếm để tìm phần tử con của doc phù hợp nhất với truy vấn. • Quá trình tìm kiếm qua hai bước này thường không tìm được kết quả tốt nhất vì sự phù hợp của cả tài liệu không khẳng định sự phù hợp của một phần tử nhỏ bên trong nó.
Đơn vị chỉ mục XML: giải pháp 3 • Khái quát hóa: • Thay vì trả về những đơn vị lớn rồi xác định những phần tử con của nó (chi tiết hóa), chúng ta có thể tìm những nút lá, lựa chọn những phần tử phù hợp nhất rồi sau đó mở rộng đến những đơn vị lớn hơn trong quá trình hậu xử lý. • Vấn đề tương tự như đối với chi tiết hóa: sự phù hợp của nút lá không khẳng định sự phù hợp của nút chứa nó.
Đơn vị chỉ mục XML: giải pháp 4 • Đánh chỉ mục mọi phần tử: giải pháp ít giới hạn nhất. Còn có những vấn đề: • Có nhiều phần tử XML là vô nghĩa đối với kết quả tìm kiếm. • Đánh chỉ mục mọi phần tử nghĩa là kết quả tìm kiếm sẽ dư thừa nhiều. • Chúng ta gọi hiện tượng một phần tử nằm trong một phần tử khác là những phần tử lồng nhau (nested elements). Trả về những phần tử lồng nhau nhiều lần trong danh sách kết quả được coi là không thân thiện với người dùng.
Khó khăn thứ 3: những phần tử lồng nhau • Để giải quyết vấn đề trùng lặp do những phần tử lồng nhau thường giới hạn tập phần tử cho tim kiếm. Giải pháp giới hạn bao gồm: • Loại bỏ tất cả phần tử nhỏ • Loại bỏ tất cả phần tử mà người dùng không xem đến (dựa trên lịch sử hệ thống) • Loại bỏ tất cả phần tử mà người đánh giá cho là không phù hợp (nếu có dữ liệu tương ứng) • Chỉ giữ lại những lớp phần tử mà người thiết kế hệ thống cho rằng hữu ích trong tìm kiếm • Trong hầu hết giải pháp này, tập kết quả vẫn sẽ chứa những phần tử lồng nhau.
Khó khăn thứ 3: những phần tử lồng nhau • Những kỹ thuật khác: • Loại phần tử lồng nhau trong bước hậu xử lý để giảm sự trùng lặp. • Đóng một vài phần tử lồng nhau và làm nổi bật từ truy vấn để hướng sự chú ý của người dùng tới trích đoạn phù hợp.
Phần tử lồng nhau và thống kê • Một khó khăn khác liên quan tới sự lồng nhau: chúng ta thể phải phân biệt nhữ cảnh của thuật ngữ khi đếm chúng phục vụ xếp hạng, ví dụ nghịch đảo tần suất văn bản (idf ). • Giải pháp: tính idf cho mỗi cặp ngữ cảnh XML – thuật ngữ. • vấn đề dữ liệu thưa (nhiều cặp ngữ cảnh XML xuất hiện quá ít để có thể ước lượng df một cách chính xác) • Giải pháp: chỉ tính nút cha của thuật ngữ (nút x) chứ không phải toàn bộ đường dẫn từ gốc tới x trong vai trò ngữ cảnh.
Nội dung chính • Khái quát tìm kiếm thông tin XML • XML IR • XML: những khái niệm cơ bản • Những khó khăn trong xây dựng hệ thống tìm kiếm XML • Mô hình không gian vec-tơ cho tìm kiếm thông tin XML • Đánh giá hiệu quả tìm kiếm thông tin XML
Ý tưởng chủ đạo: cây con theo từ vựng • Mục đích: mỗi chiều trong không gian vec-tơ là một từ cùng với vị trí của nó trong cây XML. • Phương pháp: gán những văn bản XML với những cây con theo từ vựng. Microsoft Bill Gates Book Title Author Author Title Author Microsoft Bill Gates Microsoft Bill Gates Book Book . . . Title Author Microsoft Bill Gates
Ý tưởng chủ đạo: cây con theo từ vựng • Lấy mỗi nút văn bản (lá) và chia nó thành nhiều nút, mỗi nút là một từ. V.D. tách Bill Gates thành Bill và Gates • Mỗi cây con theo từ vựng là một chiều của không gian vec-tơ – cây con có chứa ít nhất một thuật ngữ. Microsoft Bill Gates Book Title Author Author Title Author Microsoft Bill Gates Microsoft Bill Gates Book Book . . . Title Author Microsoft Bill Gates
Cây con theo từ vựng • Bây giờ chúng ta có thể biểu diễn truy vấn và văn bản như những vec-tơ trong không gian này và tính mức độ phù hợp giữa chúng, • v.d. sử dụng mô hình không gian vec-tơ.
Thuật ngữ có cấu trúc • Có sự bù trừ giữa số chiều không gian vec-tơ và độ chính xác thực hiện truy vấn. • Nếu chúng ta giới hạn số chiều bằng kích thước bộ từ vựng, thì chúng ta sẽ có mô hình không gian vec-tơ chuẩn. Tuy nhiên hệ thống tương ứng sẽ trả về nhiều văn bản không phù hợp với cấu trúc truy vấn (v.d. Gates trong nút title thay vì author). • Nếu chúng coi mỗi cây con theo từ vựng là một chiều thì số chiều của không gian trở nên quá lớn. Giải pháp: đánh chỉ mục tất cả đường dẫn kết thúc bởi một thuật ngữ duy nhất, hay nói cách khác là tất cả cặp ngữ cảnh–thuật ngữ. Chúng ta gọi đó là thuật ngữ có cấu trúc và ký hiệu bởi <c, t>: một cặp ngữ cảnh XML c và thuật ngữ t.
Sự tương đồng ngữ cảnh • Có thể đo mức tương đồng giữa đường dẫn cq trong một truy vấn và cd trong văn bản bằng hàm CR như sau: • |cq| và |cd| tương ứng là số nút trong đường dẫn của truy vấn và văn bản. • cq đáp ứng (match) cd nếu chúng ta có thể biến cq thành cd bằng cách bổ xung một vài nút.
Ví dụ sự giống nhau giữa ngữ cảnh CR(cq, cd) = 3/4 = 0.75. Giá trị của CR(cq, cd) là 1.0 nếu q và d là hoàn toàn giống nhau.
Ví dụ sự giống nhau giữa ngữ cảnh CR(cq, cd) = ? CR(cq, cd) = 3/5 = 0.6.
Đo mức độ giống nhau giữa văn bản Điểm cuối cùng cho một văn bản được tính như một trường hợp của độ đo cosine, chúng ta gọi là SIMNOMERGE. SIMNOMERGE(q, d) = • V là bộ từ vựng của thuật ngữ phi cấu trúc • B là tập của tất cả ngữ cảnh XML • các trọng số weight (q, t, c), weight(d, t, c) là các trọng số của thuật ngữ t trong ngữ cảnh XML (c) trong truy vấn q và trong văn bản d. (phương pháp đánh giá trọng số chuẩn idft x wft,d, trong đó idft phụ thuộc vào phần tử nào được sử dụng để tính dft.) • SIMNOMERGE(q, d) không thực sự là độ đo cosine bởi vì giá trị của nó có thể lớn hơn 1.0.
Giải thuật SIMNOMERGE SCOREDOCUMENTSWITHSIMNOMERGE(q, B, V, N, normalizer)
Nội dung chính • Khái quát tìm kiếm thông tin XML • XML IR • XML: những khái niệm cơ bản • Những khó khăn trong xây dựng hệ thống tìm kiếm XML • Mô hình không gian vec-tơ cho tìm kiếm thông tin XML • Đánh giá hiệu quả tìm kiếm thông tin XML
Dự án đánh giá hiệu quả tìm kiếm XML – INEX • INEX: (hàng năm) dự án này cung cấp bộ dữ liệu đánh giá chuẩn (văn bản, tập truy vấn và đánh giá phù hợp). • Dựa trên những tạp chí IEEE (từ 2006 INEX sử dụng bộ dữ liệu Wikipedia tiếng anh, lớn hơn bộ dữ liệu cũ nhiều lần). • Sự phù hợp của văn bản được đánh giá bởi con người.
Chủ đề INEX • Hai dạng: • chủ đề CO (nội dung): truy vấn thông thường bằng từ khóa như trong tìm kiếm phi cấu trúc • Chủ đề CAS (nội dung và cấu trúc): có ràng buộc bổ xung về cấu trúc cho từ khóa • Do truy vấn CAS xét đến cả nội dung và cấu trúc, đánh giá sự phù hợp được cho là phức tạp hơn so với tìm kiếm phi cấu trúc
Đánh giá sự phù hợp trong INEX INEX 2002 định nghĩa độ phủ các thành phần và sự phù hợp với chủ đề như hai chiều của sự phù hợp. • Chúng ta phân biệt 4 trường hợp: • Phủ tuyệt đối (E): Thông tin cần thiết là chủ đề chính của một phần tử và phần tử đó là đơn vị thông tin có nghĩa rõ ràng. • Quá nhỏ (S): Thông tin cần thiết là chủ đế chính của một phần tử, nhưng phần tử đó không có nghĩa rõ ràng. • Quá lớn (L): Thông tin cần thiết xuất hiện trong một phần tử nhưng không phải là chủ đề chính. • Không phủ (N): Thông tin cần thiết không nằm trong của phần tử đó.
Đánh giá phù hợp INEX Các chiều của sự phù hợp với chủ đề còn có bốn mức: phù hợp ở mức cao (3), khá phù hợp (2), ở ngưỡng phù hợp (1) và không phù hợp (0).
Đánh giá phù hợp INEX định lươngtổ hợp sự phù hợp-độ phủ (relevance-coverage): Quy trình đánh giá này tính đến thực tế là đánh giá phù hợp nhị phân (phương pháp chuẩn trong tìm kiếm phi cấu trúc) không thích hợp với tìm kiếm XML. Hàm định lương Q không khẳng định lựa chọn nhị phân phù hợp/không phù hợp và thay vì cho phép chúng ta đánh giá mỗi thành phần như phù hợp một phần. Có thể tính kích thước của tập trả về A như sau:
Những độ đo INEX Những định nghĩa chuẩn của độ chính xác và độ đầy đủ có thể được sử dụng trong trường hợp này với sự thay đổi về cách tính kích thước tập hợp. Chúng ta tính tổng các giá trị đánh giá thay vì đếm số phần tử trong trường hợp phù hợp nhị phân. Tiêu điểm của INEX: phát triển giải thuật trả về danh sách kết quả không trùng lặp và độ đo mới nhằm đánh giá kết quả tìm kiếm một cách chính xác.
Tổng kết • Tìm kiếm có cấu trúc hoặc XML: công việc chuyển phương pháp tìm kiếm phi cấu trúc sang trường hợp tìm kiếm sử dụng cấu trúc • Ứng dụng cụ thể (v.d. CSDL bằng phát minh, thư viện số) • Đây là vấn đề đã tồn tại hàng thập kỷ, nhưng chưa được giải quyết • http://inex.is.informatik.uni-duisburg.de/