1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài toán tìm kiếm và rút trích thông tin từ những nguồn dữ liệu lớn sử dụng XML XML schema matching

112 26 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 112
Dung lượng 1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

2.1 Đối sánh một tài liệu bằng một tập các tài liệu Hai cách tiếp cận khác nhau có thể được đặt ra cho sự đo lường tương đồng cấu trúc giữa một tài liệu XML và một DTD: DTD có thể được

Trang 1

TRUỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SĨ KHOA HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC:

1 PGS.TS HUỲNH QUYẾT THẮNG

Hà nội – 2009

Trang 2

MỤC LỤC

DANH MỤC BẢNG BIỂU 5

DANH MỤC HÌNH VẼ 5

CHƯƠNG I: MỞ ĐẦU 7

1 Lời mở đầu 7

2 Giới thiệu chung 8

3 Nội dung luận văn 10

CHƯƠNG II: GIẢI THUẬT ĐỐI SÁNH ĐO LƯỜNG SỰ TƯƠNG ĐỒNG VỀ C ẤU TRÚC GIỮA TÀI LIỆU XML VÀ DTD 12

1 Tài liệu và DTD như những cây 12

1.1 Cây biểu diễn của những tài liệu 13

1.2 Cây biểu diễn của DTDs 14

2 Những nguyên lý trong việc đối sánh một tài liệu XML dựa vào một DTD 17 2.1 Đối sánh một tài liệu bằng một tập các tài liệu 17

2.2 Thành phần chung, thêm và trừ 18

2.2.1 Mức của một thành phần 20

2.2.2 Trọng số của một thành phần 21

2.2.3 Những thành phần tùy chọn và lặp 24

2.2.4 Những thành phần chuỗi và thay thế 25

2.2.5 Vai trò của thông số và cách thiết lập 26

3 Giải thuật đối sánh 27

3.1 Hàm lượng giá 27

3.2 Giải thuật đối sánh 29

3.2.1 Giải pháp đơn giản 29

3.2.2 G iải thuật 31

3.3 Đo lường độ tương đồng 40

Trang 3

3.4 Độ phức tạp của giải thuật 44

3.4.1 Số lần gọi đệ quy 44

3.4.2 Số của những thao tác 44

3.4.3 Tổng hợp thời gian chạy 46

3.5 Giải thuật đối sánh cho trường hợp tổng quát 47

3.5.1 Những thành phần con với cùng tags 48

3.5.2 Các thành phần con với tag tương đương 53

CHƯƠNG III: GIẢI THUẬT ĐO LƯỜNG SỰ SAI KHÁC CỦA CÂY XML DỰA VÀO CHUỖI LIÊN KẾT 56

1 Sự sai khác của XML 56

1.1 Một vài định nghĩa nền tảng và ví dụ 56

1.2 XML như là chuỗi 58

2 Đối sánh chuỗi XML 58

3 Giải thuật khác biệt 61

3.1 Giải thuật tham lam cho tính linh động và tốc độ 61

3.2 Giải thuật mã hóa sai khác XML với tham chiếu 66

CHƯƠNG IV: CÁC ỨNG DỤNG 70

1 Phân loại tài liệu 70

2 Phát triển cấu trúc DTD 72

3 Cấu trúc truy vấn 77

4 Lựa chọn sự phổ biến của những tài liệu XML 79

5 Bảo vệ những tài liệu XML 81

CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 83

1 Kết Luận 83

2 Hướng phát triển 84

DANH MỤC TÀI LIỆU THAM KHẢO 85

PHỤ LỤC 01: GIẢI THUẬT ĐỐI SÁNH 86

1 Giải thuật M 86

2 Hàm H AND 88

Trang 4

3 Hàm H OR 89

PHỤ LỤC 02: XML 90

1 XML là gì? 90

1.1 Giới thiệu 90

1.2 Sự khác biệt giữa XML và HTML 90

1.2.1 HTML (HyperText Markup language) 90

1.2.2 XML 91

1.3 Biểu diễn dữ liệu bằng XML 91

1.4 Những thuận lợi của XML 91

2 Các cú pháp và quy tắc của XML 92

2.1 Thẻ kết thúc 92

2.2 Thẻ XML phân biệt chữ hoa, chữ thường 92

2.3 Các thẻ và các thành phần phải được lồng nhau chính xác 93

2.4 Thành phần gốc 93

2.5 Nguyên tắc về thuộc tính 93

2.6 Khai báo một văn bản XML 94

2.7 Một số chú ý khác trong văn bản XML 94

2.8 Namespaces 95

3 Xác định nội dung văn bản 96

3.1 Xác định loại văn bản 96

3.1.1 Biểu tượng trong các DTD 97

3.1.2 Tính đàn hồi 99

3.2 Các sơ đồ XML 99

3.2.1 Xác định phần tử trong sơ đồ 100

3.2.2 Xác định phần tử có trong sơ đồ 100

4 Các giao diện lập trình XML 100

4.1 Tổng quan 100

4.2 DOM 101

4.3 API đơn giản cho XML 101

Trang 5

4.4 JDOM 103

4.5 The Java API for XML Parsing(Java API cho kiểm ngữ XML) 103

5 Các tiêu chuẩn XML 104

5.1 Tổng quan các tiêu chuẩn XML 104

5.2 Đặc tính kỹ thuật XML 104

5.3 XLST 104

5.3.1 Vấn đề đặt ra 104

5.3.2 XSLT 104

5.3.3 Bảng định kiểu stylesheet cơ bản 105

5.3.4 Lập trình XSLT 106

6 Xquery 108

6.1 Tổng quan về Xquery 108

6.2 Hàm XQuery là gì? 109

6.3 Gọi 1 hàm Xquery 110

6.4 Lợi ích khi dùng các hàm Xquery 111

Trang 6

DANH MỤC BẢNG BIỂU

Bảng 2.1: đo lường sự tương đồng giữa tài liệu và DTD của ví dụ 6 25

Bảng 2.2: Thông số của giải thuật đối sánh 26

Bảng 3: Những cấu hình để kiểm tra cho tài liệu và DTD trong hình 2.17 51

Bảng 4: ví dụ viết lại những luật của DTD 53

Bảng 5: những kiểu sự kiện trung tâm của XAS 58

DANH MỤC HÌNH VẼ Hình 2.1: một ví dụ của tài liệu XML 12

Hình 2.2: một ví dụ của DTD 13

Hình 2.3: cây biểu diễn của tài liệu XML 14

Hình 2.4: biểu diễn cây của DTD 16

Hình 2.5: ví dụ các DTD biểu diễn cho node gán nhãn AND 16

Hình 2.6: xác định các thành phần thông thường, thêm,trừ 19

Hình 2.7: tài liệu và DTD cho ví dụ 2 20

Hình 2.8: những tài liệu và DTD của ví dụ 4 22

Hình 2.9: tài liệu và DTD của ví dụ 6 24

Trang 7

Hình 2.10: Cây biểu diễn của tài liệu và DTD của ví dụ 8 29

Hình 2.11: lượng giá sự tương đồng 30

Hình 2.12: Hàm M (trường hợp của một thành phần) 35

Hình 2.13: Hàm M (trường hợp * và +) 37

Hình 2.14: Hàm M (trường hợp AND và OR) 40

Hình 2.15: sự thực thi của hàm M 42

Hình 2.16: những biểu diễn cây của tài liệu và DTD cho ví dụ 11 48

Hình 2.17: cây biểu diễn của tài liệu và DTD biểu diễn thành phần lặp 50

Hình 2.18: những biểu diễn cây của tài liệu và DTD trong ví dụ 16 55

Hình 3.1: ví dụ sai khác, d0 tài liệu ban đầu, d1 tài liệu đã được biến đổi 57

Hình 3.2: đối sánh lượng giá của chuỗi những tài liệu 63

Hình 3.3: Giải thuật mã hóa sai khác 68

Hình 3.4: metadiff giữa d0 và d1 69

Hình 4.1: sự phân loại của một tài liệu 71

Hình 4.2: Dòng dữ liệu của phát triển tiếp cận 74

Hình 4.3 (a) DTD, (b) loại của những tài liệu phân loại dựa vào DTD, (c) DTD mở rộng 75

Hình 4.4: Ứng dụng của giải thuật phát triển 76

Hình 4.5: đánh giá truy vấn cấu trúc 78

Hình 4.6: tích hợp sự phân loại và những tiếp cận phát triển trong một SDI 80

Trang 8

CHƯƠNG I: MỞ ĐẦU

1 Lời mở đầu

Trong những năm gần đây, cùng với sự phát triển của Internet, các nguồn dữ liệu lớn cũng dần hình thành với sự đa dạng về thông tin, cấu trúc lưu trữ và mã hóa Do những sự đa dạng trên, nhu cầu xây dựng một hệ thống để trao đổi thông tin qua lại

là rất cần thiết Tuy nhiên, do hệ thống dữ liệu là rất lớn và các dữ liệu này không đồng nhất với nhau Vì vậy, nếu dùng các hệ thống cơ sở dữ liệu quan hệ hiện thời

để lưu trữ và tra cứu thì sẽ gặp rất nhiều khó khăn Một giải pháp đưa ra đó là sử dụng XML làm nền tảng để lưu trữ

Sự khác biệt cơ bản giữa XML và HTML là HTML dùng để biểu diễn dữ liệu trong khi XML lại được sử dụng như là những cấu trúc để lưu trữ, chuyển đổi thông tin XML ra đời không nhằm thay thế cho HTML mà thực chất XML là một sự bổ sung cho những thiếu sót của HTML trong việc lưu trữ và chuyển dữ liệu Với thế mạnh

là sự linh động trong cấu trúc, XML ngày nay được sử dụng để lưu trữ trong hầu hết các ứng dụng Web phức tạp và được sử dụng để định nghĩa cho các lược đồ cơ sở

dữ liệu động

Hiện tại đã có rất nhiều nghiên cứu xoay quanh vấn đề tìm kiếm và rút trích thông tin từ XML Một phương pháp hiện đang được quan tâm và phát triển mạnh là phương pháp đối sánh lược đồ Phương pháp đối sánh lược đồ được xây dựng chủ yếu dựa vào nguyên tắc tìm kiếm những sự tương đồng của các cấu trúc cũng như ngữ nghĩa của các lược đồ Dựa trên sự tương đồng này, hệ thống sẽ đi tìm kiếm các nguồn dữ liệu tương đồng nhau phục vụ cho các mục đích khác nhau

Luận văn này nhằm mục đích nghiên cứu những lý thuyết để đo lường sự tương đồng về cấu trúc giữa những tài liệu XML và những DTD để làm nền tảng phục vụ cho việc tìm kiếm, rút trích và phân loại thông tin từ nguồn dữ liệu XML

Trang 9

2 Giới thiệu chung

Sự tương đồng đóng một vai trò quyết định trong nhiều lĩnh vực nghiên cứu Sự tương đồng được sử dụng như một nguyên lý tổ chức bằng cách phân loại các đối tượng, các hình thức khái niệm riêng lẻ và thực hiện việc tổng quát hóa Sự tương đồng có thể được tính toán ở những mức khác nhau của sự trừu tượng:

Ở lớp dữ liệu nghĩa là sự tương đồng ở mức dữ liệu

Ở lớp kiểu nghĩa là sự tương đồng ở những kiểu, kiểu ở đây có thể là lược đồ,

mô hình, cấu trúc tùy thuộc vào miền ứng dụng

Ở lớp dữ liệu và kiểu nghĩa là sự tương đồng vừa ở mức kiểu và mức dữ liệu Việc đánh giá sự tương đồng giữa dữ liệu thì thích hợp với việc tạo ra những cụm thông tin quan hệ đến cùng chủ đề Ví dụ, trong lĩnh vực ảnh, đo lường sự tương đồng có thể có thể được khai phá đến nhóm của cùng những ảnh chứa đựng cùng chủ đề

Việc đánh giá sự tương đồng giữa những kiểu thì thích hợp cho sự kết hợp của việc

mô tả lược đồ của cùng loại thông tin nhưng sử dụng những cấu trúc và cho những cụm lược đồ khác nhau

Việc đánh giá sự tương đồng giữa dữ liệu và kiểu thì thích hợp cho việc nhận dạng một nguồn dữ liệu, và vì vậy, thích hợp với những thuộc tính dữ liệu mô tả cho kiểu Hơn thế nữa, với sự tương đồng này, sự phân loại có thể tập trung trên những nội dung hay trên những cấu trúc dữ liệu liên quan

Trong phạm vi của XML, khả năng đánh giá sự tương đồng nhận được nhiều sự quan tâm bởi vì thông tin được trao đổi trên web càng ngày càng gắn chặt với định dạng XML và những ứng dụng cần phải khôi phục, truy cập và xử lý tài liệu XML

mà nới lỏng một cách ấn tượng những điều kiện và kết quả trả về tương ứng

Ở lớp dữ liệu, nhiều cách tiếp cận được phát triển để đo lường sự tương đồng giữa những tài liệu XML để phân cụm các nhóm tài liệu có cùng mối quan hệ đến cùng một chủ đề Chuẩn ban đầu tiếp cận xem xét nội dung của tài liệu Trong khi đó,

Trang 10

một số cách tiếp cận mới xem xét cấu trúc của tài liệu Cho những gì liên quan đến cấu trúc tương tự, nhiều tiếp cận dựa trên cấu trúc có thứ bậc của những tài liệu mà việc khai phá hàm lượng giá dựa trên quãng đường chọn lọc của cây

Ở lớp kiểu, những cách tiếp cận khác cũng được phát triển cho việc tích hợp những lược đồ mà biểu diễn cùng loại dữ liệu và cho cụm lược đồ

Mặc cho những hoạt động khổng lồ này ở lớp dữ liệu và lớp kiểu và khả năng thu hút những ứng dụng trong nhiều lĩnh vực Không có nỗ lực nào dành trọn cho việc tính toán cấu trúc tương đồng giữa một tài liệu XML (dữ liệu) và lược đồ (kiểu) Trong luận văn này, chúng ta sẽ tiếp cận đến giải thuật đối sánh cho việc tính toán

độ tương đồng cấu trúc giữa một tài liệu XML và một DTD, tìm hiểu các lý thuyết

về sự khác biệt, tìm hiểu giải thuật đối sánh chuỗi

Trong việc đối sánh tài liệu dựa vào XML, một vài thuộc tính và thành phần con được mô tả cho một yếu tố trong một DTD có thể bị thiếu từ một vài yếu tố tương ứng của tài liệu, và ngược lại, tài liệu có thể chứa vài thuộc tính và yếu tố con thêm vào mà không xuất hiện trong DTD Hơn thế nữa, từ khi chúng ta tập trung vào những tài liệu dữ liệu trung tâm, những yếu tố/ thuộc tính trong tài liệu có thể theo một vài thứ tự khác mong đợi với một mô tả trong tài liệu DTD

Cuối cùng, tài liệu và thẻ DTD có thể không cùng chính xác, chúng cung cấp những cái chân hay là những thứ tương tự đủ để theo đó có thể cho ra một bộ mô tả Do

đó, thẻ tương đồng được hỗ trợ nhiều hơn thẻ tương đương Mục tiêu việc đối sánh tài liệu dựa trên DTD là xác định số lượng qua một sự đo lường thích hợp các cấu trúc tương đồng giữa tài liệu và DTD Kỹ thuật trình bày trong luận văn này sẽ giữ tất cả các đặc điểm của tài liệu XML, trong luận văn này chúng ta sẽ tập trung vào cách tiếp cận quan trọng nhất Vì vậy, chúng ta sẽ giới hạn các tập con của tài liệu XML và những thẻ tương đương và phần quan trọng là chúng ta sẽ tập trung vào các trường hợp tổng quát

Nhiều ứng dụng có thể được xây dựng cho giải thuật đối sánh Ví dụ, trong việc trao đổi tài liệu XML trên web thì không thể ép một cơ sở dữ liệu áp chặt vào hay tích

Trang 11

hợp lược đồ của nó với các lược đồ khác mô tả cùng loại dữ liệu Vì vậy, giải thuật đối sánh có thể được sử dụng để tính toán sự tương đồng giữa những tài liệu đến ở một cơ sở dữ liệu XML và lược đồ địa phương Như ví dụ khác, khả năng để khai thác cấu trúc của tài liệu cho việc khôi phục tài liệu thì được đẩy vào nhu cầu cho

cỗ máy truy vấn khả năng đánh giá cấu trúc truy vấn nghĩa là những truy vấn trong những điều kiện được xây dựng trên cấu trúc tài liệu yêu cầu Cỗ máy truy vấn có thể sử dụng giải thuật đối sánh cho việc đánh giá sự tương đồng giữa một tài liệu (khả năng trả lời của câu truy vấn) và một cấu trúc truy vấn được biểu diễn như là một lược đồ thêm những điều kiện về nội dung Bằng ý nghĩa này, cỗ máy truy vấn

có thể lọc và xếp hạng những câu trả lời của câu truy vấn

3 Nội dung luận văn

Trong luận văn này, chúng ta sẽ tập trung tìm hiểu các vấn đề sau:

Lý thuyết tổng quan về đối sánh lược đồ, các cách tiếp cận

Các định nghĩa cũng như cách thức để mô hình hóa lược đồ

Các nguyên lý của đối sánh lược đồ

Giải thuật đối sánh

Trình bày các lý thuyết về sự sai khác, giải thuật đối sánh chuỗi dựa vào sai khác

từ đó làm tiền đề cho việc phát triển giải thuật mã hóa sai khác dựa vào XML có tham chiếu

Trình bày 5 ứng dụng quan trọng của giải thuật đối sánh:

 Sự phân loại của tài liệu XML dựa trên một tập DTD

 Tổng quát hóa của những lược đồ mới cho một DTD bằng cách trích thông tin cấu trúc trong suốt quá trình phân loại tài liệu XML

 Phát triển một cổ máy tìm kiếm trên nền tảng XML để trả lời truy vấn cho những cấu trúc tương đồng

 Lựa chọn những sự phổ biến của XML

Trang 12

 Bảo vệ nội dung của những tài liệu phân loại dựa vào một tập DTD của một cơ sở dữ liệu, bằng cách lan truyền những chính sách phân quyền mô

tả ở mức DTD

Kết luận và hướng phát triển của đề tài

Trang 13

CHƯƠNG II: GIẢI THUẬT ĐỐI SÁNH ĐO LƯỜNG

1 Tài li ệu và DTD như những cây

Một đặc điểm chính của XML là được biểu diễn bằng những tùy chọn khác nhau một thành phần có sẳn khi mô hình hóa những thành phần con của một tài liệu Điều này có thể được minh họa bằng những tùy chọn khác nhau theo nghĩa của tài liệu và báo cáo DTD DTD trong hình chỉ ra rằng cho mỗi thành phần con nó có thể

mô tả không biết nó có là tùy chọn hay không (?), không biết nó có thể xuất hiện vài lần hay không (‘*’ cho zero hoặc nhiều lần, ‘+’ cho 1 hoặc nhiều lần), không biết vài yếu tố con là thay thế với mong muốn đến mỗi yếu tố khác hay không (‘|’) hay

là được nhóm trong tuần tự (‘,’) Chúng ta tập trung vào một tập con của tài liệu XML Đặc biệt, chúng ta chỉ xem xét những thành phần mà có thể có cấu trúc lồng, không xem xét những thuộc tính mà có thể được thấy như là trường hợp riêng của yếu tố khi chúng ta không quan tâm những thuộc tính, chúng ta quan tâm đến những yếu tố không rỗng Tuy nhiên, những yếu tố rỗng có thể đơn giản để giữ như yếu tố #PCDATA với sự ép buộc là phải có nội dung rỗng

Trang 14

Trong quy trình đối sánh, chúng ta biểu diễn cả DTD và tài liệu XML qua nhãn của cây Việc biểu diễn tài liệu thì tuân theo biểu diễn cây của mô hình đối tượng tài liệu (DOM) Biểu diễn DTD thì dễ dàng mô tả bằng giải thuật

1.1 Cây biểu diễn của những tài liệu

Một tài liệu XML được biểu diễn như nhãn của cây Biểu diễn này chỉ dựa trên thông tin quyết định từ cấu trúc của tài liệu Định nghĩa bên dưới được dựa trên sự phân loại định nghĩa của nhãn cây Giả sử có một tập N của các node, một cây được định nghĩa bởi công thức quy nạp sau: v∈N là một cây; nếu T1, T2, …,Tn là các cây thì (v,[T1, T2, …,Tn]) là một cây Đặt N(T)⊆N, chỉ ra tập những node của cây T và đưa ra tập A các nhãn, một nhãn của cây là một cặp (T,ϕ), với T là một cây và ϕ là một hàm nhãn sao cho ∀v∈N(T), ϕ(v)∈A

Trong biểu diễn tài liệu mà chúng ta tìm hiểu, mỗi node biểu diễn cho thẻ thành phần hay một giá trị Các nhãn được sử dụng để gán nhãn đến các cây trong tập của những thẻ thành phần (εN) và đến tập giá trị mà nội dung dữ liệu của một thành

phần có thể thừa nhận (V) Với mỗi cây biểu diễn cho một tài liệu, nhãn của nút gốc

<!DOCTYPE product[

<!ELEMENT product(name, urls+, description, (author*|vendor), version?)>

<!ELEMENT name (#PCDATA)>

<!ELEMENT urls (download*, homepage)>

<!ELEMENT description ANY>

<!ELEMENT author(fName, mName?, lName)>

<!ELEMENT vendor (#PCDATA)>

<!ELEMENT version (#PCDATA)>

<!ELEMENT download (#PCDATA)>

<!ELEMENT homepage (#PCDATA)>

<!ELEMENT fName (#PCDATA)>

<!ELEMENT mName (#PCDATA)>

<!ELEMENT lName (#PCDATA)>

]>

Hình 2.2: một ví dụ của DTD

Trang 15

phụ thuộc vào EN (nó là tên của các thành phần tài liệu) Hơn thế nữa, những lá của

cây được gán nhãn bởi những giá trị trong V

Định nghĩa 1 (tài liệu XML): một tài liệu XML là một cây được gán nhãn (D,ϕD) được định nghĩa trên tập nhãn EN V với những thuộc tính sau:

D = (v, C) với ϕD(v)∈EN

Với mỗi cây con (v,C) của D, ϕD(v)∈EN

Với mỗi lá của cây con v của D, ϕD(v)∈V

Với những mục đích đơn giản, trong biểu diễn đồ họa chúng ta bỏ sót những hướng tường minh của cạnh Tất cả các cạnh hướng xuống dưới Hình 2.3 chỉ ra cây biểu diễn của tài liệu XML trong hình 2.1

product

version name

description

“1.0.0.1"

Hình 2.3: cây biểu diễn của tài liệu XML hình 2.1

1.2 Cây biểu diễn của DTDs

Một DTD cũng được biểu diễn như một cây được đánh nhãn Trong cây biểu diễn,

để biểu diễn những thành phần tùy chọn, những thành phần lặp lại, những thành phần tuần tự và lựa chọn, tập những toán tử OP = {?, *, +, AND, OR} được giới thiệu Toán tử AND biểu diễn chuỗi của các thành phần, toán tử OR biểu diễn những thành phần thay thế (ít nhất một thành phần trong tập lựa chọn phải được chọn), toán tử ? biểu diễn cho thành phần tùy chọn, toán tử * và + biểu diễn cho các

Trang 16

thành phần lặp (0 và nhiều hoặc 1 và nhiều) Trong tiến trình đối sánh, chúng ta không xem xét chuỗi của những toán tử đơn toán hạng (?, +, *) bởi vì biểu diễn của

sự thu gọn và tương đương với những toán tử đơn thì luôn tồn tại

Trong biểu diễn của DTD, mỗi một node thì tương ứng với mỗi thành phần, hay một kiểu thành phần hay một toán tử Với mỗi cây biểu diễ DTD nhãn của nút gốc luôn phụ thuộc vào EN (nó là tên của thành phần chính của tài liệu được mô tả

bằng DTD) và có một cạnh đơn đi ra từ nút gốc Hơn thế nữa có thể có nhiều hơn một cạnh xuất phát từ node nếu nhãn của node là AND hoặc OR Cuối cùng, tất cả

những node gán nhãn bằng kiểu là những lá của cây Đặt ET là tập những kiểu đơn giản có thể cho các thành phần (ET = {#PCDATA, ANY})

Định nghĩa 2 (DTD): một DTD là một cây được gán nhãn (T ,ϕT ) được định nghĩa trên một tập các nhãn EN ETOP với các thuộc tính sau:

T được biểu diễn dạng (v, [T’]) với ϕT(v)∈ EN

Cho mỗi cây con (v, C) của T, ϕT(v) ∈ ENOP

Với mỗi lá của cây con v của T, ϕT(v) ∈ ET

Với mỗi cây con (v, C) của T, nếu ϕT(v) ∈{OR, AND} khi đó, C=[T1,…, Tn], n>1 và

Với mỗi cây con (v,C) của T, nếu ϕT(v) ∈{?,*,+}∪ EN khi đó [C = T’]

Trang 17

lName fName

urls

AND

#PCDATA download

#PCDATA

#PCDATA

Hình 2.4: biểu diễn cây của DTD trong hình 2.2

Hình 2.4 chỉ ra cây biểu diễn của DTD trong hình 2.2 Lưu ý với tập toán tử OP = {AND, OR, ?, *, +} cho phép chúng ta biểu diễn cấu trúc của tất cả các loại DTD Với toán tử AND yêu cầu thứ tự để phân biệt giữa một thành phần chứa đựng một thay thế giữa những chuỗi (ví dụ <!ELEMENT a(b|(c1,c2))>) và một thành phần chứa một thay thế giữa tất cả các thành phần trong chuỗi (ví dụ <!ELEMENT a(b|c1|c2)>) Hai cây biểu diễn khác nhau được chỉ ra trong hình 2.5 (a,b) Tài liệu trong hình 2.5 (c) thì hợp lệ với quan hệ đến DTD (b) nhưng không hợp lệ với mối quan hệ với DTD (a)

Trang 18

2 Những nguyên lý trong việc đối sánh một tài liệu XML dựa vào một DTD

Trong phần này chúng ta sẽ trình bày một vài ví dụ về các hành xử của giải thuật đối sánh cho việc đánh giá độ tương đồng giữa một tài liệu XML và một DTD Đặc biệt chúng ta sẽ thảo luận các vấn đề phù hợp nhất trong đối sánh này và cách thức

mà giải thuật xác định chúng

Một lưu ý rằng chúng ta sẽ chọn những giải thuật đơn giản cho phép chúng ta tập trung vào hành xử của giải thuật trong các trường hợp thông dụng nhất Giải thuật đối sánh thì hoàn toàn đầy đủ để sử dụng trong đánh giá độ tương đồng của những tài liệu và DTD tùy ý Được mô tả bởi bất kỳ kết nối nào của những đặc điểm thảo luận trong phần này

2.1 Đối sánh một tài liệu bằng một tập các tài liệu

Hai cách tiếp cận khác nhau có thể được đặt ra cho sự đo lường tương đồng cấu trúc giữa một tài liệu XML và một DTD: DTD có thể được khám phá thông qua một bộ các cấu trúc tài liệu (cách tiếp cận rộng) hay một tập của những luật chứa đựng nội dung của mỗi thành phần (cách tiếp cận hẹp) Theo cách tiếp cận rộng, tập của những cấu trúc tài liệu có thể hợp lệ cho DTD được xem xét Bằng cách xem xét một cấu trúc tài liệu tại một thời điểm, những giải thuật tồn tại cho việc đo lường cấu trúc tương đồng giữa những tài liệu XML có thể được xây dựng Kết quả đối sánh cho giá trị tương đồng cao nhất được xem xét như là đối sánh tốt nhất và những sự đánh giá như là mức độ cấu trúc tương đồng giữa tài liệu và DTD

Theo cách tiếp cận hẹp, một cách trái ngược, việc đo lường cấu trúc tương đồng được tính toán bằng những giá trị trung bình của giải thuật đối sánh mà so sánh cấu trúc tài liệu với DTD Những luật chứa đựng các thành phần nội dung được khai thác cho quyết định sự đối sánh tốt nhất Tập mô tả cấu trúc tài liệu DTD thì không được tính toán Hơn nữa, cấu trúc tốt nhất cho một thành phần mô tả, cho những

Trang 19

thành phần chứa đựng những thay thế hay những lặp lại, được quyết định cục bộ ngay khi cấu trúc của thành phần con trong tài liệu được biết

Cách tiếp cận rộng cho kết quả với độ phức tạp của hàm lũy thừa thậm chí cho những trường hợp chung, chúng ta giới thiệu một giải thuật đối sánh dựa trên cách tiếp cận hẹp Một lưu ý rằng, với cách tiếp cận hẹp, với những trường hợp tổng quát

độ phức tạp cũng theo hàm lũy thừa Tuy nhiên, với những trường hợp của tập con

có ý nghĩa, cách tiếp cận chung trong thực tế, giải thuật có độ phức tạp theo hàm đa thức

2.2 Thàn h phần chung, thêm và trừ

Giải thuật đối sánh dựa trên sự xác định và đánh giá chính xác của:

Thành phần chung: những thành phần xuất hiện cả trong tài liệu và trong DTD Thành phần thêm: những thành phần xuất hiện trong tài liệu nhưng không trong DTD

Thành phần trừ: thành phần xuất hiện trong DTD nhưng không trong tài liệu

Ví dụ 1: xét tài liệu D trong hình 2.6(a) và DTD Tb và Tc trong hình 2.6 (b,c) theo thứ tự giải thuật đối sánh xác nhận rằng D và Tb có cùng thẻ cho thành phần tài liệu nhưng vài thành phần con thì khác biệt Một cách chi tiết, D và Tb có cùng thành phần b và c, trong khi D có thành phần d và f không xuất hiện trong Tb và Tb chứa thành phần g và h không xuất hiện trong D Vì vậy, giải thuật dò tìm thấy hai cấu trúc có hai thành phần chung, hai thành phần trừ và hai thành phần cộng

Xét D và Tc, giải thuật đối sánh chỉ ra rằng D và Tc có chung các thành phần b, c, d trong khi D chứa thành phần f không nằm trong Tc và Tc chứa thành phần g, h, i không xuất hiện trong D Vì vậy, hai cấu trúc trên có 3 thành phần thường, một thành phần cộng và 3 thành phần trừ

Trang 20

Sự đánh giá của những thành phần được thực hiện bằng cách đưa vào tính toán hai yếu tố chính Đầu tiên, giải thuật gán một trọng số đến mức mà thành phần chung được dò tìm trong cấu trúc có trật tự của hai cây biểu diễn Những thành phần ở mức cao hơn trong cấu trúc tài liệu thì thích hợp hơn những thành phần con nằm lồng sâu bên trong cấu trúc tài liệu Khi đó, việc đánh giá đưa vào tính toán cấu trúc

Trang 21

của những thành phần cộng và những thành phần trừ Những thành phần phức tạp

có một sự tác động lớn vào sự đánh giá hơn những thành phần đơn giản

Trong phần kế tiếp, chúng ta sẽ trình bày cách thức mà giải thuật đối sánh xác định

số của mức của một tài liệu/DTD, và chúng ta định nghĩa hàm trọng số sử dụng cho việc xác định độ phức tạp cấu trúc của một thành phần

a AND OR

AND

b c

1

(b)

Về cơ bản, mức của một thành phần liên quan mật thiết với chiều sâu của cây tương ứng Cho cây T, biểu diễn một tài liệu, mức của T là chiều sâu của nó như một cây,

đó là, số của node dọc theo đường đi có chiều dài dài nhất (đó là đường đi từ nút

Trang 22

gốc tới lá) trong T Ngược lại, cho một cây T biểu diễn một DTD , mức của nó là số của những node, không phải là nhãn bởi một toán tử, dọc theo đường đi dài nhất trong T Điều này được xác định bởi vì những cạnh gán nhãn các toán tử trong cây DTD chỉ ảnh hưởng đến độ rộng của cây tài liệu tương ứng, không ảnh hưởng đến chiều sâu Các lưu ý này được hình thức hóa bằng các định nghĩa sau:

Định nghĩa 3: (hàm mức) đặt T = (v,[T1,…,Tn]) là một cây con của một tài liệu hoặc một DTD Hàm mức được định nghĩa như sau:

Ví dụ 3: đặt T là biểu thị cho DTD trong hình 2.4, khi đó mức của T là 3

Trong tính toán mức những lá của cây không được xem xét Điều này bởi vì chúng

ta quan tâm vào số của những thành phần lồng nhau và lá chỉ có nội dung dữ liệu Bây giờ, giải thuật đối sánh có thể gán một trọng số khác nhau đến những thành phần ở những mức khác nhau của cây Đặt l = mức (T) là mức của một tài liệu/ DTD T và γ là thành phần của một mức thích hợp với chi tiết các mức bên dưới Gốc của T sẽ có trọng số γ lvà trọng số sẽ được chia bởi γ khi đi xuống dưới mức con của nó Vì vậy cho mức chung thứ i của T, γlilà trọng số tương ứng Trọng

số được nhân cho những thành phần chung, thành phần cộng và thành phần trừ mà được xác định ở mức để mà đưa vào trong mức của mô tả trong đối sánh của 2 cấu trúc

n i

Mức (T) =

Mức (Ti) nếu ϕ(v)∈ Mức (Ti) nếu ϕ(v)∈ Khác

EN

OP

Trang 23

phần c và giá trị #PCDATA tương ứng Ngược lại, nếu chúng ta đối sánh tài liệu trong hình 2.8(a) và DTD trong hình 2.8(b), chúng ta có thể thấy rằng tài liệu thiếu thành phần c và cây con tương ứng Việc thiếu thành phần c phải được đánh giá một cách khác biệt, vì trong trường hợp đầu nó có nội dung dữ liệu đơn giản, trong khi trong trường hợp 2 nó có cấu trúc cây con phức tạp Xét tài liệu trong hình 2.8(c) và DTD trong hình 2.8(d) DTD mô tả một nội dung #PCDATA cho thành phần c, trong trong tài liệu c có một cấu trúc cây phức tạp

Ví dụ trên chỉ ra rằng, giải thuật đối sánh nên đưa vào bản mô tả cấu trúc của thành phần cộng và thành phần trừ Trong trường hợp của thành phần trừ, cấu trúc thì không cố định Xét thành phần c trong hình 2.8(b), nó có một thành phần con tùy chọn (thành phần thẻ d) và một thành phần thay thế (thành phần f hay thành phần g) Như cấu trúc của thành phần trừ, cấu trúc tài liệu đơn giản nhất có thể được tạo

ra từ phần của DTD Vì vậy, việc đo lường nên đưa vào bản mô tả những thành phần tùy chọn hoặc những thành phần thay thế và trong trường hợp của những thành phần thay thế, việc đo lường nên đưa vào bản mô tả chỉ một của những thành phần thay thế Sau đây là hàm trọng số của việc đánh giá một cây còn của một tài liệu hoặc của DTD

a AND b

c

? d

AND

OR

g f

i h

5

c

f g d

7

a AND

(b)

(d) (c)

Hình 2.8: những tài liệu và DTD của ví dụ 4

Trang 24

Định nghĩa 4 (hàm trọng số) Đặt T là cây con của một tài liệu hoặc của một DTD (D,ϕ ) và wl là trọng số tương ứng với mưc của T trong D Hàm trọng số được định nghĩa như sau:

Cho một cây con của tài liệu và một trọng số wl, hàm trọng số nhân số thành phần trong mỗi mức của trọng số kết hợp với mức Trọng số của mức là wl cho mức đầu tiên, wl/2 cho mức thứ hai, wl/4 cho mức thứ 3 và tiếp tục cho các mức khác Các giá trị kết quả sau đó được tính tổng Cho một cây con của DTD và trọng số wl, hàm trọng số làm việc như là một tài liệu nhưng nó sẽ đưa vào mô tả chỉ các thành phần bắt buộc Do đó, hàm trọng số sẽ không xét các thành phần tùy chọn hay các thành phần lặp được gán nhãn * Hơn nữa, trong trường hợp những node nhãn OR, những trọng số kết nối với những thay thế có thể được đánh giá và tối thiểu hóa giá trị được chọn Việc lựa chọn của giá trị nhỏ nhất để lựa chọn cây con với cấu trúc đơn giản nhất

Ví dụ 5: đặt T là DTD trong hình 2.4, và giả sử γ = 2, trọng số (T,8) = 27 Lưu ý rằng, trong trường hợp này, trọng số 8 là 23, trong đó 3 là số mức của T Hơn nữa, thành phần đóng góp vào trọng số của T là name, description và urls bởi vì nó được lặp lại từ 1 đến nhiều lần (bởi vì trong đó có một thành phần bắt buộc) Tổng trọng

số của những thành phần này là 19 Những thành phần khác thì không đóng góp bởi

vì chúng là tùy chọn và lặp từ 0 đến nhiều lần Lưu ý rằng, cây con của OR không

n

i wl

n

i wl

Trang 25

đóng góp vào trọng số bởi vì một trong những thay thế nó kết nối là sự lặp lại từ 0 đến nhiều lần Trọng số của gốc là 8 vì vậy tổng trọng số là 27

2.2.3 Những thành phần tùy chọn và lặp

Trong trường hợp của những thành phần lặp, đo lường sự tương đồng phải xác định

số tốt nhất của những thành phần lặp, đó là thành phần chung lớn nhất, thành phần cộng và trừ nhỏ nhất Lưu ý rằng, số lớn hơn của những thành phần lặp có thể là kết quả trong mỗi thành phần trong tài liệu đối sánh với một thành phần trong DTD (cộng) Ngược lại, nó có thể gia tăng số của những thành phần không đối sánh trong DTD (trừ) Những thành phần tùy chọn có thể xét như những trường hợp đặc biệt của những thành phần lặp với việc lựa chọn trên số lớn nhất những thành phần lặp

a c

5

c c

#PCDATA #PCDATA #PCDATA

Hình 2.9: tài liệu và DTD của ví dụ 6

Ví dụ 6: xét tài liệu D và DTD trong hình 2.9 Khả năng của việc lặp lại một số lần của một số thuộc tính của chuỗi (b,c,d) cho phép chúng ta ánh xạ mỗi thành phần c trong D đến một thành phần tương ứng trong T Tuy nhiên, vì D chứa 3 thành phần

c, chuỗi trong T phải được lặp lại 3 lần, kết quả chúng ta sẽ có 9 thành phần, 3 thành phần trong D (3 thành phần c) và sáu thành phần thiếu trong D (3 thành phần

b và 3 thành phần d) Ngược lại, nếu chúng ta lặp chuỗi 2 lần, chúng ta sẽ có hai thành phần chung, 4 thành phần thiếu Trường hợp này được tổng quát hóa trong bảng 1

Trang 26

3 2 1 0 0

0 2 4 6 9

Bảng 2.1: đo lường sự tương đồng giữa tài liệu và DTD của ví dụ 6

Giải thuật đối sánh giữ các thành phần lặp theo cách thức sau Giải thuật đối sánh tất cả các thành phần (ở mức hiện thời) với những thành phần lặp lại để quyết định

sự đánh giá của thành phần chung, thành phần cộng, thành phần trừ Sau đó, nó quyết định số tốt nhất của những sự lặp lại bằng cách cung cấp hàm lượng giá và chọn giá trị tối đa Việc lượng giá thì phức tạp hơn khi một chuỗi hay những thành phần thay thế được xét Việc xử lý của giải thuật trong những trường hợp này sẽ được trình bày chi tiết trong các phần sau

2.2.4 Những thành phần chuỗi và thay thế

Việc đánh giá những thành phần chuỗi được thực hiện qua hai bước Bước đầu tiên

là xác định sự xuất hiện hay không xuất hiện của các thành phần đơn của chuỗi nghĩa là xác định thành phần chung và thành phần trừ Thành phần trừ và chung được đánh giá như mô tả ở trên Sau đó các thành phần của chuỗi được đánh giá bằng cách tổng các đánh giá của những thành phần trừ và chung riêng lẽ Việc đánh giá thì phức tạp hơn khi chuỗi là lặp lại, với trường hợp này, giải thuật phải xác nhận khả năng lặp lại của chuỗi Việc đánh giá mỗi chuỗi tương ứng đến việc tính

Trang 27

tổng của việc đánh giá các thành phần chung và thành phần trừ và số tốt nhất của những lặp lại của chuỗi được xác định thông qua hàm lượng giá

Ví dụ 7: xét tài liệu và DTD của ví dụ 6 Trong việc đánh giá của toán tử AND (được lặp lại), đầu tiên giải thuật tìm thành phần c trong DTD mà có 3 đối sánh trong tài liệu, trong khi thành phần b và d trong DTD không có đối sánh nào trong tài liệu Đưa vào bảng mô tả việc đánh giá cho những thành phần đơn, khả năng lặp lại của chuỗi được tính toán Việc lặp lại zero của chuỗi nghĩa là có 3 thành phần c

là cộng và có 0 thành phần chung và 0 thành phần trừ Một sự lặp lại của chuỗi nghĩa là một của 3 thành phần c là thành phần chung, hai thành phần khác của c là cộng và b, c là thành phần trừ Những việc lặp lại khác thì được tính toán tương tự Lưu ý rằng, một lặp lại mới của chuỗi được xét cho đến khi một thành phần chung được đối sánh Vì vậy, trong trường hợp này 4 lặp lại được xét Cái tốt nhất được chọn bằng trung bình của hàm lượng giá

Giải thuật đối sánh giữ những sự lặp lại trong một cách thức tương tự Tuy nhiên, trong trường hợp này việc đánh giá đạt được không là tổng, hơn thế nữa cái tốt nhất,

mà là đánh giá tương ứng đến sự thay thế tốt nhất cùng với những cái có thể được chọn

2.2.5 Vai trò của thông số và cách thiết lập

Việc xử lý và kết quả của giải thuật đối sánh dựa trên một vài thông số được mô tả trong bảng 2

Trang 28

Người sử dụng thiết lập những thông số này dựa trên miền ứng dụng mà giải thuật đối sánh được sử dụng trong những phần kế tiếp, lần lượt chúng ta sẽ thảo luận về những ứng dụng của giải thuật đối sánh

Phụ thuộc vào các giá trị được gán đến α và β, giải thuật đối sánh đưa ra những sự phù hợp hơn đến thành phần cộng với mối quan hệ đến thành phần trừ Và ngược lại Ví dụ, nếu α =0,β =1 thành phần cộng không được đưa vào trong bảng mô tả trong việc đo lường sự tương đồng Do đó, một tài liệu với những thành phần thêm vào với mối tương quan đến những thành phần mô tả trong DTD có một độ tương đồng tương đương là 1 Ngược lại, nếu α =1,β =0 thành phần trừ không được đưa vào bộ mô tả cho sự tương đồng Trong ví dụ tiếp theo, ta sử dụng α =1,β =1 vì vậy thành phần trừ và cộng đều tham gia vào

Phụ thuộc vào giá trị gán cho γ ∈Νgiải thuật đối sánh sẽ cho ta sự phù hợp hơn đến những thành phần chung ở mức độ cao trong tài liệu tương quan đến những thành phần khác ở mức thấp Bằng cách lấy γ =1 tất cả các thông tin được xét tương ứng phù hợp và một phần khác là tất cả các thành phần xuất hiện trong cấu trúc lồng ở các mức khác thì không đưa vào mô tả Ngược lại, γ =2 những thành phần ở mức đưa vào có độ phù hợp gấp đôi với mối tương quan đến con của chúng Vì vậy, chúng ta sẽ xét γ =2

3 Giải thuật đối sánh

Trong các ví dụ ở trên chúng ta đã liệt kê các xử lý của giải thuật đối sánh trong hầu hết các trường hợp phù hợp Trong phần này chúng ta sẽ chỉ ra một số điểm chi tiết

để phát triển giải thuật

3.1 Hàm lượng giá

Để đạt được đối sánh tốt nhất giữa hai cấu trúc, các thành phần chung phải được cực đại hóa trong khi các thành phần cộng và thành phần trừ phải được cực tiểu hóa Tuy nhiên, chúng ta muốn đạt được một số các giá trị mà lượng số hóa sự tương

Trang 29

đồng giữa tài liệu và DTD Vì vậy, chúng ta giả sử thành phần cộng, thành phần trừ

và thành phần chung được đánh giá đến 3 số tự nhiên lần lượt là p, m, c Đưa vào bộ

mô tả những mức và những trọng số, như đã trình bày trong phần 3, hàm lượng giá quyết định việc đánh giá cho sự tương đồng Hàm lượng giá lựa chọn là hàm ε, việc định nghĩa hình thức hóa của hàm này dựa trên mô hình tỉ số Hàm này tính toán tỉ số giữa việc đánh giá c của thành phần chung giữa hai cấu trúc (nghĩa là các thành phần bên trong giữa hai cấu trúc) và việc lượng giá p+m+c của tất cả các thành phần trong hai cấu trúc (nghĩa là những thành phần trong hội của hai cấu trúc) Việc lượng giá của thành phần cộng và trừ được đánh trọng số theo thông số

α và β Giá trị tương đồng đạt được là một số thực nằm trong tầm [0,1]

Định nghĩa 5 (hàm ε) Đặt (p,m,c) là bộ 3 của những số tự nhiên và α,βlà những

số thực (α,β ≥0) hàm ε được định nghĩa như sau:

Dựa vào hàm ε, một quan hệ có thứ tự ≤ được định nghĩa Thứ tự này được xây dựng để lựa chọn một tập của những đối sánh (biểu diễn như bộ ba (p,m,c)) tối ưu (nghĩa là bộ ba cực đại)

Ví dụ 8: xét tài liệu và DTD trong hình 2.10 Vì tài liệu chỉ chứa thành phần b1, nếu chọn nhánh bên phải của OR, chúng ta có một thành phần chung và 39 thành phần

bị mất Ngược lại nếu chúng ta chọn đi theo nhánh bên trái, chúng ta có được 0 thành phần chung và chỉ một thành phần cộng và một thành phần trừ

=

m c p

c c

m p

βα

khác

Trang 30

3.2 Giải thuật đối sánh

Trong phần này chúng ta sẽ tiếp cận giải thuật đối sánh để đối sánh một tài liệu dựa vào DTD để quyết định mức độ tương đồng của chúng Đầu tiên chúng ta sẽ tiếp cận giải thuật ở trường hợp đơn giản sau đó chúng ta sẽ tiếp cận ở mức độ phức tạp

3.2.1 Giải pháp đơn giản

Một khả năng tiếp cận để đánh giá độ tương đồng giữa một tài liệu D và một DTD

T được xét như là một tập các DTD đơn giản kết hợp với T và lựa chọn DTD tốt nhất, đó là, DTD có hàm lượng giá cao nhất Sự tương đồng giữa một DTD đơn giản và tài liệu có thể được đo lường như sau:

Di chuyển từ mức đỉnh xuống dưới, cho mỗi mức l của tài liệu D một bộ ba (p,m,c) được quyết định biểu diễn số của thành phần cộng, trừ và chung ở mức l tham khảo đến DTD đơn giản nhất Lưu ý rằng, nếu một thành phần cộng được tìm thấy ở mức

l, tất cả các thành phần con của nó là cộng (tương tự cho thành phần trừ)

Mỗi bộ ba quyết định ở bước 1 được nhân với trọng số mức

Một bộ ba riêng thu được bằng cách tổng tất cả các bộ ba thu được ở bước 2

Mức của độ tương đồng sau đó được tính toán bằng trung bình của hàm ε được định nghĩa trong định nghĩa 5, dựa vào bộ ba thu được từ bước 3

Trang 31

Ví dụ 9: xét tài liệu D và DTD T của hình 2.11(a) và hình 2.11(b), theo thứ tự Hình 2.11(c) chỉ ra DTD đơn giản nhất của D cùng với những thành phần có thể được tạo

ra bắt đầu từ DTD T Hơn thế nữa, với mỗi mức, trọng số mức được trình bày cùng với bộ ba (p, m, c), biểu diễn cho số của thành phần cộng, trừ và chung nhân với trọng số mức Ví dụ, ở mức thấp nhất, có một thành phần chung (#PCDATA dưới thành phần f) và một thành phần trừ (#PCDATA dưới thành phần g), vì vậy bộ ba (p, m, c) tương ứng là (0, 1, 1) Ở mức trên có một thành phần cộng (giá trị 7), hai thành phần chung (#PCDATA dưới thành phần d và f) và hai thành phần trừ (#PCDATA dưới thành phần b và thành phần g) Vì trọng số mức là 2, bộ ba thu được là (2, 4, 4) Bằng cách sử dụng hàm ε với bộ ba được tính tổng từ các bộ ba kết hợp với mỗi mức (bộ tổng là (6, 9, 21)), chúng ta thu được ε=0.58 là giá trị biểu diễn cho mức độ tương đồng giữa tài liệu D và DTD lựa chọn đơn giản nhất Giá trị này là cao nhất cho tất cả các DTD đơn giản kết hợp với DTD T ứng với tài liệu D

a

3 (a)

#PCDATA

* c

b

a

(c)Hình 2.11: lượng giá sự tương đồng

#PCDATA

#PCDATA #PCDATA

e d

#PCDATA b

a

Trọng số mức

8 4 2

Trang 32

Như chúng ta đã trình bày trong phần trước, tập các DTD đơn giản kết hợp với một DTD có thể là vô hạn, khi một DTD có những thành phần lặp Tuy nhiên, nếu chúng ta đưa mô tả của tài liệu vào DTD mà có thể được đối sánh, chúng ta có thể giới hạn đến một tập hữu hạn các DTD đơn giản kết hợp với DTD cho một tài liệu Bằng trực giác điều này cho phép một cây con lặp lại của một DTD có thể được lặp cho đến khi có những thành phần trong tài liệu được đối sánh Hơn nữa, việc lặp lại của cây con là không có ích

Giải pháp đơn giản để đánh giá sự tương đồng giữa tài liệu và mỗi DTD đơn giản kết hợp với DTD để tìm ra DTD có giá trị hàm trọng số thì tốn kém nhiều chi phí Khi chúng ta xét trên trường hợp tổng quát, chi phí này có thể là hàm mũ Vì vậy, một giải thuật xác đính độ tương đồng tốt nhất không cần tính tập của những DTD đơn giản được phát triển Giải thuật được dựa trên ý tưởng về quyết định cấu trúc cục bộ tốt nhất cho một thành phần DTD, cho những thành phần chứa sự thay thế hoặc lặp, cũng như thông tin trên cấu trúc của những thành phần con trong tài liệu được biết Giải thuật tổng quát này vẫn có độ phức tạp là hàm mũ Tuy nhiên, với một vài trường hợp với tập con có ý nghĩa, giải thuật là một hàm đa thức Độ phức tạp của giải thuật đi từ một hàm đa thức đến hàm mũ, khi bên trong D có những thành phần khai báo trong 2 thành phần con có cùng tag Ví dụ, <!ELEMENT a (b*, (c|b))> Một cách trực quan, bất cứ khi nào một tài liệu XML có một thành phần với vài thành phần con b, các kết nối khác giữa b và những thành phần khác của DTD nên được kiểm tra

Trong phần giải thuật sắp trình bày kế tiếp, chúng ta chỉ tập trung vào hạt nhân mang ý nghĩa quan trọng nhất của giải thuật, dựa trên giả sử rằng trong khai báo của một thành phần, hai thành phần con với cùng tag là không được phép Điều đó có nghĩa là những khai báo như thành phần trước sẽ không được xử lý

3.2.2 Giải thuật

Giải thuật tính toán độ tương đồng giữa một tài liệu và một DTD dựa trên một hàm

đệ quy, hàm M Hàm này kết hợp một bộ ba (p, m, c) với một tài liệu D và một

Trang 33

DTD T Giải thuật chi tiết của hàm M được trình bày trong phụ lục 01 Trong phần trình bày này chỉ trình bày các phần quan trọng nhất của giải thuật

Các đầu vào của M bao gồm: Một tài liệu D (Td), một DTD T (Tt), một trọng số mức wl và một cờ rp chỉ định việc lặp lại của T Trọng số mức ban đầu được thiết lập là γl− 1, với l là giá trị lớn nhất giữa số mức của tài liệu và số mức của DTD và sau đó được chia bởi γ mỗi lần hàm đi xuống một mức dưới trong D Điều này đảm bảo rằng việc đánh giá độ tương đồng gán một trọng số mức đến mỗi mức của hai cấu trúc Ý tưởng đằng sau xử lý của hàm M là duyệt tài liệu và DTD, ở cùng một thời điểm, từ gốc tới lá, để đối sánh những thành phần chung Đặc biệt, hai pha riêng có thể được phân biệt:

1 Trong pha đầu, di chuyển từ gốc của cây xuống dưới, những phần để duyệt qua việc gọi đệ quy được xác định nhưng chưa thực hiện việc đánh giá

2 Khi đạt được một trường hợp kết thúc, những điểm trở về của đệ quy được gọi và đi dần lên trên, những thay thế khác nhau được đánh giá và trường hợp tốt nhất được lựa chọn

Trong phần kế tiếp chúng ta sẽ đi sâu vào tìm hiểu hai pha riêng và phân tích các trường hợp kết thúc

Pha đầu:

Bắt đầu từ một cặp (Td, Tt), với Tt có dạng (v, [Tt]) và nhãn Tt’ là l, việc xử lý của hàm M và chuỗi của những lời gọi đệ quy phụ thuộc vào l, cụ thể như sau:

Nếu l = ?, M gọi trên cặp (Td, Tt) cũng như nếu không có ?

Nếu l = * hoặc l = +, M được gọi trên cặp (Td, Tt) đánh dấu Tt như là thành phần lặp

Nếu l = AND hoặc l = OR và Tt có dạng (v,[T1, ,Tn]), M được gọi trên cặp (Td,Ti), với 1 ≤in

Trang 34

Nếu l∈εNlà tên của một thành phần, những cây con của Td gán nhãn bởi l được tính toán Đặt {T1d’, , Tkd’} là tập của những cây con, nếu k >0 nghĩa là có những thành phần chung giữa hai cấu trúc, M được gọi trên cặp (Tid’, Tt) với

Những trường hợp cơ bản:

Bộ ba (p, m, c) được tính toán khi một lá của DTD được phát hiện hoặc khi một cây con của một thành phần trong DTD nếu tìm thấy mà không đối sánh với bất cứ thành phần nào trong tài liệu Mỗi bộ ba biểu diễn cho sự lượng giá của thành phần cộng, trừ và chung cho những trường hợp cơ bản Ví dụ, nếu một lá được gán nhãn

là #PCDATA được đối sánh dựa vào một thành phần nội dung của dữ liệu của tài liệu, bộ ba (0, 0, wl) được trả về, tương ứng đến sự việc không có thành phần cộng

và thành phần trừ, bất cứ nơi nào có thành phần chung (nội dung dữ liệu), trọng số của nó được gán bằng trọng số mức

Pha thứ 2:

Bắt đầu từ việc đánh giá của những trường hợp cơ bản, trên những giá trị trả về của lời gọi đệ quy M, những thành phần cộng, trừ và chung của một cặp trung gian (Td,Tt) có thể được đánh giá, đưa vào bộ mô tả của nhãn l của gốc Tt và những lặp lại của nó Thật sự, việc tính toán bộ ba đơn (p, m, c) không đủ để đánh giá tất cả các cặp đôi trung gian Trong một vài trường hợp, một list của bô ba (p, m, c) phải được tính toán Những list này được tạo ra khi một cây con là lặp lại và việc quyết định số tốt nhất của những lần lặp không thể được chọn ở mức đó của cây, hơn thế nữa nó cần phải trì hoãn ở mức cao hơn Số lượng của những list kết hợp với cặp (Td, Tt’) phụ thuộc vào việc lặp lại của Tt’ và phụ thuộc vào nhãn l của nút gốc Tt’

Trang 35

Đặc biệt, số lượng của list là một khi Tt’ không có lặp lại hoặc khi Tt’ là được lặp lại

và l∈ ET V{*,?} Ngược lại, nó có thể lơn hơn 1 khi Tt’ là được lặp lại và

l∈ EN V{AND,OR}

Tt’ được gán nhãn bởi một tên thành phần:

Như đã liệt kê ở trên, tập con {T1d’, , Tkd’} của Td được gán nhãn bởi l được tính

toán Nếu tập này là rỗng, nghĩa là thành phần của DTD có tag l không xuất hiện

trong tài liệu, một bộ ba (p, m, c) được xác định Hàm trọng số được gọi trên Tt’ để

xác định trọng số m của thành phần thiếu và những cây con của nó Bộ ba (0, m, 0)

được trả về

Nếu ngược lại, tập {T1d’, , Tkd’} của những thành phần tag l trong Td không rỗng,

việc gọi đệ qui của M trên mỗi con Tid’ và Tt trả về một bộ ba (pi, mi, ci), mà biểu

diễn cho việc lượng giá những thành phần cộng, trừ và chung được tìm thấy bên

trong những cây con Một trọng số thêm vào có thể được thêm vào thành phần cộng

của mỗi bộ ba được tính toán phụ thuộc vào Tid’, 1≤ik, và Tt là kết thúc hay

không Nếu Tt là kết thúc và nhãn Tt là ANY, bất cứ gì được tìm thấy trong Tid’ có

đối sánh kiểu Do đó, không có trọng số thêm vào được cộng Nếu Tid’ là kết thúc và

Tt không kết thúc, trọng số wγlđược thêm vào thành phần cộng Trọng số thêm vào

nghĩa là Tid’ là một thành phần nội dung dữ liệu, trong khi trong DTD nó yêu cầu

một cấu trúc phức tạp hơn Trong tất cả các trường hợp khác, chúng ta thêm vào

thành phần cộng trọng số của những cây con của Tid’ mà không có đối sánh trong Tt,

bởi vì chúng không được xét, nhưng chúng biểu diễn những thành phần cộng Sau

đó, 2 trường hợp khác sẽ được phân biệt, dựa vào việc lặp lại của Tt Nếu Tt không

được lặp lại, chỉ một Tid’được phép trong tài liệu, và những cái khác là vượt quá Vì

vậy, đầu tiên tất cả bộ ba (p, m, c), biểu diễn đối sánh tốt nhất, bộ ba tương ứng với

trường hợp lớn nhất được lựa chọn Bộ ba trả về được xác định như sau:

m biểu diễn cho việc lượng giá của thành phần trừ của con được chọn, vì vậy, nó

không được hiệu chỉnh

Trang 36

c biểu diễn cho việc lượng giá của thành phần chung của con được chọn, vì vậy, trọng số mức được thêm vào, vì một thành phần chung được tìm thấy

p biểu diễn cho việc lượng giá của thành phần cộng của con được chọn, vì vậy chúng ta thêm vào nó bộ ba của những thành phần cộng và chung mà chúng

ta không lựa chọn, thêm vào trọng số mức, vì mỗi con mà không được lựa chọn phải được lượng giá như một thành phần cộng

if(Tid’ là một thành phần nội dung dữ liệu và leaf(Tt)=F)

l

w T Weight

~

γ với A={T \Tchild(T d i '),label(T)∉αβ(T t)}

(pi, mi, ci)=(pi+p~ , mi, ci );

k i

+

−++

=

return ([p, m, c+wl]);

end end

else return[(0,weight(Tt’, wl),0)]

Hình 2.12: Hàm M (trường hợp của một thành phần)

Trang 37

Ngược lại, nếu Tt là thành phần lặp, không quyết định nào có thể được đưa ra ở thời điểm này của việc tính toán Vì trọng số mức được thêm vào thành phần c của bộ ba

và list của những bộ ba đạt được từ kết quả trả về Số tối uư của những xuất hiện của thành phần này sẽ được thiết lặp khi lượng giá bên ngoài thành phần Hình 10 chỉ ra mã giả của trường hợp này

Tt được gán nhãn là * hoặc +:

Lời gọi đệ quy trả về một list r của những bộ ba, mà mỗi thành phần biểu diễn lượng giá của một số khác nhau của những sự lặp lại của các cây con Tt, sắp xếp từ lặp đơn đến số tối đa các lặp lại có thể (được quyết định bởi số tối đa của thành phần con Td) Đặt (p1, m1, c1) là thành phần đầu tiên của r mà biểu diễn cho thành phần đơn lặp lại của Tt Nếu toán tử là * và c1=0 nghĩa là không có thành phần chung, cây con có thể không được xem xét, và điều này có nghĩa không có sự tương ứng giữa Tt với cây con được tìm thấy Và do không có thành phần chung được tìm thấy và cây con là tùy chọn, DTD đơn giản không có cây con này được xem xét Bộ

ba (0,0,0) được trả về Chúng ta có thể kiểm tra chỉ thành phần chung đầu tiên trong list vì nếu không có thành phần chung khi xem xét một lặp đơn của cây con, cũng sẽ không có thành phần chung khi xem xét một số cao hơn của việc lặp lại Ngược lại, nếu toán tử là + hoặc điều kiện trước đó không được xét nghĩa là toán tử không là * hoặc c1 khác 0 Hai trường hợp được phân biệt phụ thuộc vào nhãn l’ của gốc Tt;

N

l' ∈ε Trong trường hợp này, tổng của những bộ ba trong r sẽ được trả về Đó

là, việc lượng giá của những thực thể của thành phần l’được tính tổng

Trang 38

không xuất hiện, tất cả các thành phần trong tài liệu là thành phần cộng

và chung với liên quan với DTD khi xét một sự lặp lại của Tt

 Nếu toán tử là cộng, bộ ba là (p1+c1, weight(wt’), 0) Việc lượng giá này đạt được bằng cách xét thành phần cộng là tổng của p1 và c1, thành phần của bộ ba đầu tiền của list r với với thành phần trừ trọng số Tt’ và không

có thành phần chung

Bộ ba trong r mà có giá trị lớn nhất được trả về Điều này nghĩa là chúng ta xét lượng giá của thành phần cộng, trừ và thông thường của cây con Td với mối liên quan đến tất cả các DTD đạt được bằng việc lặp lại cây con Tt từ zero đến số lần lớn nhất của những thành phần con của Td Cùng với những lượng giá đạt được một DTD tương ứng với một số kết quả của những lần lặp tương ứng tương đương nhiều với tài liệu nhất được chọn Hình 2.11 chỉ ra mã giả cho trường hợp này

Trang 39

 Tt’ là lặp lại: không có sự lượng giá cây con có thể được đưa ra vì nó có thể lặp lại và tùy chọn ở cùng thời gian, vì vậy lượng giá đạt là giá trị trả

về từ lời gọi đệ quy

 Tt’ không lặp lại: trong trường hợp này lời gọi đệ quy trả về một bộ ba đơn Nếu bộ ba này không có thành phần chung, khi đó cây con này có thể không được xét và bộ ba rỗng được trả về Ngược lại, bộ ba đạt được

là giá trị trả về từ lời gọi đệ qui

Tt’ được gán nhãn AND và OR:

Giải thuật có những xử lý khác nhau dựa vào việc lặp lại của Tt’

 Tt’ là lặp lại: nếu không có sự tương ứng được tìm thấy trong những cây con giữa tài liệu và DTD, một bộ ba xác định rằng toàn bộ cây con của

Tt’ là thành phần trừ được trả về Đánh giá này đạt được bằng cách tính trọng số của cây con Tt’ Trong trường hợp này, không có thành phần cộng và thành phần chung Ngược lại, phụ thuộc vào nhãn l hàm HANDhoặc hàm HOR được gọi Những hàm này được sử dụng để thu được một list của những bộ ba chứa những đánh giá của số của những cây con lặp lại Xử lý của những hàm này được mô tả bên dưới

 Tt’ không lặp lại: nếu toán tử là AND, đánh giá của cây con đạt được bằng cách tính tổng của những lượng giá thu được từ những lời gọi đệ quy trên tất cả các con của Tt’ Ngược lại, nếu toán tử là OR, bộ ba đạt được là bộ ba có giá trị lớn nhất trả về từ những bộ ba của những lời gợi

đệ quy Khi đó, tất cả những đánh giá của thành phần cộng và thành phần chung của những nhánh khác phải được thêm vào thành phần cộng của bộ

ba này Tất cả những thành phần trong tài liệu mà là thành phần cộng và chung của những nhánh khác bây giờ trở thành thành phần cộng với mối liên quan đến nhánh đánh giá được chọn

Trang 40

Cho các cây con T1t,…,Tnt của Tt’ và r1,…,rn là những list tương ứng, mục đích của hàm HAND và HOR là xác định list của những bộ ba biểu diễn sự ước lượng của những lặp lại có thể của những cây con

Cho hàm HAND, maxrp: số lớn nhất của những lặp lại, được xác định như là kích thước lớn nhất của r1, , rn Thật vậy, nếu toán tử là lặp lại nhiều hơn một lần, sẽ không có nhiều sự tương ứng hơn giữa Td và Tt’ Lặp lại thêm này sẽ không đối sánh với bất cứ thành phần con nào của Td Gọi i là số những lần lặp lại 1≤i≤maxrp,

và một cây con Tj, 1≤j≤n, một bộ ba pmc biều diễn nhưng lặp lại của Tj được tính Nếu số rj ≥ i, pmc được tính bằng trung bình của những bộ ba đạt được trong rj Ngược lại, dựa vào nhãn của gốc của Tj và sử dụng những bộ ba trong rj, nó có thể

tính toán một bộ ba pmc biểu diễn sự lượng giá của những sự lặp lại của rj Những

bộ ba được tính toán cho những cây con khác của Tt’, sẽ được tính tổng để xác định

sự lượng giá của những lặp lại i của toán tử AND

Cho hàm HOR, maxrp: số lớn nhất của những lặp lại, được xác định như là tổng của các kích thước của r1, , rn Điều này là bởi vì mỗi bộ ba trong list biểu diễn lượng giá của một đối sánh dò tìm được giữa những cây con Td và Tt’ Do đó, mỗi một riđược chọn như một lượng giá của một thay thế của OR Hàm HOR làm việc như sau Đầu tiên nó xác định giá trị cộng, tính tổng những thành phần của những bộ ba trong list r1, ,rn Những thành phần được thêm vào phụ thuộc vào nhãn của gốc của

Ti, 1≤i≤n Giá trị cộng biểu diễn trọng số của cây con trong trường hợp không có những thay thế của toán tử OR được chọn Khi đó, với mỗi số của những lặp lại, bộ

ba mà có giá trị lớn nhất được chọn Bộ ba được sử dụng để xác định lượng giá cho

số của những lặp lại của toán tử OR hiện tại đang xét Với lượng giá của lặp lại khác, bộ ba sẽ không được xét, do đó, bộ ba tốt nhất được chọn trong số những bộ

ba còn còn lại Hình số 2.12 biểu diễn mã giả cho trường hợp này

Ngày đăng: 27/02/2021, 23:26

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Elisa Bertino, Giovanna Guerrini, Marco Mesiti (2004), “ A matching algorithm for measuring the structural similarity between an XML document anda DTD and its applications” Sách, tạp chí
Tiêu đề: A matching algorithm for measuring the structural similarity between an XML document anda DTD and its applications
Tác giả: Elisa Bertino, Giovanna Guerrini, Marco Mesiti
Năm: 2004
[3] Tancred Lindholm, Jaakko Kangasharju, Sasu Tarkoma (2006), “Fast and Simple XML Tree Differencing by Sequence Alignment” Sách, tạp chí
Tiêu đề: Fast and Simple XML Tree Differencing by Sequence Alignment
Tác giả: Tancred Lindholm, Jaakko Kangasharju, Sasu Tarkoma
Năm: 2006
[4] Joe Tekli, Richard Chbeir 1, Kokou Yetongnon, “Structural Similarity Evaluation between XML Documents and DTD” Sách, tạp chí
Tiêu đề: Structural Similarity Evaluation between XML Documents and DTD
[5] E. Bertino, G. Guerrini, M. Mesiti, L. Tosetto (2002), “Evolving a set of DTDs according to a dynamic set of XMLdocuments, in: XML-Based Data Management and Multimedia” Sách, tạp chí
Tiêu đề: Evolving a set of DTDs according to a dynamic set of XMLdocuments, in: XML-Based Data Management and Multimedia
Tác giả: E. Bertino, G. Guerrini, M. Mesiti, L. Tosetto
Năm: 2002
[6] A. Nierman, H. Jagadish (2002), “Evaluating structural similarity in XML document” Sách, tạp chí
Tiêu đề: Evaluating structural similarity in XML document
Tác giả: A. Nierman, H. Jagadish
Năm: 2002
[2] M. Mesiti (2003): A structural similarity measure for XML documents theory and applications Khác
[8] W3C (1998),”Extensible Markup Language (XML)” Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w