1. Trang chủ
  2. » Giáo án - Bài giảng

Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML

73 385 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Áp Dụng Đối Sánh Lược Đồ Trong Bài Toán Phân Cụm Lược Đồ XML
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận văn
Thành phố Hồ Chí Minh
Định dạng
Số trang 73
Dung lượng 1,32 MB

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

Nội dung

Danh mục từ viết tắt XML Extensible Markup Language Ngôn ngữ đánh dấu mở rộng DTD Document Type Definition Định nghĩa kiểu dữ liệu SQL Structured Query Language Ngôn ngữ truy vấn cấu trú

Trang 1

MỤC LỤC

Danh mục hình vẽ 3

Danh mục từ viết tắt 4

MỞ ĐẦU 5

Chương 1: Đối sánh lược đồ 7

1.1 Giới thiệu chung 7

1.1.1 Khái niệm đối sánh lược đồ 7

1.1.2 Các phương pháp đối sánh 8

1.2 Các ứng dụng của đối sánh lược đồ 9

1.3 Các hệ thống sánh lược đồ điển hình 12

1.3.1 Cupid 12

1.3.2 Similarity Flooding 13

1.3.3 LSD 13

1.3.4 Một số hệ thống đối sánh lược đồ khác 14

1.4 Kết chương 14

Chương 2: Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML 16

2.1 XML và lược đồ XML 16

2.1.1 Ngôn ngữ đánh dấu mở rộng XML 16

2.1.2 Lược đồ XML 18

2.2 Mô hình hóa lược đồ XML 21

2.2.1 Các nút đồ thị lược đồ 21

2.2.2 Các cạnh đồ thị 22

2.2.3 Các ràng buộc trên đồ thị lược đồ 22

2.3 WordNet và tiến trình đối sánh thuật ngữ 24

2.3.1 Giới thiệu WORDNET 24

2.3.2 Các loại quan hệ trong WordNet 25

2.3.3 Đo độ tương đồng thuật ngữ 29

2.3.4 Xét tính tương thích kiểu dữ liệu 31

2.4 Ngữ cảnh nút và tiến trình đối sánh cấu trúc 33

2.4.1 Ngữ cảnh nút 33

2.4.2 Đo độ tương đồng cấu trúc 36

2.5 Phân cụm lược đồ XML 42

2.6 Kết chương 43

Chương 3: Cài đặt tiến trình đối sánh 44

3.1 Phân tích lược đồ XML sử dụng viện XSOM 44

3.2 Khai thác WordNet sử dụng thư viện JWNL 47

3.3 Thiết kếà cài đặt hệ thống 52

3.3.1 Thiết kế hệ thống 52

3.3.2 Các lớp chính của chương trình 54

3.4 Kết chương 58

Chương 4: So sánh và đánh giá 59

Trang 2

4.1 Kết quả đo độ tương đồng 59

4.2 Đánh giá tiến trình đối sánh 63

4.2.1 Kiểm tra giải thuật Hirst&St^Onge 63

4.2.2 Các phương pháp đánh giá 66

4.3 Kết chương 71

KẾT LUẬN 72

Tài liệu tham khảo 73

Trang 3

Danh mục hình vẽ

Hình 1.1: Hệ thống tích hợp dữ liệu giúp người dùng tìm văn bản[8] 10

Hình 2.1: Nhóm các danh từ gốc của WordNet 25

Hình 2.2: Sơ đồ của WordNet đối với các danh từ trừu tượng 27

Hình 2.3 Sơ đồ của WordNet đối với các danh từ chỉ các đặc điểm tâm lý 28

Hình 2.4: Cây phân cấp ngữ nghĩa của nhánh thing, entity 28

Hình 2.5: Quan hệ bộ phận và toàn thể 29

Hình 2.6: Phân loại các quan hệ ngữ nghĩa trong WordNet [8] 31

Hình 2.7: Ví dụ đồ thị lược đồ XML nguồn [8] 33

Hình 2.8: Ví dụ đồ thị lược đồ XML đích [8] 34

Hình 2.9: Ngữ cảnh tổ tiên [8] 39

Hình 2.10: Ngữ cảnh con [8] 40

Hình 2.11: Ngữ cảnh lá [8] 40

Hình 3.1: Biểu đồ Use case tổng thể của hệ thống 52

Hình 3.2: Biểu đồ tuần tự của hệ thống 53

Hình 3.3: Biểu đồ cộng tác của hệ thống: 54

Hình 3.4: Cấu trúc chương trình 56

Hình 3.5: Các chức năng của File 56

Hình 3.6: Các chức năng của Matching 57

Hình 3.7: Xem dạng cây lược đồ XML 58

Hình 4.1: Đối sánh thuật ngữ 59

Hình 4.2: Đối sánh có xét tính tương thích kiểu dữ liệu 60

Hình 4.3: Đối sánh cấu trúc 61

Hình 4.4: Đối sánh cấu trúc dạng Path 62

Hình 4.5: Độ tương đồng giữa nút đã hiệu chỉnh 62

Hình 4.6 Biểu đồ so sánh độ tương đồng thuật ngữ 66

Hình 4.7: Đồ thị lược đồ nguồn sau khi xây dựng ngữ cảnh 68

Hình 4.8: Đồ thị lược đồ đích sau khi xây dựng ngữ cảnh 68

Hình 4.9: Bảng quan hệ các node của hai lược đồ 69

Hình 4.10: các node tương đồng của hai lược đồ 70

Trang 4

Danh mục từ viết tắt

XML Extensible Markup Language Ngôn ngữ đánh dấu mở rộng

DTD Document Type Definition Định nghĩa kiểu dữ liệu

SQL Structured Query Language Ngôn ngữ truy vấn cấu trúc

XSD XML Schema Definition Định nghĩa lược đồ XML

CSS Cascading Style Sheet Bảng định kiểu

EDI Electronic Data Exchange Trao đổi dữ liệu điện tử

COMA Combination of Matching

algorithms

Hệ thống tích hợp các thuật toán đối sánh

LSD Learning source description Sử dụng các kỹ thuật học máy để đối sánh

một nguồn dữ liệu mới dựa vào một lược đồ tổng thể định nghĩa trước đó

SKAT Semantic Knowledge

Trang 5

M Đ U

Công nghệ thông tin đang được xem là ngành mũi nhọn của tất cả các nước trên thế giới, công nghệ thông tin đã làm nên một bước ngoặt lớn trong khoa học kỹ thuật và công nghệ Các ứng dụng trong công nghệ thông tin đã làm thế giới phát triển sang một tầm cao mới trong quá trình phát triển, rất nhiều sản phẩm đã được ra đời và phục vụ đắc lực cho đới sống con người Trong bối cảnh đó, Internet đã ngày nay đã trở thành một siêu xa lộ thông tin, cung cấp thông tin cho mọi người, ở mọi nơi, trong mọi ngành, mọi lĩnh vực Vấn đề tìm kiếm dữ liệu trên Internet trở thành vấn đề rất quan trọng, để tìm kiếm nhanh chóng và chính xác chúng ta cần phải có CSDL lớn trong đó dữ liệu lưu trữ dưới một chuẩn nhất định

Hiện nay, XML (eXtended Markup Language O ngôn ngữ đánh dấu mở rộng) đã trở thành chuẩn ngôn ngữ hiệu quả và thích hợp cho việc biểu diễn dữ liệu trên Web Nhu cầu sử dụng XML như là chuẩn biểu diễn và trao đổi dữ liệu ngày càng tăng của cộng đồng Web đã tạo nên một lượng dữ liệu XML ngày càng lớn Gắn liền với sự gia tăng đó, một lượng lớn các lược đồ XML đã được phát triển với rất nhiều đặc tả khác nhau, dẫn đến một lượng lớn dữ liệu XML không đồng nhất Thêm vào đó, hiện tại lại có khá nhiều ngôn ngữ lược đồ khác nhau được đưa ra, dẫn đến sự không đồng nhất về mặt cú pháp ở các ngôn ngữ lược đồ Với sự phát triển nhanh chóng và sự tăng trưởng mạnh mẽ về mặt quy mô của các ứng dụng Web, đặc biệt là sự phổ dụng của Internet và công nghệ XML,

đã có rất nhiều nghiên cứu quan tâm đến vấn đề chuyển đổi và tích hợp dữ liệu XML Vấn đề đối sánh lược đồ XML do vậy ngày càng trở nên quan trọng Trong đồ án này em tìm hiểu về phương pháp đối sánh tự động lược đồ XML và áp dụng của nó trong tích hợp dữ liệu XML, với bước đầu tiên là là phân cụm lược đồ XML

Với mục tiêu đó, trong đồ án này em tiến hành nghiên cứu, cài đặt và đánh giá việc

áp dụng một tiến trình đối sánh lược đồ XML cải tiến cho bài toán phân cụm lược đồ XML, cụ thể hơn:

O Kiểm tra và cài đặt giải thuật đối sánh lược đồ XML có cải tiến, sửa đổi

O Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML

Trang 6

Bài toán phân cụm lược đồ XML có ứng dụng lớn trong lĩnh vực tìm kiếm dữ liệu trên Web Để phân cụm được lược đồ được ta phải cần phải :

+ Đưa ra độ tương đồng giữa hai lược đồ

+ Cho đầu vào là tập các lược đồ, ta phải phân chia tập lược đồ đó thành các cụm tương đồng với nhau

Đồ án được trình bày trong 4 chương như sau:

Chương 1 : Đối sánh lược đồ

Trong chương này sẽ giới thiệu về bái toán đối sánh lược đồ, các ứng dụng của đối sánh lược đồ và một số hệ thống đối sánh lược đồ đã được xây dựng

Chương II : Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML

Trong chương này sẽ trình bầy các vấn đề như : mô hình hóa lược đồ XML, các tiến trình đối sánh thuật ngữ và đối sánh cấu trúc, bài toán phân cụm lược đồ XML Chương III: Cài đặt tiến trình đối sánh

O Chương này trình bày về cài đặt cụ thể giải thuật đối sánh để đưa ra đối sánh 2 lược đồ XML, mục đích tìm ra độ tương đồng nút của các phần tử trong 2 lược đồ XML, từ độ tương đồng của hai phần ta đưa ra được độ tương đồng của 2 lược đồ Đây là bước đầu tiên cần đạt được để áp dụng vào bài toán phân cụm lược đồ XML Chương IV: So sánh và đánh giá

O Các công việc đã thực hiện để đạt được mục tiêu đồ án đã đề ra

O Đưa ra các kết quả đo tương đồng

O Đánh giá tiến trình đối sánh mà ta đã xây dựng

Kết quả của chương trình này ta hoàn toàn có thể phát triển để áp dụng vào những lĩnh vực có ứng dụng trong thực tế như tích hợp lược đồ, chuyển đổi dữ liệu…

Trang 7

Chương 1: Đ i sánh lư c đ

1.1 Gi i thi u chung

Trong chương này ta tổng hợp lại các kết quả nghiên cứu điển hình về vấn đề đối sánh lược đồ Trước hết ta trình bày các khái niệm cơ bản cũng như các lĩnh vực ứng dụng điển hình của đối sánh lược đồ Như ta sẽ thấy, các lĩnh vực này là rất phong phú, cho thấy tầm quan trọng của bài toán đối sánh lược đồ Tiếp theo ta mô tả các tiếp cận đối sánh cơ bản và các phương pháp đối sánh thông dụng hiện nay Dựa trên các khảo sát về đối sánh lược đồ cũng như một số nghiên cứu gần đây, ta tiến hành phân tích và so sánh các tiếp cận này Như ta sẽ thấy, các giải pháp đối sánh thường kết hợp nhiều phương pháp khác nhau để tăng tính hiệu quả cho tiến trình đối sánh

Trong chương này ta cũng mô tả một số hệ thống đối sánh lược đồ điển hình đã được thực hiện, đánh giá và so sánh các thuật toán được sử dụng trong các hệ thống này Từ các đánh giá đó ta nêu ra các hạn chế cơ bản của các thuật toán này, đặc biệt là trong vấn

đề chuyển đổi dữ liệu Cuối cùng, trên cơ sở các phân tích trên, ta sẽ chứng tỏ rằng các thuật toán đối sánh lược đồ hiện tại cần được phát triển và hoàn thiện thêm nhằm giải quyết vấn đề tự động hóa tiến trình đối sánh lược đồ một cách có hiệu quả nhất

1.1.1 Khái ni m đ i sánh lư c đ

Đối sánh lược đồ là quá trình thao tác trên các lược đồ với đầu vào là hai lược đồ không đồng nhất và có thể có thêm thông tin phụ, trả về một tập các ánh xạ cho biết sự liên quan ngữ nghĩa giữa các phần tử lược đồ Trong thực tế, đối sánh lược đồ thường được thực hiện bằng tay với sự hỗ trợ của các công cụ đồ họa Quá trình này thường tốn thời gian và dễ gây lỗi, bởi vậy đã có nhiều nghiên cứu được tiến hành nhằm tự động hóa tiến trình đối sánh lược đồ Tuy nhiên đây là một vấn đề khó và phức tạp do một số lý do

cơ bản sau:

^ Các phần tử lược đồ được đối sánh trên cơ sở ngữ nghĩa của chúng Ngữ nghĩa có thể được thể hiện từ một số nguồn thông tin như người thiết kế, tài liệu, lược đồ và thể hiện dữ liệu Thực tế cho thấy người thiết kế rất khó để nhớ được tất cả chi tiết lược đồ và tài liệu hiện có thì thường không chính xác, không được cập nhật và không thể truy cập

Do đó tiến trình đối sánh lược đồ thường dựa hoàn toàn trên thông tin lược đồ và thể hiện

dữ liệu

Trang 8

^ Các lược đồ đã phát triển cho các ứng dụng khác nhau thì thường không đồng nhất, tức là mặc dù dữ liệu chúng mô tả là tương đồng về ngữ nghĩa nhưng cấu trúc và cú pháp

sử dụng lại có thể tương đối khác nhau

^ Để giải quyết các xung đột ngữ nghĩa và lược đồ, đối sánh lược đồ thường dựa trên tên phần tử, kiểu dữ liệu phần tử, các định nghĩa cấu trúc, các ràng buộc toàn vẹn và các giá trị dữ liệu Tuy vậy, các thông tin này thường không chắc chắn và không đầy đủ

^ Ánh xạ đơn giản nhất là ánh xạ một^một, nối kết một phần tử lược đồ nguồn trực tiếp tới một phần tử lược đồ đích Tuy vậy trong thực tế, một phần tử trong lược đồ này

có thể tương ứng với nhiều phần tử trong lược đồ khác bằng cách áp dụng một hoặc một vài phép toán (ví dụ phần tử đích “Name” tương ứng với ghép nối của hai phần tử nguồn

“firstName” và “lastName”)

^ Trong thực tế quá trình đối sánh lược đồ không thể thực hiện tự động được hoàn toàn, do vậy đòi hỏi phải có sự can thiệp của người dùng Từ đó có thể thấy một điều quan trọng là quá trình đối sánh không chỉ cần tự động đến mức có thể mà còn phải nhận biết được khi nào đầu vào người dùng là cần thiết và đầu vào đó phải được khai thác một cách hiệu quả nhất

1.1.2 Các phương pháp đ i sánh

Dù sử dụng các tiếp cận trên cơ sở luật hay trên cơ sở học, tất cả các công cụ đối sánh đều khai thác tên phần tử, kiểu dữ liệu, các ràng buộc và định nghĩa cấu trúc Trên cơ sở xem xét các dự án đã thực hiện và các khảo sát về vấn đề đối sánh lược đồ ta có thể phân chia các phương pháp đối sánh lược đồ thành ba loại: đối sánh ngôn ngữ, đối sánh trên cơ

sở ràng buộc và đối sánh cấu trúc Các công cụ đối sánh lược đồ thường kết hợp các phương pháp này để thực hiện quá trình đối sánh

so sánh cú pháp

Việc sử dụng phương pháp đối sánh ngôn ngữ có thể đưa đến những đối sánh không chính xác về mặt ngữ nghĩa Ví dụ hai phần tử cùng tên có thể biểu diễn các khái niệm hoàn toàn khác nhau hoặc ngược lại, hai phần tử có tên không giống nhau song lại có thể biểu diễn ngữ nghĩa tương đồng Hơn nữa đối sánh ngôn ngữ còn phải đối phó với các trường hợp đặc biệt như sử dụng chữ viết tắt, chữ rút gọn (là từ gồm những chữ cái đầu của các từ), tên có giới từ hay mạo từ, v.v Tuy còn tồn tại các vấn đề trên, đối sánh ngôn

Trang 9

ngữ lại khá dễ thực hiện và có thể cho một ánh xạ ban đầu, sau đó ta có thể xác nhận hoặc hủy bỏ bằng các phương pháp đối sánh khác

* Đối sánh dựa trên ràng buộc

Các ràng buộc lược đồ (nếu chúng là các tập thích đáng) có thể cho một dấu hiệu đáng quan tâm về cách đối sánh các phần tử lược đồ và do đó giảm nhẹ số lượng các ứng viên đối sánh (thu được từ phương pháp đối sánh ngôn ngữ) Các ràng buộc lược đồ bao gồm kiểu dữ liệu, phạm vi giá trị, các ràng buộc đơn nhất và toàn vẹn, v.v Như ta biết, các khuyến nghị lược đồ thường cung cấp một tập các kiểu dữ liệu nguyên gốc, do vậy việc phân tích các kiểu dữ liệu này có thể cung cấp cho ta các ứng viên đối sánh Một ví

dụ về hệ thống sử dụng tính tương thích kiểu dữ liệu là Cupid [11] Việc so sánh phạm vi giá trị số và/hoặc mẫu ký tự cũng có thể có ích trong việc suy ra các ứng viên đối sánh này, ví dụ chúng có thể cho phép nhận biết số điện thoại, mã bưu điện và địa chỉ Vấn đề nảy sinh trong việc sử dụng kiểu dữ liệu là khi chúng không đủ rõ ràng (ví dụ một trường

đã được khai báo như một số nguyên lại được khai báo như một xâu)

* Đối sánh cấu trúc

Đối sánh cấu trúc được sử dụng để hiệu chỉnh các đối sánh chưa chính xác từ các pha đối sánh không đầy đủ Tuy vậy, cho đến nay rất ít nghiên cứu về đối sánh lược đồ quan tâm đến cấu trúc của XML, vì đây phần lớn là các nghiên cứu trong lĩnh vực CSDL và chỉ quan tâm đến lược đồ quan hệ

Các hệ thống Cupid và Similarity Flooding đã đưa ra khái niệm độ tương đồng ngữ cảnh, tuy vậy không có hệ thống nào trong số chúng xét đến cả ba loại ngữ cảnh: Cupid chỉ sử dụng độ tương đồng ngữ cảnh lá và SF chỉ sử dụng độ tương đồng ngữ cảnh con

Có tác giả cũng đã đưa ra các phép đo độ tương đồng ngữ cảnh, nhưng họ chỉ quan tâm đến các DTD mà không phải là các lược đồ XML, ngoài ra họ cũng chỉ xét ngữ cảnh con

và ngữ cảnh lá Và có tác fiar lại quan tâm đến xét độ tương đồng cấu trúc dựa trên quan

hệ tổ tiên và con cháu giữa các phần tử lược đồ, tuy vậy họ chỉ quan tâm đến vấn đề thay đổi phiên bản giữa các tài liệu XML, điều này nghĩa là các tài liệu nguồn và đích có độ tương đồng cao, là một giả thiết không có giá trị lắm trong đối sánh lược đồ

1.2 Các "ng d$ng c%a đ i sánh lư c đ

* Tích hợp lược đồ, tích hợp dữ liệu

Đối sánh lược đồ rất quan trọng, nó được sử dụng rất nhiều vào các bài toán lớn và quan trọng, một trong số đó là tích hợp lược đồ Tích hợp lược đồ là một trong những mục tiêu quan trọng nhất của bài toán đối sánh lược đồ Vấn đề này đã được nghiên cứu

từ đầu những năm 80, nó xuất hiện khi người ta cần xây dựng một hệ thống cơ sở dữ liệu bao gồm một vài hệ thống cơ sở dữ liệu khác nhau và thiết kế lược đồ của cơ sở dữ liệu

Trang 10

đó từ các lược đồ địa phương Trong ngữ cảnh của trí tuệ nhân tạo hoặc Web ngữ nghĩa, tích hợp lược đồ tương đương với bài toán trộn các ontology được phát triển độc lập để xây dựng một cở sở tri thức tích hợp

Hình 1.1: H th ng tích h p d* li u giúp ngư,i dùng tìm văn b1n[8]

Hình 1^3 minh họa cho hệ thống tích hợp dữ liệu văn bản để trợ giúp người dùng tìm được văn bản cần thiết Với truy vấn người dùng tới lược đồ trung gian (Mediated schema), hệ thống sẽ sử dụng tập các ánh xạ ngữ nghĩa giữa lược đồ trung gian và các lược đồ địa phương của nguồn dữ liệu để chuyển đổi thành truy vấn trên các nguồn dữ liệu Sau khi thực hiện truy vấn trên các nguồn dữ liệu sẽ tổng hợp kết quả và trả lại cho người dùng Các ứng dụng chia sẽ dữ liệu theo kiểu này đang xuất hiện rất nhiều trong các lĩnh vực hiện nay như thương mại điện tử, sinh học …Internet đã mang lại hàng triệu nguồn dữ liệu và cần phải tạo khả năng chia sẻ dữ liệu giữa chúng

* Thương mại điện tử

Với sự phổ biến của Internet hiện nay, các công ty kinh doanh ngày càng phải quản lý các giao dịch online của họ như trao đổi thông tin, đặt hàng, xác nhận và thanh toán Các giao dịch này là quá trình trao đổi các tài liệu hay thông điệp (messages) giữa các công

ty Thường thì mỗi một công ty phát triển một ứng dụng với một định dạng messages khác nhau như EDI (Electronic Data Exchange), XML hoặc bất kỳ định dạng nào Để hệ thống trao đổi được các messages đó, các ứng dụng cần phải chuyển đổi được các thông điệp từ định dạng này sang định dạng khác Điều này chính là động lực cho bài toán đối sánh lược đồ phát triển để chuyển đổi các thông điệp

* Web ngữ nghĩa

Tốc độ phát triển của Internet nhanh như hiện nay với lượng thông tin khổng lồ khiến chúng ta rất khó khai thác và sử dụng hiệu quả Bởi vì các thông tin trên Web hiện nay

Trang 11

được thiết kế chủ yếu cho con người sử dụng chứ không phải máy tính Mục đích của ứng dụng này là làm giàu các tài liệu Web hiện nay bằng các mô tả ngữ nghĩa nhằm mục đích máy tính có thể hiểu được Quá trình làm giàu hay chú thích ngữ nghĩa cho các tài liệu Web sử dụng khái niệm Ontology

Một Ontology định nghĩa các thuật ngữ được sử dụng để biểu diễn một lĩnh vực tri thức nào đó Ontology được sử dụng trong các ứng dụng và kể cả trong cuộc sống hằng ngày để chia sẽ thông tin về một lĩnh vực cụ thể nào đó Ontology bao gồm các định nghĩa mà máy có thể hiểu được của các khái niệm cơ bản và quan hệ giữa chúng trong một lĩnh vực cụ thể

Tuy nhiên các tài nguyên trên Web (website, webservice…) khác nhau không chắc sử dụng cùng một Ontology, vì vậy việc truy vấn và khai thác các tài nguyên Web này cần thực hiện qua một Ontology trung gian, Ontology trung gian là ánh xạ của các Ontology địa phương Như vậy đối sánh ngữ nghĩa của các khái niệm trong các Ontology cần được

xử lý để có thể thực hiện truy vấn trên Ontology trung gian

Các đặc điểm chính trong các ứng dụng về cơ sở dữ liệu cần tích hợp ngữ nghĩa là chúng được biểu diễn dưới dạng có cấu trúc như lược đồ quan hệ hay XML, DTD, để mã hóa dữ liệu và chúng sử dụng nhiều các biểu diễn Hiểu theo nghĩa hẹp, các ứng dụng cần phải giải quyết vấn đề hỗn tạp trong các lược đồ cùng dữ liệu và cả thực hiện các thao tác

xử lý trộn các lược đồ hoặc tính toán sự khác biệt hoặc chuyển đổi dữ liệu và truy vấn qua các lược đồ

* Kho dữ liệu

Một biến thể của vấn đề tích hợp dữ liệu là tập hợp các nguồn dữ liệu tích hợp vào một kho tập trung, gọi là kho dữ liệu Quá trình này đòi hỏi phải chuyển đổi dữ liệu từ định dạng nguồn thành định dạng kho dữ liệu, do đó có thể sử dụng đối sánh lược đồ để thực hiện các chuyển đổi này Với một nguồn dữ liệu đã cho, một phương pháp thích hợp

để tạo các chuyển đổi là tìm kiếm các phần tử của nguồn mà có mặt trong kho dữ liệu Thuận lợi chính của kho dữ liệu là hiệu quả cao trong trả lời truy vấn (Bởi vì các truy vấn được áp dụng trực tiếp tới dữ liệu trong kho) Tuy vậy nó đòi hỏi kho phải được cập nhật khi dữ liệu thay đổi Điều này không thích hợp khi điều quản một số lượng lớn nguồn hoặc khi nguồn thương xuyên thay đổi Hiện nay một khung làm việc hỗ trợ cho các khung nhìn thích hợp mà tích hợp các tiếp cận kho dữ liệu và kho ảo đã được đề xuất

* Chuyển đổi dữ liệu

Trong quá trình phát triển một số thay đổi thông tin và cách quản lý các thông tin đó ở mỗi công ty hay cơ quan nhà nước là điều đương nhiên Do đó xuất hiện một ứng dụng khác đòi hỏi việc đối sánh lược đồ để sử dụng trao đổi dữ liệu giữa các luồng định dạng thông tin khác nhau Trao đổi dữ liệu mà thường được gọi là dịch hay chuyển đổi dữ liệu

Trang 12

là vấn đề dịch nội dung của nguồn dữ liệu thành thể hiện của một lược đồ đích mà phản ánh dữ liệu nguồn chính xác đến mức có thể Trong chuyển đổi dữ liệu lược đồ đích được tạo ra độc lập và có các ràng buộc của bản thân nó Còn trong tích hợp dữ liệu lược đồ tổng thể là một lược đồ ảo và có tính hòa hợp, không có ràng buộc định nghĩa trước Một khác biệt quan trọng nữa là trong trao đổi dữ liệu ta phải tạo ra một thể hiện đích mà phản ánh tốt nhất thể hiện nguồn đã cho Trong tích hợp dữ liệu không có sự thay đổi nào về

dữ liệu được yêu cầu Việc tự động hóa quá trình chuyển đổi dữ liệu đòi hỏi sử dụng đối sánh lược đồ để phát hiện sự tương đồng giữa lược đồ nguồn và đích

* Quản lý dữ liệu ngang hàng

Đây là một mở rộng tự nhiên của tích hợp dữ liệu Ngược lại với môi trường tích hợp

dữ liệu, một quản lý dữ liệu ngang hàng không dựa trên khái niệm lược đồ trung gian mà cho phép tùy ý các điểm truy vấn và lấy dữ liệu trực tiếp từ mỗi điểm khác[1] Việc sử lý thông tin và lấy nội dung giữa vô số các điểm tự trị đòi hỏi các kỹ thuật đối sánh thích hợp để xác định các ánh xạ giữa các khái niệm của các điểm khác nhau mà có liên quan

về ngữ nghĩa

* Xử lý truy vấn ngữ nghĩa

Một vấn đề khác hơn đôi chút là xử lý truy vấn ngữ nghĩa ^ vấn đề tại thời điểm thực thi ở đó người dùng sẽ chỉ rõ đầu ra của một truy vấn và hệ thống sẽ tính toán xem làm thế nào để đưa ra đầu ra đó Đặc tả của người dùng được phát biểu dưới dạng các khái niệm quen thuộc với họ mà có thể không giống như tên các phần tử được chỉ ra trong lược đồ CSDL Bởi vậy, trong pha đầu tiên của việc xử lý truy vấn, hệ thống phải ánh xạ các khái niệm người dùng yêu cầu trong đầu ra truy vấn tới các phần tử lược đồ Sau khi ánh xạ đầu ra truy vấn tới các phần tử lược đồ, hệ thống phải nhận được một phát biểu cho biết ngữ nghĩa của ánh xạ

1.3 Các h th ng sánh lư c đ đi n hình

1.3.1 Cupid

Cupid là một bộ đối sánh lai kết hợp một vài phương pháp đối sánh Đây là một bộ đối sánh được phát triển với mục đích áp dụng cho các mô hình dữ liệu tổng quát và đã được áp dụng cho các nguồn dữ liệu XML và quan hệ Tiến trình đối sánh có ba pha:

* Pha đầu tiên là đối sánh ngôn ngữ Trước hết tên phần tử được phân tích thành các token dựa trên các dấu phân tách và được mở rộng để nhận dạng các chữ viết tắt (abbreviation) hoặc chữ rút gọn (acronym) sử dụng một từ điển đồng nghĩa cho cả ngôn ngữ chung và các tham khảo riêng lĩnh vực Sau đó Cupid sẽ phân cụm các phần tử lược

đồ thành các danh mục dựa trên kiểu dữ liệu và nội dung ngôn ngữ để giảm bớt số lượng phép so sánh một^một giữa các phần tử lược đồ (chỉ các phần tử thuộc về các danh mục

Trang 13

giống nhau trong hai lược đồ mới được xem xét) Tiếp theo Cupid tính toán một hệ số tương đồng ngôn ngữ giữa các cặp tương thích về kiểu dữ liệu và nội dung ngôn ngữ dựa trên việc đối sánh xâu con và một từ điển đồng nghĩa có các quan hệ đồng nghĩa (synonymy) và bao nghĩa (hypernymy) Kết quả của pha này là một bảng các hệ số tương đồng ngôn ngữ trong phạm vi [0, 1] giữa các phần tử trong hai lược đồ

* Pha thứ hai chuyển đổi các lược đồ nguyên thủy thành cây và sau đó thực hiện đối sánh cấu trúc từ dưới lên

* Pha thứ ba sẽ đưa ra ánh xạ cuối cùng giữa các phần tử lược đồ dựa trên các hệ số thu được trong pha hai

1.3.2 Similarity Flooding

Đối sánh cấu trúc SF dựa trên ý tưởng sau: đầu tiên các lược đồ được đối sánh sẽ được chuyển đổi thành các đồ thị gán nhãn có hướng; thứ hai việc tính toán điểm cố định lặp lại được sử dụng để xác định các ứng viên đối sánh giữa các nút của đồ thị lược đồ

Để tính toán độ tương đồng nút, SF dựa trên trực giác rằng các nút của hai đồ thị phân biệt là tương đồng khi các nút gần kề là tương đồng Đầu tiên một đồ thị lan truyền tương đồng được xây dựng, đó là một cấu trúc dữ liệu phụ trợ dẫn xuất từ hai lược đồ đang được đối sánh, chẳng hạn là A và B Để thu được đồ thị lan truyền tương đồng, một đồ thị liên kết cặp được tính toán từ A và B Mỗi phần tử trong đồ thị liên kết là một phần tử, gọi là cặp ánh xạ, từ A×B Hai cặp ánh xạ, ví dụ (a, b) và (a1, b1) được kết nối dựa trên trực giác rằng nếu a và b là tương đồng, thì có thể con cháu trực tiếp của chúng a1 và b1

cũng tương đồng Đồ thị liên kết cặp đôi được sử dụng để lan truyền độ tương đồng giữa các nút sử dụng một tiến trình lặp lại, trong đó mọi sự lặp lại sự tương đồng của một cặp ánh xạ được gia tăng bởi sự tương đồng của các láng giềng của nó Tiến trình lặp sẽ hội

tụ sau một số lớn nhất các bước lặp xác định

1.3.3 LSD

Hệ thống LSD (Learning Source Description) sử dụng các kỹ thuật học máy để đối sánh một nguồn dữ liệu mới dựa vào một lược đồ tổng thể định nghĩa trước đó LSD dựa trên sự kết hợp một vài kết quả đối sánh nhận được từ những người học độc lập Những người học này được đào tạo trong một pha tiền xử lý Với một ánh xạ ban đầu (thường

do người dùng cung cấp) giữa một nguồn dữ liệu đã cho và lược đồ tổng thể, pha tiền xử

lý phân tích các thể hiện từ nguồn dữ liệu đó để đào tạo những người học khác nhau và khám phá các mẫu thể hiện đặc trưng và các luật đối sánh Các mẫu và luật sau đó được

sử dụng để đối sánh các nguồn dữ liệu mới với lược đồ tổng thể Tất cả những người học

cơ sở (người học tên, người học nội dung, v.v ) đều không thể điều quản được cấu trúc phân cấp của XML bởi vì chúng "trải phẳng" tất cả cấu trúc trong mỗi thể hiện vào và chỉ

sử dụng các từ trong thể hiện như là các token Để giải quyết vấn đề này, LSD đưa ra một

Trang 14

người học XML^riêng để giúp cải thiện các kết quả đối sánh của nó Nó cũng tương tự như người học Naive^Bayes bởi vì nó sử dụng tần số xuất hiện của từ để tìm kiếm các đối sánh có thể, không chỉ xét tên phần tử như là các token mà còn xét các cạnh giữa các phần tử, do đó thao tác trên hai kiểu token: token nút và token cạnh Mỗi nút không gốc trên cây lập thành một token nút và mỗi nút với nút con của nó lập thành một token cạnh Cho dù điều này giúp cải thiện kết quả, tiếp cận này gặp phải một số giới hạn do nó không khai thác đầy đủ cấu trúc XML Ví dụ, không có sự phân biệt giữa các phần tử và các thuộc tính (thuộc tính được xem như một phần của phần tử, bởi vậy chúng không được xét đến nữa) Hơn nữa, chỉ có một quan hệ cấu trúc được xét đến trong hệ thống LSD là quan hệ cha mẹ – con cái, không đủ để mô tả ngữ cảnh của một phần tử, và giới hạn phạm vi của hệ thống trong các cấu trúc tương đồng có cùng chiều sâu Nhiều thông tin cấu trúc phải được đưa vào trương mục như là quan hệ anh chị em, tổ tiên – con cháu, các ràng buộc toàn vẹn, v.v

1.3.4 M>t s h th ng đ i sánh lư c đ khác

* SKAT

SKAT (Semantic Knowledge articulation tool) thực hiện đối sánh dựa trên lược đồ sử dụng các luật Các luật là các biểu thức trong logic vị từ để thể hiện các quan hệ tương đương, không tương đương và các hàm được định nghĩa để sinh ra các luật đối sánh mới

* TransScm

TransScm sử dụng phương pháp schema^based để thực hiện việc chuyển đổi dữ liệu Schema đầu vào được biểu diễn dưới dạng đồ thị Các luật được xây dựng bởi người quản trị được áp dụng vào các nút của đồ thị Quá trình đối sánh được thực hiện theo mô hình top^down và đối sánh từng nút một với nhau với quy luật là các nút cha sẽ cần kết quả của các nút con Sử dụng hệ thống tự động chuyển đổi dữ liệu giữa các thể hiện lược

đồ Các lược đồ đầu vào được biểu diễn như các đồ thị gán nhãn

1.4 K t chương

Đối sánh lược đồ là một công việc rất quan trọng trong các ứng dụng có liên quan đến ngữ nghĩa Chương này đã giới thiệu về bài toán đối sánh lược đồ và đưa ra một số giải pháp đã được nghiên cứu nhằm giải quyết vấn đề đối sánh Các phương pháp có sự thiết

kế khác nhau nhưng đều với mục đích giải quyết bài toán một cách tốt nhất Thực hiện bài toán đối sánh lược đồ XML cần biết được thế nào là công nghệ XML Và lược đồ XML được xây dựng như thế nào Đồng thời ta cũng phải biết về từ điển điện tử WordNet, cấu trúc và cách sắp sếp từ trong WordNet Đưa ra các giải thuật đối sánh thuật ngữ, đối sánh cấu trúc để có thể đưa ra được ma trận độ tương đồng node của hai lược đồ

Trang 15

Việc đưa ra các định nghĩa hình thức cho vấn đề đối sánh lược đồ là một bước quan trọng trong tiến trình đối sánh Điều này giúp người dùng đánh giá và so sánh được khả năng ứng dụng của các giải pháp đối sánh

Tuy vậy, công việc cơ bản trong bất cứ giải pháp đối sánh lược đồ nào vẫn là việc tính toán độ tương đồng giữa các phần tử lược đồ, do vậy ta cần phải chỉ ra các tiêu chuẩn đối sánh cũng như việc thực hiện chúng Các vấn đề này sẽ được trình bày trong chương tiếp theo

Trang 16

Chương 2: Áp d$ng đ i sánh lư c đ trong bài

toán phân c$m lư c đ XML

Trong chương trước ta đã trình bầy về đối sánh lược đồ XML, các tiến trình đối sánh lược đồ, hay các hệ thống đối sánh lược đồ điển hình Trong chương này ta sẽ trình bầy

lý thuyết về đối sánh giữa hai lựợc đồ XML

Trước hết ta cẩn phải biết về ngôn ngữ đánh dấu mở rộng XML Các giải thuật đối sánh như đối sánh ngôn ngữ, đối sánh ngôn ngữ có xét tính tương thích kiểu dữ liệu hay đối sánh cấu trúc Mục đích cuối cùng là đưa ra độ tương đông node của hai lược đồ Sau khi có kết quả đối sánh giữa hai lược đồ ta có thể áp dụng kết quả này vào trong bài toán phân cụm lược đồ

2.1 XML và lư c đ XML

2.1.1 Ngôn ng* đánh dFu mG r>ng XML

XML (Extensible Markup Language) là “ ngôn ngữ đánh dấu mở rộng ” được định nghĩa bởi tổ chức mạng toàn cầu W3C (World wide Web Consortum), tổ chức này có địa chỉ Internet là http://www.w3c.org Đây là tổ chức quốc tế định ra các chuẩn của web và internet XML có khả năng mô tả nhiều loại dữ liệu khác nhau Mục đích chính của XML

là đơn giản hóa việc chia sẽ dữ liệu giữa các hệ thống khác nhau đặc biệt là các hệ thống được kết nối với Internet Các ngôn ngữ dựa trên XML (ví dụ như: RDF, RSS, MathML, XHTML, SVG, và cXML) được định nghĩa theo cách thông thường, cho phép các chương trình sửa đổi và kiểm tra hợp lệ bằng các ngôn ngữ này mà không cần có hiểu biết trước về hình thức của chúng

XML cung cấp một phương tiện dùng văn bản (text) để mô tả thông tin và áp dụng một cấu trúc kiểu cây cho thông tin đó Tại mức căn bản, mọi thông tin đều thể hiện dưới dạng text, chen giữa là các thẻ đánh dấu với nhiệm vụ ký hiệu sự phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự, các phần tử dùng để chứa dữ liệu, và các thuộc tính của các phần tử đó Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Universal Character Set (Bộ ký tự toàn cầu) Các ký tự được kết hợp theo các tổ hợp chuỗi hợp lệ để tạo thành một tài liệu XML Tài liệu này gồm một hoặc nhiều thực thể, mỗi thực thể thường là một phần nào đó của các ký tự thuộc tài liệu, được mã hóa dưới dạng một chuỗi các bit và lưu trữ trong một tệp văn bản

Nét đẹp và hấp dẫn của XML là có thể tự định nghĩa được các thẻ cho riêng mình, có thể tự định dạng các thẻ trong XML Điều quan trọng là cần xác định cú pháp để các thẻ tuân theo Có hai cách để xác định cú pháp mà tài liệu XML có thể theo, đó là mô hình

Trang 17

định nghĩa kiểu tư liệu XML (DTD – Definition Type Document) và mô hình lược đồ XML

Để sử dụng XML có thể sử dụng nhiều ngôn ngữ lập trình khác nhau để phân tích và

sử dụng nó, trong đó có Java Các trình duyệt chủ yếu ngày nay đang được xây dựng với khả năng hiểu XML Trình duyệt cung cấp cho ngôn ngữ lập trình script để điều khiển và làm việc trên tài liệu XML Xử lý tài liệu XML bên ngoài trình duyệt là vấn đề quan trọng, ngày nay hầu hết các ứng dụng phát triển với XML đều sử dụng Java Các ngôn ngữ trong bộ phát triển NET cũng là một công cụ phát triển XML rất hiệu quả

Cũng có thể thiết kế tài liệu XML để hiển thị được trực tiếp trên các trình duyệt mới nhất Có 2 cách để thực hiện công việc này, đó là dùng bảng định kiểu CSS (Cascading Style Sheet) và dùng XSL Hay có thể có các đặc tả mạnh nữa của XML là Xlinks, Xpoiter, Xbase Những thành phần này cho phép trỏ đến một mục cụ thể trong tài liệu XML

* Cấu trúc tài liệu XML

Tài liệu XML được định nghĩa tùy theo người thiết kế tài liệu, và tuân thủ quy định nghiêm ngặt trong cấu trúc của tài liệu

<tên thuộc_tính="giá trị">nội dung</tên>

Xét ví dụ về tạo tài liệu XML

<?xml version="1.0" encoding="UTFO8"?>

<thuvien maso=”12345”>

<diachi>155 giai phong ha noi</diachi>

<sach ms="12345abc>Lap trinh C++</sach>

Dòng đầu tiên là khai báo XML “<?xml version="1.0" encoding="UTFO8"?>” đây

là một dòng không bắt buộc, với nhiệm vụ thông báo phiên bản XML đang được sử dụng (thường là phiên bản 1.0), và còn có thể chứa thông tin về mã hóa ký tự và các phụ thuộc bên ngoài

Phần còn lại của tài liệu này chứa các phần tử lồng nhau, một số phần tử trong đó có các thuộc tính và nội dung Một phần tử thường bao gồm hai thẻ (tag), một thẻ bắt đầu (<…>) và một thẻ kết thúc (</…>), có thể bao quanh văn bản và các phần tử khác Thẻ

Trang 18

bắt đầu bao gồm một cái tên đặt trong một cặp ngoặc nhọn, như " "; thẻ kết thúc bao gồm chính cái tên đó đặt trong một cặp ngoặc nhọn, với một dấu gạch chéo đứng trước, như " " Nội dung của phần tử là tất cả những gì nằm giữa thẻ bắt đầu và thẻ kết thúc, bao gồm văn bản và các phần tử (con) khác Bên cạnh nội dung, một phần tử

có thể chứa các thuộc tính ^^ các cặp tên ^^ giá trị được đặt trong thẻ bắt đầu, ngay sau tên phần tử Giá trị của thuộc tính phải được đặt trong cặp nháy đơn hoặc nháy kép, mỗi tên thuộc tính chỉ được xuất hiện một lần trong mỗi phần tử

XML cung cấp cú pháp đặc biệt để biểu diễn một phần tử với nội dung rỗng Thay vì viết một thẻ bắt đầu và một thẻ kết thúc ngay sau đó, tài liệu có thể chứa thẻ phần tử rỗng

mà trong đó dấu gạch chéo đứng ngay sau tên phần tử Hai ví dụ sau là tương đương về chức năng: <tam></tam> tương đương với <tam/> XML cung cấp hai phương pháp biểu diễn các ký tự đặc biệt: các tham chiếu thực thể (entity reference) và các tham chiếu

ký tự số (numeric character reference)

Trong XML, một thực thể (entity) là một thân dữ liệu được đặt tên với dữ liệu thường

là text, chẳng hạn một ký tự đặc biệt Một tham chiếu thực thể là một ký hiệu đại diện cho thực thể đó Nó bao gồm tên của thực thể với dấu (" ") đứng trước và một dấu chấm phảy (" ") đứng sau XML có năm thực thể đã được khai báo trước là &amp; (&) , &lt; (<) , &gt; (>), &apos; ('), &quot; (")

2.1.2 Lư c đ XML

Lược đồ XML[12][13] được tổ chức W3C bắt đầu quan tâm từ năm 1998 và phiên bản đầu tiên được công bố chính thức vào tháng 5/2001 Cấu trúc của một tài liệu XML được định nghĩa trong một lược đồ XML dưới dạng các quan hệ phân cấp đã định nghĩa trước giữa các phần tử XML và/ hoặc các thuộc tính với các ràng buộc đăc trưng có liên quan

* Các kiểu dữ liệu lược đồ XML

Theo định nghĩa của W3C một kiểu dữ liệu lược đồ XML là một bộ 3 bao gồm:

^ Một tập các giá trị phân biệt, gọi là không gian giá trị (miền)

^ Một tập các biểu diễn từ vựng, gọi là không gian tự động

^ Một tập các giới hạn kiểu mô tả các thuộc tính của không gian giá trị, các giá trị riêng lẻ hoặc các mục từ vựng Kiểu trong lược đồ XML có thể là đơn giản hoặc phức hợp Kiểu đơn giản cho phép nội dung dữ liệu là ký tự nhưng không phải là phần tử con hoặc thuộc tính Kiểu phức hợp thì cho phép có phần tử con hoặc thuộc tính

Lược đồ XML định nghĩa 44 kiểu đơn giản nội tại mô tả các kiểu dữ liệu được sử dụng chung Chúng bao gồm kiểu xâu (string), kiểu số (numerical), kiểu ngày tháng (date) và thời gian(time) ví dụ: date, duration, time Lược đồ XML cũng cho phép người

Trang 19

dùng dẫn xuất ra các kiểu riêng từ các kiểu nội tại bằng cách áp dụng một số giới hạn kiểu, ví dụ hạn chế phạm vi hợp lệ của các giá trị số bằng cách thiết lập các giá trị lớn nhất hoặc nhỏ nhất và giới hạn chiều dài của xâu ký tự

Lược đồ XML đề nghị hai cách khác nhau để định nghĩa các kiểu đơn giản dẫn xuất

là dẫn xuất theo danh sách (List) và dẫn xuất theo hợp(union) Không gian giá trị của một kiểu dữ liệu danh sách là một tập các dãy chiều dài hữu hạn ( finite^length sequence ) của các giá trị nguyên tố Kiểu dữ liệu nguyên tố trong định nghĩa của một kiểu dữ liệu danh sách được xem là itemType của kiểu dữ liệu danh sách đó Ví dụ sau định nghĩa một kiểu

dữ liệu phoneNumber như là một danh sách các unsignedByte

* khai báo thuộc tính và phần tử

Thuộc tính và phần tử trong lược đồ XML cho phép định nghĩa cả toàn cục hoặc cục

bộ nếu là toàn cục chúng được định nghĩa như là con trực tiếp của phần tử < schema

>, và sau đó có thể được tham chiếu từ các phần tử <complexType> tùy ý Nếu là cục bộ chúng được định nghĩa trong một phần tử <complexType> Định nghĩa thuộc tính được cho bới các phần tử <attribute> chỉ ra tên, và kiểu luôn là kiểu đơn giản, số yếu tố nhỏ nhất (tùy chọn hoặc yêu cầu) và đơn giản nhất là một giá trị mặc định hoặc một giá trị cố định Khai báo phần tử kết hợp tên với định nghĩa kiểu (đơn giản hoặc phức hợp), giá trị mặc định và tập các định nghĩa ràng buộc đồng nhất (có thể rỗng ) Sự kết hợp có thể là toàn cục hoặc giới hạn phạm vi trong một định nghĩa kiểu phức hợp

* Các kiểu phức hợp

Ngược lại với kiểu đơn giản, kiểu phức hợp cho phép các phần tử con hoặc các định nghĩa thuộc tính Các kiểu dữ liệu này sau đó sử dụng cho việc định nghĩa kiểu phần tử Đây là một trong những khác biệt chính của lược đồ với DTD: các phần tử (tức là các thẻ được sử dụng trong tài liệu ) có thể khác với các kiểu dữ liệu (định nghĩa như là các kiểu phức hợp ) Kiểu dữ liệu phức hợp cũng có thể dẫn xuất từ các kiểu dữ liệu đã tồn tại bằng cách hạn chế một kiểu dữ liệu phức hợp khác hoặc mở rộng một kiểu dữ liệu đơn giản hoặc phức hợp Định nghĩa kiểu phức hợp bao gồm các thuộc tính là :

Trang 20

^ Tên

^ kiểu cơ sở và phương pháp dẫn xuất(nếu là kiểu dẫn xuất)

^ khai báo thuộc tính chứa phần tử con<attibute>

^ kiểu nội dung ( chỉ ra phần tử elementOnly, rỗng, hỗn hợp, hoặc kiểu đơn giản )

Mô hình nội dung: chứa phần tử con <element> khai báo cấu trúc của nội dung phần

tử Nội dung phần tử có thể được lồng thêm vào các phần tử <all>, <choise>, <sequence>

và <any> cho phép chỉ ra các thuộc tính tương đồng như DTD

Trong ví dụ dưới đây kiểu phức hợp Book mở rộng kiểu phức hợp Puplication bằng cách chèn thêm vào hai phần tử ISBN và Publisher

* Khả năng thay thế phần tử và kiểu

Lược đồ XML cung cấp cơ chế nhóm thay thế cho phép các phần tử (kiểu ) được thay thế bởi các phần tử (kiểu) khác Cụ thể hơn, các phần tử có thể được gán cho một nhóm phần tử đặc biệt mà phần tử đặc biệt mà được xem là có khả năng thay thế cho một phần tử có tên đặc biệt gọi là phần tử đầu (head element) Trong ví dụ dưới đây ta khai báo phần tử monograph và gán nó cho một nhóm thay thế trong đó phần tử đầu là book,

và bởi vậy monograph có thể được sử dụng ở những nơi mà book được sử dụng Các phần tử trong một nhóm thay thế phải có cùng một kiểu như phần tử đầu, hoặc có thể có kiểu dẫn xuất từ kiểu của phần tử đầu

Tương tự như sự thay thế phần tử, lược đồ XML đưa ra khả năng thay thế kiểu, tức là khả năng thay thế nội dung phần tử bằng một một nội dung khác Nguyên lý của thay thế kiểu là một kiểu cơ sở có thể được thay thế bởi bất kỳ một kiểu dẫn xuất nào Trong ví dụ dưới đây có kiểu Book và Journal được dẫn xuất từ kiểu Publication Nếu ta khai báo một phần tử pub là kiểu Publication (kiểu cơ sở ), thì nội dung có thể là một kiểu Publication, một book hoặc một Journal Trong thể hiện XML, điều này được thực hiện bằng nội dung thuộc tính đặc biệt xsi:type mà giá trị của nó là một trong các kiểu dẫn xuất Việc sử dụng thuộc tính xsi:type trong thể hiện XML là một ngoại lệ của quy tắc thông tin lược đồ XML, không phải là một phần của thể hiện XML

* Kiểu trừu tượng và phần tử trừu tượng

Lược đồ XML đưa ra khái niệm trừu tượng và phần tử trừu tượng Như thường thấy trong mô hình hóa hướng đối tượng, kiểu trừu tượng có thể không có thể hiện trực tiếp nhưng có thể có thể hiện cụ thể Nếu một phần tử được khai báo là kiểu trừu tượng thì trong tài liệu thể hiện XML mô hình nội dung của phần tử đó có thể không phải là của kiểu trừu tượng nhưng cũng áp dụng cho phần tử Nếu một phần tử được khai báo trừu tượng thì trong một tài liệu thể hiện XML phần tử đó có thể không xuất hiện nhưng các phần tử thuộc nhóm thay thế cho phần tử trừu tượng lại có thể xuất hiện tại vị trí của nó Trong ví dụ trên ta sẽ khai báo kiểu Publication là trừu tượng như sau :

Trang 21

Ví dụ:<xs:complexType name="Publication" abstract="true">

Do phần tử pub có một kiểu trừu tượng Publication, các thể hiện của phần tử này sẽ chỉ là gián tiếp của kiểu Publication, ví dụ Book hoặc Journal Trong thể hiện XML, điều này được thực hiện bằng cách sử dụng thuộc tính đặc biệt xsi:type mà giá trị của nó là một trong các kiểu con cụ thể

* Ràng buộc toàn vẹn

Lược đồ XML hỗ trợ ràng buộc toàn vẹn và ràng buộc toàn vẹn tham chiếu đã biết trong mô hình quan hệ: duy nhất (unique), khóa (key) và khóa tham chiếu (keyref) Duy nhất khóa chỉ ra một danh sách thuộc tính phải nhận dạng duy nhất mỗi mục giữa một tập các nút được đánh địa chỉ bằng một bộ chọn (selector) Lược đồ XML có nhiều ràng buộc tham chiếu và đồng nhất như:

^ Nội dung phần tử có thể được định nghĩa là duy nhất

^ Các thuộc tính không chỉ mục (non ^ ID) có thể được khai báo hoặc là duy nhất hoặc

là khóa

^ Sự kết hợp nội dung phần tử và thuộc tính có thể được khai báo là duy nhất hoặc khóa, tức là không chỉ duy nhất mà luôn hiện diện và không rỗng (non^ nilliable)

^ Lược đồ XML phân biệt giữa duy nhất và khóa

^ So sánh giữa các trường khóa tham chiếu và các trường khóa hoặc duy nhất là so sánh bằng nhau về giá trị mà không phải bằng nhau về sâu

Kết luận: XML được sử dụng rất rộng lớn và đầy hứa hẹn trong tương lai, bới những

an toàn mà chúng đưa lại, cũng như dễ ràng tiếp cận và thực hiện cài đặt các bài toán Lược đồ XML mô tả chi tiết tài liệu XML, nhằm tạo ra được những yêu cầu một cách chính xác khi các phần tử được biểu diễn trong file

2.2 Mô hình hóa lư c đ XML

2.2.1 Các nút đ thH lư c đ

Ta phân chia các nút thành hai loại: nút nguyên tố và nút phức hợp Nút nguyên tố không có cạnh nào đi ra (xuất phát) từ chúng Chúng là các nút lá trong đồ thị lược đồ Nút phức hợp là các nút trong của đồ thị lược đồ Mỗi nút nguyên tố chứa một nội dung đơn, đó có thể là một giá trị nguyên tố trên miền các kiểu dữ liệu cơ bản (ví dụ string,

Trang 22

integer, date, v.v ) hoặc một giá trị dạng danh sách (list value) hoặc một giá trị hợp (union value) Nội dung của nút phức hợp được gọi là nội dung phức hợp, nó tham chiếu đến một số nút khác qua các cạnh gán nhãn có hướng Trong hình 2.1, các nút University

và Library là các nút phức hợp, trong khi đó các nút Name và Location là các nút nguyên

tố

2.2.2 Các cInh đ thH

Mỗi cạnh trong đồ thị lược đồ liên kết hai nút, điều này thể hiện khía cạnh cấu trúc của lược đồ XML Ta phân biệt ba loại cạnh thể hiện các quan hệ chứa, thuộc tính và kết hợp:

O Quan hệ chứa, được biểu thị bởi c, là một quan hệ hợp trong đó một nút hợp ("toàn thể" – "whole") bao gồm một số nút thành phần ("bộ phận" – "parts")

O Quan hệ thuộc tính, được biểu thị bởi p, cho biết thuộc tính phụ trợ của một nút

O Quan hệ kết hợp, được biểu thị bởi a, là một quan hệ cấu trúc cho biết cả hai nút là

có cùng mức về mặt khái niệm Về bản chất các quan hệ kết hợp mô hình hóa các khóa/khóa tham chiếu và thay thế cho các cơ chế nhóm Các quan hệ này thông thường là hai chiều Hai quan hệ kết hợp được trình bày trong hình 2.1 Kết hợp thứ nhất giữa hai nút Book và Monograph nhằm mô hình hóa việc thay thế quan hệ nhóm giữa hai nút Trong khi đó quan hệ kết hợp thứ hai giữa JournalOref và Journal chỉ ra một quan hệ khóa/khóa tham chiếu Trong hình vẽ các cạnh kết hợp được mô tả dưới dạng các đường nét đứt

2.2.3 Các ràng bu>c trên đ thH lư c đ

* Các ràng buộc trên một cạnh

Ràng buộc điển hình trên một cạnh là ràng buộc số yếu tố (cardinality constraint) Ràng buộc số yếu tố trên cạnh chứa chỉ ra số nút con đối với nút cha mẹ Các ràng buộc

số yếu tố điển hình là “một” [1 1], “một ^hoặc^ nhiều” [1 N], “không^hoặc^một” [0 1],

và “không^hoặc^nhiều” [0 N] Các nút ràng buộc số yếu tố cũng có thể được chỉ ra với khoảng bất kỳ theo hình thức [minOccurs, MaxOccurs] Ràng buộc số lượng trên cạnh thuộc tính cho biết một thuộc tính là tùy chọn hay bắt buộc cho một nút đã cho Như trên hình 3.2 ta thấy nút University phải có đúng một Name Do đó ràng buộc số yếu tố là [1 1] trên liên kết “University → Name” Một University cũng phải có một thuộc tính Location, được biểu thị bởi [1 1] trên cạnh thuộc tính “University → Location” tương ứng Còn Author có thể có nhiều hoặc không có Address, nó được biểu thị bằng ràng buộc [0 N] Đặc tả số yếu tố mặc định trong hình 3.2 là [1 1]

Trang 23

* Các ràng buộc trên tập cạnh

Ta phân biệt ba loại ràng buộc trên tập các cạnh:

^ Ràng buộc có thứ tự: Về bản chất ràng buộc này được định nghĩa cho một tập các quan hệ chứa Trong thực tế một nút hợp có thể được kết hợp với các nút thành phần khác theo một thứ tự riêng biệt Lấy ví dụ nút phức hợp Author, thì Name và Address phải xuất hiện theo thứ tự này Ràng buộc này được sử dụng để mô hình hóa các cơ chế

“sequence” của lược đồ XML Một tập các nút cũng có thể xuất hiện theo thứ tự bất kỳ

và mỗi nút giữa chúng có thể xuất hiện chỉ một lần hoặc không lần nào cả, điều này mô hình hóa cơ chế “all” của lược đồ XML

^ Phân tách loại trừ: Ràng buộc này trên tập các cạnh (các quan hệ) được sử dụng để chỉ ra rằng mỗi thời điểm chỉ một trong các quan hệ duy nhất áp dụng Điều này được sử dụng để mô hình hóa cơ chế “choice” của lược đồ XML Ràng buộc phân tách loại trừ được áp dụng cho các cạnh chứa

^ Ràng buộc tham chiếu: Các lược đồ XML đưa ra khả năng mô tả các ràng buộc toàn vẹn Đôi khi nội dung của một nút hoặc tập nút được liên kết với nội dung của một nút hoặc một tập các nút khác Ràng buộc tham chiếu trên một nút đòi hỏi phải có nội dung nút như nhau cho nút tham chiếu Ràng buộc tham chiếu được áp dụng cho các cạnh kết tập và thông thường được mô hình hóa thông qua một vị từ nối Ví dụ cạnh kết hợp giữa Article và Journal với vị từ Article/JournalRef =Journal

* Các ràng buộc trên một nút

Các ràng buộc trên một nút bao gồm :

^ Ràng buộc đơn nhất (Uniqueness): Khi một nút có thể xuất hiện một vài lần, ràng buộc đơn nhất yêu cầu mỗi một xuất hiện này phải có nội dung nút duy nhất

^ Ràng buộc miền (Domain constraint): Ràng buộc miền thì rất rộng, nhưng về bản chất chúng có quan tâm đến nội dung của nút nguyên tố Chúng có thể hạn chế phạm vi hợp lệ của các giá trị số theo giá trị lớn nhất/nhỏ nhất Giới hạn chiều dài của các giá trị xâu, hoặc ràng buộc các mẫu giá trị xâu Vi dụ một mẫu có thể chỉ ra số thứ tự hoặc định dạng của các thành phần được phép phải bao gồm một biến xâu hợp lệ, và chỉ ra số thành viên hoặc các thành viên được chấp nhận cho một giá trị nội dung khởi dựng Chúng cũng có thể chỉ ra một nút nguyên tố hoặc nút phức hợp đã cho là của kiểu bất kỳ hay không, nghĩa là không có ràng buộc nào quan tâm đến việc nội dung của nó được gắn vào

Xây dựng đồ thị lược đồ XML nhằm khai thác các nút trong lược đồ XML với những cách miêu tả và ràng buộc trên các nút hay tập nút của lược đồ

Trang 24

2.3 WordNet và ti n trình đ i sánh thu+t ng,

2.3.1 Gi i thi u WORDNET

WordNet là một cơ sở dữ liệu tri thức từ vựng học được thiết kế dựa trên những lý thuyết về ngôn ngữ tâm lý theo cách liên tưởng từ ngữ của con người WordNet được tổ chức dựa theo các quan hệ ngữ nghĩa bởi vì một quan hệ ngữ nghĩa là một quan hệ giữa các nghĩa và các nghĩa có thể được đại diện bởi nhiều synset Và chúng ta có thể xem những quan hệ ngữ nghĩa như là những con trỏ giữa các synset Đó là đặc tính của quan

hệ ngữ nghĩa và chúng có tác động qua lại với nhau: Nếu có một quan hệ ngữ nghĩa R giữa nghĩa (x, x’,…) và (y, y’,…) thì cũng có một quan hệ R’ giữa (y, y’, …) và (x, x’,…) Một từ bất kỳ có thể có nhiều nghĩa (word meaning) và khi đó mỗi nghĩa của nó

sẽ thuộc vào những tập đồng nghĩa khác nhau Ngược lại mỗi tập đồng nghĩa lại có thể chứa một hoặc nhiều hơn một từ khác nhau Ví dụ, khi tìm từ “letter” trong WordNet ta

sẽ được kết quả như sau:

• the noun letter has 4 senses :

i letter, missive : a written message addressed to a person or organization; wrote an indignant letter to the editor"

ii letter, letter of the alphabet, alphabetic character : the conventional characters of the alphabet used to represent speech; "his grandmother taught him his letters"

iii letter : a strictly literal interpretation (as distinct from the intention); "he followed instructions to the letter"; "he obeyed the letter of the law"

iv letter, varsity letter : an award earned by participation in a school sport; "he won letters in three sports"

• (Trong WordNet danh từ letter có 4 nghĩa thuộc vào 4 tập đồng nghĩa)

i) Tập đồng nghĩa thứ nhất gồm: letter, missive với nghĩa tiếng Việt tương ứng là “lá thư”, “thư tín”

ii) Tập đồng nghĩa thứ hai gồm: letter, letter of the alphabet, alphabetic character với nghĩa tiếng Việt tương ứng “ký tự”, “chữ” hay “chữ cái”

iii) Tập thứ ba chỉ gồm một từ: letter với nghĩa tiếng Việt là “nghĩa chật hẹp”,

“nghĩa mặt chữ”

iv) Tập cuối cùng gồm hai từ: letter, varsity letter với nghĩa tiếng Việt tương ứng là

“huy hiệu”, “danh hiệu” tặng cho những sinh viên có thành tích thể thao đặc biệt ở trường

Trang 25

Hình 2.1: Nhóm các danh tQ g c c%a WordNet

2.3.2 Các loIi quan h trong WordNet

WordNet phân biệt các quan hệ ngữ nghĩa khái niệm mà liên kết các khái niệm và các quan hệ từ vựng liên kết các từ riêng lẻ Về cơ bản ta chỉ xét các quan hệ ngữ nghĩa khái niệm Trong WordNet thông tin từ vựng được tổ chức dưới dạng ý nghĩa từ hơn là hình thái từ Ý nghĩa từ được xem xét qua khái niệm synset (synonym set ^ tập các từ đồng nghĩa) Trong WordNet một hình thái từ có thể được kết hợp với nhiều synset, mỗi synset tương ứng với một nghĩa khác nhau của từ WordNet được tổ chức theo các quan hệ ngữ nghĩa Bởi vì một quan hệ ngữ nghĩa là một quan hệ giữa các ý nghĩa, và bởi vì ý nghĩa

Trang 26

có thể được biểu diễn bằng các synset, một cách tự nhiên có thể coi các quan hệ ngữ nghĩa như là các con trỏ giữa các synset WordNet sử dụng nhiều quan hệ ngữ nghĩa khác nhau như đồng nghĩa/trái nghĩa hay tổng quát/đặc biệt Các liên kết WordNet có thể có ba hướng: lên, xuống và ngang Hướng lên tương ứng với sự tổng quát hóa của ngữ cảnh (kết nối nhiều khái niệm riêng biệt thành một một khái niệm tổng quát hơn) Liên kết xuống tương ứng với sự chi tiết hóa của ngữ cảnh Liên kết ngang là các chi tiết hóa rất

cụ thể và ít xảy ra hơn các liên kết lên và xuống

WordNet được thiết kế để thực hiện kết nối cho các loại POS (parts – of ^ Speech ) gồm danh từ, động từ, tính từ và trạng từ Một khối nhỏ nhất trong WordNet được gọi là một Synset để biểu diễn ý nghĩa cho một từ cụ thể Nó bao gồm một từ và giải nghĩa của

từ đó cộng với các từ đồng nghĩa Ý nghĩa cụ thể của một từ theo POS được gọi là 1 sense Mỗi sense của một từ nằm trong các Synset khác nhau Mỗi Synset có chú thích để định nghĩa khái niệm mà nó biểu diễn Ví dụ như: từ night, nighttime, dark cấu tạo một synset có chú thích như sau “ the time after synset and before sunsire while it is dart outside” Synset này kết nối đến các Synset khác qua các quan hệ ngữ nghĩa rõ Một vài quan hệ như (hyprernym, hynonym cho danh từ, hypernym và troponym cho động từ) và cấu tạo thành cây is – a – kind – of ( holonymy) và is – a – part – of ( meronymy cho danh từ) Ví dụ như tree is^ a – kind – of plant, tree là hyponym của plant và plant là hypernym của tree, tương tự trunk is – a – part – of tree và tree là meronymy của trunk Phần sau đây sẽ trình bày các quan hệ được xây dựng bên trong WordNet

* Quan hệ đồng nghĩa (SYNONYMY)

Các tập đồng nghĩa được gọi là có quan hệ đồng nghĩa với nhau khi chúng có thể thay thế cho nhau trong một số ngữ cảnh nào đó Vì thế WordNet đã được chia thành nhóm danh từ (noun), động từ (verb), tính từ (adjective), và trạng từ (adverb) Và những mối quan hệ đồng nghĩa chỉ tồn tại giữa các tập đồng nghĩa ở cùng dạng từ loại Điều này cũng thật dễ hiểu, bởi vì các danh từ sẽ diễn tả những khái niệm thuộc về danh từ, động

từ thì diễn tả những khái niệm chỉ hành động, còn tính từ và trạng từ thì giúp ta có thể diễn tả mức độ của những khái niệm trên

* Quan hệ trái nghĩa

Một từ trái nghĩa của từ x thông thường sẽ là not^x, nhưng không phải lúc nào cũng đúng như vậy Chẳng hạn, ta có từ rich (giàu) và poor (nghèo) là hai từ trái nghĩa, nhưng

ta không thể nói rằng một người không giàu là một người nghèo Quan hệ trái nghĩa là một quan hệ giữa các từ với nhau chứ không phải là quan hệ giữa các nghĩa của từ với nhau Ví dụ: nghĩa của hai cụm từ {raise, ascend} và {fall, descend} có hai ý trái ngược nhau {raise, ascend} có nghĩa là “tăng lên” và {fall, descend} có nghĩa là “giảm

Trang 27

xuống” Nhưng chỉ có {raise, fall} và {ascend, descend} là những cặp trái nghĩa với nhau

và không có quan hệ trái nghĩa giữa raise và descend hay giữa fall và ascend

* Quan hệ cấp bậc (HYPONYMY / HYPERNYMY)

Ngược với quan hệ đồng nghĩa và trái nghĩa là các quan hệ giữa các từ với nhau, quan

hệ cấp bậc là quan hệ giữa các nghĩa của từ Ví dụ: maple (cây thích) là một hyponym của tree (cây) Tree (cây) là một hyponym của plant (thực vật) Có thể hiểu hyponym/hypernym (nghĩa con/nghĩa cha) là một loại quan hệ theo kiểu ISA (là một) Một ý niệm tương ứng với synset {x, x, } được gọi là một hyponym của ý niệm tương ứng với synset {y, y, } khi chúng ta có thể nói x là một (một dạng của) y ^ an x is (a kind of) y

Một nghĩa con (hyponym) kế thừa tất cả những tính chất của nghĩa cha đồng thời bổ sung thêm những thuộc tính mới phân biệt với những nghĩa con khác Ví dụ: maple (cây thích) kế thừa, sẽ có tất cả những thuộc tính của nghĩa cha (hypernym) của nó là tree (cây) Nhưng có thêm những thuộc tính mới để phân biệt với các loại cây khác, chẳng hạn như: độ cứng của gỗ, hình dạng của lá, nhựa của nó được dùng để làm nước xirô (một loại thức uống ngọt có hương trái cây)

Bằng cách định nghĩa quan hệ cấp bậc như thế, toàn bộ các danh từ trong WordNet tạo nên một hệ thống cấu trúc ngữ nghĩa phân cấp được gọi là hệ thống cây ngữ nghĩa kế thừa WordNet định nghĩa 25 synset cấp cao nhất (top level) được gọi là các nút gốc Các nút gốc quan hệ với nhau theo các sơ đồ dưới đây:

Hình 2.2: Sơ đ c%a WordNet đ i v i các danh tQ trQu tư ng

Trừu tượng

Quan hệ xã hội Trạng thái

Truyền thông

Trang 28

Hình 2.3 Sơ đ c%a WordNet đ i v i các danh tQ chT các đUc điVm tâm lý

Những sơ đồ trên chỉ trình bày những ý niệm gốc, synset của WordNet Mỗi nhóm có thể là hypernym của một hay nhiều nhóm ngữ nghĩa, synset con Ví dụ: Plant, flora (thực vật, cây cối) có cây ăn quả (fruit^tree) và cây lấy gỗ (timber), trong nhóm cây ăn quả lại

có cây táo (apple tree),v.v

Hình 2.4: Cây phân cFp ng* nghĩa c%a nhánh thing, entity

* Quan hệ bộ phận và toàn thể (MERONYMY)

Một loại quan hệ ngữ nghĩa khác được định nghĩa trong WordNet đó là quan hệ bộ phận và toàn thể (part^whole relation) còn gọi là meronym/holonym Một ý niệm tương ứng với synset {x, x, } được gọi là một meronym của ý niệm tương ứng với synset {y,

y, } khi chúng ta có thể nói “một y có một x” (a y has an x) hoặc “một x là một phần của y” (an x is a part of a y)

Trang 29

Hình 2.5: Quan h b> ph\n và toàn thV

2.3.3 Đo đ> tương đ ng thu\t ng*

Mục đích của pha này là tính toán độ tương đồng giữa các nút lược đồ dựa trên độ tương đồng nhãn của chúng Để thực hiện đối sánh thuật ngữ, ta sẽ xét ý nghĩa của tên phần tử và thiết lập các quan hệ ngữ nghĩa giữa chúng dựa trên WordNet, một cơ sở dữ liệu từ vựng điện tử cho các từ tiếng anh

Hầu hết các thuật toán đối sánh lược đồ đều sử dụng WordNet để đối sánh thuật ngữ, nhưng thường ít cho ta thấy cách họ khai thác WordNet Trong đồ án này về cơ bản dựa trên nghiên cứu về đối sánh thuật ngữ Hirst và St^Onge (Thuật toán xem chi tiết phụ lục) Khi tìm kiếm quan hệ giữa hai từ, mỗi synset của từ đầu tiên được xem xét cùng với mỗi synset của từ thứ hai, tìm kiếm một kết nối có thể giữa một số synset của từ thứ nhất và một số từ của từ thứ hai

Hirst và St^Onge đưa ra ba mức quan hệ: rất mạnh, mạnh, và trung bình Quan hệ rất mạnh tương ứng với sự lặp lại từ (ví dụ như: author và authors, foot và feet) Các quan hệ rất mạnh có trọng số cao Hai từ có quan hệ mạnh nếu tồn tại một liên kết ngang giữa các synset của chúng Ta hạn chế thuật toán của ta trong các kịch bản sau:

^ Có một synset chung cho hai từ

chất

Vật do người làm ra Đối tượng tự nhiên

Thức ăn

Trang 30

^ Có một liên kết ngang (ví dụ similarily, see^also) giữa các synset của mỗi từ

^ Một trong các từ là một từ ghép và từ kia là một phần của từ ghép, và có thể có bất

kỳ loại liên kết nào giữa các synset liên kết mỗi từ

Quan hệ mạnh có trọng số thấp hơn quan hệ rất mạnh Không giống như các quan hệ rất mạnh và mạnh, quan hệ trung bình có các trọng số khác nhau phụ thuộc vào đường dẫn hiện có giữa các cặp synset

Thuật toán của Hirst và St^Onge trong việc đo độ quan hệ ngữ nghĩa đó là hai khái niệm gần gủi về ngữ nghĩa nếu các synset của chúng được kết nối bởi một đường dẫn không qua dài và không thay đổi hướng quá thường xuyên Họ cũng định nghĩa một tập các đường dẫn được phép như sau: Một đường dẫn được xem là được phép nếu các liên kết tạo ra đường dẫn tuân theo ba điều kiện sau:

^ Không có một hướng khác trước một liên kết lên (Một khi ngữ cảnh được đặc biệt hóa sử dụng một liên kết xuống hoặc ngang, không được mở rộng ngữ cảnh sử dụng một liên kết lên)

^ Không có nhiều hơn một thay đổi về hướng được phép (Các thay đổi hướng tạo thành các thay đổi ngữ nghĩa trong ngữ cảnh và do đó phải chuẩn bị giới hạn) Luật này

có một hướng lên thành một hướng xuống

^ Độ dài đường dẫn được giới hạn trong một ngưỡng nào đó (nhìn chung được lấy bằng 4 hoặc 5)

Để tính toán trọng số của quan hệ trung bình, đầu tiên ta nhận dạng đường dẫn ngắn nhất giữa một cặp các synset Nếu đường dẫn là không được phép, thì trọng số gán cho quan hệ là NULL (tức là không có quan hệ) Trong trường hợp khác, trọng số của đường dẫn và do đó độ tương đồng thuật ngữ được cho bởi công thức sau :

c– độ dài đường dẫn – k × số lần thay đổi hướng

Trong đó c và k là các hằng số (c = 8, k = 1) đây là kết quả dựa trên các phép đo khoảng cách ngữ nghĩa Bằng cách chuẩn hóa phép đo này, ta nhận được một hệ số thuật ngữ lsim, có phạm vi giữa [0,1], trong đó 0 có nghĩa là không có quan hệ ngữ nghĩa tồn tại giữa hai từ và 1 có nghĩa là giữa các từ rất tương đồng ví dụ hệ số lsim cho address và Location là 1, trong khi giữa First^Name và Name là 0,81 và là 0,79 giữa Publication và Book

Ngoài ra trên cở sở phân loại các đường dẫn được phép, ta cũng nhận dạng được bốn loại quan hệ ngữ nghĩa giữa các từ đó là: tương đương (≡), rộng hơn (⊇), hẹp hơn (⊆),

và có liên quan (≈) Hình dưới phân loại các quan hệ ngữ nghĩa trong WordNet

Trang 31

Hình 2.6: Phân loIi các quan h ng* nghĩa trong WordNet [8]

Trong đó quan hệ tương đương: Tồn tại một hay nhiều liên kết ngang giữa các synset của các từ (Trường hợp 3 như trên hình 3.3)

Quan hệ rộng hơn: Tồn tại một hay nhiều liên kết lên giữa hai synset (trường hợp 1) hoặc các liên kết lên theo sau là các liên kết ngang (trường hợp 5)

Quan hệ liên quan: Tồn tại môt liên kết lên theo sau là một liên kết xuống và có thể là các liên kết ngang (hai từ có một từ bao chung)

Quan hệ hẹp hơn: Tồn tại một liên kết xuống giữa hai synset (trường hợp 2) hoặc một liên kết xuống theo sau bởi các liên kết ngang (trường hợp 6 và 7)

2.3.4 Xét tính tương thích kiVu d* li u

Để hiệu chỉnh bước đầu kết quả thu được từ pha đối sánh ngôn ngữ, các tiếp cận hiện nay thường xem xét thêm các ràng buộc lược đồ Một trong những giải pháp thông dụng nhất là xét tính tương thích kiểu dữ liệu Các khuyến nghị lược đồ XML cung cấp khá nhiều kiểu dữ liệu nội tại và biểu thức chính quy khác nhau [27], vì vậy có thể sử dụng các thông tin này để xây dựng một bảng hệ số tương thích giữa các kiểu dữ liệu, kí hiệu

Trang 32

là dsim Các kiểu dữ liệu lược đồ XML được phân thành nhiều danh mục (gọi là các kiểu

dữ liệu nguyên thủy) chẳng hạn như Duration, Boolean, String, Decimal, v.v Mỗi danh mục có một vài kiểu dữ liệu dẫn xuất (chẳng hạn integer là kiểu dữ liệu dẫn xuất từ Decimal, và long là kiểu dữ liệu dẫn xuất từ integer) Hai kiểu dữ liệu được xem là tương đồng nhau nếu chúng thuộc cùng danh mục kiểu dữ liệu, và sự tương thích kiểu dữ liệu của chúng phụ thuộc vào vị trí tương ứng của chúng trong phân cấp kiểu dữ liệu lược đồ XML Dựa trên phân cấp kiểu dữ liệu lược đồ XML ta sẽ xây dựng một bảng tương thích kiểu dữ liệu cho biết hệ số tương tự giữa hai kiểu dữ liệu đã cho (như một bảng đã được xây dựng trong [11]) Ví dụ hệ số dsim giữa các kiểu int và short bằng 0,8 (do kiểu short được dẫn xuất từ kiểu int)

Độ tương thích kiểu dữ liệu thường được định nghĩa cho các nút nguyên tố để đo độ tương đồng giữa các ràng buộc kiểu của chúng Ở đây ta giới hạn phạm vi của độ tương thích kiểu dữ liệu trong các nút nguyên tố mà đã được xem là tương đồng từ kết quả đối sánh ngôn ngữ Cuối cùng ta cập nhật hệ số tương đồng ngôn ngữ của các nút nguyên tố bằng cách xét thêm độ tương thích kiểu dữ liệu của chúng

Ngoài ra cũng sử dụng một cách hạn chế các ràng buộc bắt buộc trên các kiểu dữ liệu

để làm mịn hệ số tương thích kiểu dữ liệu (hai kiểu dữ liệu cùng danh mục và biểu diễn tập các ràng buộc như nhau thì phải như nhau) Các ràng buộc này nếu tồn tại sẽ rất hữu ích cho tiến trình đối sánh Ví dụ như có hai kiểu dữ liệu string có các ràng buộc chiều dài giống nhau và hai kiểu integer có phạm vi giá trị số giống nhau thì thích hợp hơn để biểu diễn các thực thể thực tế Độ tương thích kiểu dữ liệu thường được định nghĩa cho các nút nguyên tố để đo độ tương đồng giữa các ràng buộc kiểu của chúng Tiếp theo sẽ giới hạn phạm vi của độ tương đồng từ kết quả đối sánh thuật ngữ Cuối cùng ta cập nhật

hệ số tương đồng thuật ngữ của các nút nguyên tố bằng cách xét thêm độ tương thích kiểu dữ liệu của chúng theo thuật toán ở [3]

Thuật toán trên sử dụng đầu vào là các nút nguồn và đích đã mô tả lần lượt trong đồ thị lược đồ nguồn và đích và trả về một ma trân độ tương đồng sim_matrix lưu trữ các nút tương đồng và các hệ số tương đồng lsim của chúng Với nút phức hợp ,lsim được

Trang 33

tính bằng cách sử dụng thuật toán của Hirst và St^Onge Với nút nguyên tố mà lsim vượt quá ngưỡng th thì lsim được cập nhật bằng cách sử dụng độ tương thích kiểu dữ liệu dsim Cuối cùng thuật toán trả về một độ đo có trong số giữa lsim và dsim

2.4 Ng* c1nh nút và ti`n trình đ i sánh cFu trúc

2.4.1 Ng* c1nh nút

Trong phần trước đã tìm ra được đối sánh ở mức ngôn ngữ đối với các phần tử trong lược đồ, kết quả đầu ra là một ma trận các hệ số đối sánh tương ứng giữa các phần tử Các kỹ thuật đối sánh được mô tả ở các mục trước có thể cung cấp cách đối sánh không chính xác Đối sánh cấu trúc được sử dụng để hiệu chỉnh các ứng viên này dựa trên ngữ cảnh cấu trúc của chúng và thu được các đối sánh trực tiếp và phức hợp chính xác[7][1]

Ví dụ giả thiết rằng lược đồ trong hình 2.7 là lược đồ nguồn, được biểu thị bởi S, và

đồ thị lược đồ như trong hình 2.8 là đồ thị lược đồ đích, được biểu thị bởi T

Hình 2.7: Ví d$ đ thH lư c đ XML ngu n [8]

Trang 34

Hình 2.8: Ví d$ đ thH lư c đ XML đích [8]

Dựa trên hai kỹ thuật đối sánh thuật ngữ và tương thích kiểu dữ liệu, ta nhận được một đối sánh giữa nút University/ Address trong T và nút Author/ Address trong S, trong khi cái đầu là địa chỉ của một trường đại học và cái thứ hai là địa chỉ của một tác giả Đối sánh cấu trúc so sánh ngữ cảnh mà các nút xuất hiện và có thể suy ra rằng hai nút Address là Address trong lược đồ đích và quan hệ đích giữa University và Address đối sánh với quan hệ nguồn giữa University và Location

Đối sánh cấu trúc dựa trên khái niệm ngữ cảnh nút Xem xét ngữ cảnh của một nút hiện tại dựa trên các thông tin ngư nút lá, nút cha, nút con cháu …v.v Sau đây ta sẽ mô tả

cơ sở cần thiết để định nghĩa ngữ cảnh này và từ đó thực hiện việc đối sánh cấu trúc

* Định nghĩa ngữ cảnh nút

Mục đích của đối sánh cấu trúc là so sánh ngữ cảnh cấu trúc trong đó các nút trong đồ thị lược đồ xuất hiện Do đó, ta cần đưa ra một định nghĩa rõ ràng về ngữ cảnh nút Ta phân biệt ba loại ngữ cảnh nút phụ thuộc vào vị trí của nó trong đồ thị lược đồ nguồn như minh minh họa trong hình 3^5 dưới đây

Trang 35

Hình 3\5: Ngữ cảnh của một phần tử lược đồ [8]

^ Ngữ cảnh tổ tiên: Ngữ cảnh tổ tiên của một nút n là một đường dẫn nguyên thủy trong đó n là nút kết thúc và gốc của đồ thị lược đồ là nút bắt đầu ví dụ ngữ cảnh tổ tiên của nút publication mô tả các publication trong hình 3^4 được cho bởi đường dẫn University/Researcher/Publication chỉ ra rằng nút publication mô tả các publication của researcher thuộc về một University Ngữ cảnh tổ tiên của nút gốc là rỗng và được gán giá trị NULL

^ Ngữ cảnh con: Ngữ cảnh con của một nút n bao gồm các thuộc tính của nó và và các phần tử con trực tiếp của nó Ngữ cảnh con của một nút phản ánh cấu trúc cơ bản và

vị trí cục bộ của nó Ngữ cảnh con của một nút nguyên tố được gán giá trị NULL Đối với các quan hệ kết hợp, ta gộp các nút kết hợp vào trong ngữ cảnh con Ví dụ ngữ cảnh con của nút Article trong đồ thị lược đồ hình 3.2 bao gồm các nút Title, Author, Uri, Abstract và Journal^ref Do Journal^ref là một nút tham chiếu khóa, ta cũng gộp nút tham chiếu Journal trong ngữ cảnh con của Article

^ Ngữ cảnh lá: Lá trong cây XML biểu diễn dữ liệu nguyên tố mà tài liệu mô tả Ngữ cảnh lá của một nút n bao gồm các lá của cây con có gốc tại n Ví dụ ngữ cảnh lá của nút Publication trong đồ thị lược đồ của hình 3^4 được cho bởi tập (Abstract, Journal, Editor, Volume, Price, Title, Publisher) Ngữ cảnh lá của một nút nguyên tố được gán giá trị NULL

Ngữ cảnh của một nút là hợp của ngữ cảnh tổ tiên, ngữ cảnh con và ngữ cảnh lá của

nó Hai nút tương đồng cấu trúc nếu chúng có ngữ cảnh tương đồng Khái niệm độ tương

Trang 36

đồng ngữ cảnh đã được sử dụng trong Cupid và SF, tuy vậy không có hệ thống nào trong

số chúng xét đến cả ba loại ngữ cảnh Để đo độ tương đồng cấu trúc giữa hai nút ta sẽ tính toán lần lượt độ tương đồng của ngữ cảnh tổ tiên, ngữ cảnh con và ngữ cảnh lá Sau đây ta sẽ mô tả các bước cơ bản để tính toán độ tương đồng này

2.4.2 Đo đ> tương đ ng cFu trúc

a Đo độ tương tự đường dẫn

Ngữ cảnh nút cấu trúc được định nghĩa ở trên dựa trên khái niệm đường dẫn Để so sánh hai ngữ cảnh, về cơ bản ta cần so sánh hai đường dẫn Việc so sánh đường dẫn đã được sử dụng một cách rộng rãi trong việc trả lời các truy vấn liên kết Tuy vậy chúng dựa trên đối sánh mạnh theo hai ràng buộc kinh điển: Ràng buộc (nút) gốc và ràng buộc cạnh Mỗi đường dẫn trong đồ thị lược đồ đích biểu diễn một ngữ cảnh trong đó các nút đích xuất hiện Với mỗi đường dẫn đích, ta sẽ đi tìm đường dẫn nguồn tương đồng nhất Xét hai đường dẫn P1(s1,d1)=( s1,ni1,…,nim, d1) và P2(s2,d2)=(s2,nj1,…njl,d2) tuân theo định nghĩa đường dẫn Một ánh xạ giữa P1 và P2 là một hàm gán µ = P1→ P2

mà kết hợp một nút trong P1 với một nút trong P2 Một phép gán µ là một đối sánh mạnh nếu nó thỏa mãn hai điều kiện sau:

^ Ràng buộc nút: Các nút nguồn trong P1 và P2 là tương đồng Hai nút được xem là tương đồng nếu độ tương đồng của chúng vượt quá một ngưỡng cụ thể đối với một hàm tương đồng đã định nghĩa trước

^ Ràng buộc cạnh: Với mỗi cạnh có hướng u → v, u, v thuộc (s1,ni1,…,nim, d1), tồn tại một cạnh có hướng u’→v’, trong đó u’, v’ thuộc (s2,nj1,…njl,d2) sao cho các nút u, u’ là các nút tương đồng và v, v’ là các nút tương đồng

Định nghĩa của đối sánh mạnh nhắc ta về khung nhìn kinh điển của một truy vấn liên kết và một trả lời cho nó Với các điều kiện này, các đường dẫn như Author/ Publication

và Publication/ Author là không đối sánh được mặc dù chúng truyền đạt cùng ngữ nghĩa Các đường dẫn không có khả năng đối sánh khác dưới điều kiện này là Author/Contact/ Address và Author/ addresss Dựa trên các quan sát này, một cách thích hợp để vượt ra khỏi đối sánh mạnh là nới lỏng các điều kiện trên Ta có nới lỏng đối sánh mạnh theo một

số cách khác nhau: ví dụ cho phép đối sánh các đường dẫn ngay cả khi các nút không được gắn theo cùng cách thức hoặc theo cùng thứ tự Một vài công việc về trả lời truy vấn đã đề xuất các vấn đề nới lỏng để trả lời gần đúng các truy vấn (bao gồm truy vấn đường dẫn) Xuất phát từ công việc trong truy vấn để trả lời các truy vấn XML, ta đưa ra các nới lỏng sau:

^ Nới lỏng ràng buộc gốc: Các đường dẫn có thể được đối sánh ngay cả khi các nút

Ngày đăng: 14/12/2013, 15:05

HÌNH ẢNH LIÊN QUAN

Hình 1.1:  H  th ng tích h p d* li u giúp ngư,i dùng tìm văn b1n[8] - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 1.1 H th ng tích h p d* li u giúp ngư,i dùng tìm văn b1n[8] (Trang 10)
Hình 2.2: Sơ đ  c%a WordNet đ i v i các danh tQ trQu tư ng Trừu tượng - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 2.2 Sơ đ c%a WordNet đ i v i các danh tQ trQu tư ng Trừu tượng (Trang 27)
Hình 2.4:  Cây phân cFp ng* nghĩa c%a nhánh thing, entity - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 2.4 Cây phân cFp ng* nghĩa c%a nhánh thing, entity (Trang 28)
Hình 2.3 Sơ đ  c%a WordNet đ i v i các danh tQ chT các đUc điVm tâm lý - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 2.3 Sơ đ c%a WordNet đ i v i các danh tQ chT các đUc điVm tâm lý (Trang 28)
Hình 2.5:  Quan h  b&gt; ph\n và toàn thV - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 2.5 Quan h b&gt; ph\n và toàn thV (Trang 29)
Hình 2.6:  Phân loIi các quan h  ng* nghĩa trong WordNet [8] - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 2.6 Phân loIi các quan h ng* nghĩa trong WordNet [8] (Trang 31)
Hình 2.7: Ví d$ đ  thH lư c đ  XML ngu n [8] - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 2.7 Ví d$ đ thH lư c đ XML ngu n [8] (Trang 33)
Hình 2.8: Ví d$ đ  thH lư c đ  XML đích [8] - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 2.8 Ví d$ đ thH lư c đ XML đích [8] (Trang 34)
Hình 2.9: Ng* c1nh td tiên [8] - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 2.9 Ng* c1nh td tiên [8] (Trang 39)
Hình 2.10: Ng* c1nh con [8] - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 2.10 Ng* c1nh con [8] (Trang 40)
Hình 3.1: BiVu đ  Use case tdng thV c%a h  th ng - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 3.1 BiVu đ Use case tdng thV c%a h th ng (Trang 52)
Hình 3.2: BiVu đ  tuln tm c%a h  th ng - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 3.2 BiVu đ tuln tm c%a h th ng (Trang 53)
Hình 3.3:  BiVu đ  c&gt;ng tác c%a h  th ng: - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 3.3 BiVu đ c&gt;ng tác c%a h th ng: (Trang 54)
Hình 3.5: Các ch&#34;c năng c%a File  + Source: Nạp lược đồ nguồn. - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 3.5 Các ch&#34;c năng c%a File + Source: Nạp lược đồ nguồn (Trang 56)
Hình 3.4: CFu trúc chương trình - Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML
Hình 3.4 CFu trúc chương trình (Trang 56)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w