MỤC LỤC
Tùy thuộc vào lĩnh vực của ứng dụng lược đồ có thể tồn tại dưới nhiều định dạng và ngôn ngữ khác nhau như SQL, UML, DTD, OWL. • XSD (XML Schema Definition): Định nghĩa cho các tài liệu có cấu trúc XML để trao đổi qua môi trường Web.
• Ngữ nghĩa: Các biểu thức ánh xạ có thể là các biểu thức vô hướng, các quan hệ về mặt thuật ngữ, các quan hệ hướng đối tượng, các hàm biểu diễn mối liên quan giũa các phần tử. • Trực tiếp hay gián tiếp: Các phần tử được ánh xạ trực tiếp giữa chúng hoặc gián tiếp thông qua các biểu thức.
Đầu vào của hệ thống là các lược đồ và các thông tin hộ trợ việc đối sánh như: Từ điển, Ontology, Các hệ số tương tự giữa các kiểu dữ liệu … Phần xử lý bao gồm các thao tác chuyển đổi biểu diễn của lược đồ thành cấu trúc biểu diễn lược đồ bên trong của hệ thống, có thể là dạng đồ thị. Để nêu lên vai trò quan trọng của bài toán đối sánh lược đồ, chúng ta sẽ xem xét một vài ứng dụng về cở sở dữ liệu để minh họa.
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. Các ứng dụng chia sẻ dữ liệu trình bày ở trên đ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, và trong Ubicomp.
Để hệ thống trao đổi được các message đó, các ứng dụng cần phải chuyển đổi được các message 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 message.
Mặc dù còn có nhiều các nghiên cứu hiệu quả trong bài toán đối sánh lược đồ nhưng phần lớn các thao tác đối sánh vẫn được thực hiện thủ công bởi các chuyên gia trong lĩnh vực làm việc của họ. Tuy nhiên tôi chỉ tổng hợp được một số các vấn đề qua các bài báo cũng như các dự án nghiên cứu về lĩnh vực này.
Trong phần này tôi trình bày một số vấn đề còn đang được nghiên cứu trong lĩnh vực đối sánh lược đồ. Những thông tìn tổng hợp này có thể đủ hoặc không đủ về tất cả những nghiên cứu trước đây và hiện tại.
Điều này xảy ra bởi vì các giải pháp tự động hoặc bán tự động vẫn chưa thỏa mãn yêu cầu người dùng.
Các thuộc tính được phân tích thành các từ (word) hay token, ta có một tập các token để biểu diễn các phần tử của lược đồ. 1.Chọn một token từ phần tử thứ nhất. 2.Tìm kiếm token giống nhất với token đã cho. 3.Thực hiện 1) và 2) đối với mọi token của phần tử thứ nhất và tính tổng độ giống nhau. Name Concat(FirstName, LastName) = Name. 1:n Name FirstName,. m:n P.PersName, P.DeptNoD.DeptNo, D.DeptName. SELECT P.PersName, D.DeptNameFROM P, D WHERE. Bảng 1: Đối sánh dựa trên số lượng phần tử. 2.6 Các hệ số mặc định trong bài toán đối sánh. Trong các phương pháp đối sánh đã trình bày ở trên trong các dự án cụ thể đều có sử dụng các hệ số mặc định để chỉ ra sự tương tự giữa các phần tử theo các tiêu chí đặc biệt. Ví dụ bảng hệ số tương tự giữa các phần tử khi so sánh các kiểu dữ liệu của chúng với nhau, với tiêu chí này người ta không xây dựng bất cứ thuật toán nào mà thường sử dụng các hệ số được định nghĩa sẵn. Ngoài ra còn các hệ số mặc định để chỉ ra độ ưu tiên của một thuật toán so với thuật toán khác, ví dụ độ ưu tiên của mức ngôn ngữ so với độ ưu tiên của mức cấu trúc. string string 1.0. decimal float 0.8. float integer 0.9. Có một số phương pháp để xây dựng bảng hệ số như trên nhưng phương pháp thường được các chuyên gia sử dụng là dựa vào thực nghiệm. Quá trình xây dựng các hệ số được thực hiện theo các bước sau:. Thực hiện đối sánh bằng tri thức chuyên gia, được kết quả là một tập hợp các ánh xạ giữa các phần tử của hai lược đồ Sexp kết quả thực tế mà bài toán cần hướng tới).
Đối sánh (Match) là thao tác xử lý 2 lược đồ đầu vào và cho đầu ra một ánh xạ các phần tử phù hợp giữa hai lược đồ. Đối sánh lược đồ là bước khó trong nhiều ứng dụng: Trong Thương mại điện tử, trợ giúp ánh xạ các message giữa các định dạng XML khác nhau, trong Datawarehouse, giúp ánh xạ dữ liệu nguồn vào trong các lược đồ của Warehouse….
Dựa trên những thuật toán xử lý cho các thứ tiếng khác ta cũng hoàn toàn có thể xây dựng được thuật toán xử lý cho tiếng Việt, nếu ta có được các bộ từ điển như tiếng Anh. Sử dụng các phương pháp trên tất nhiên chúng ta phải có một bộ phân tích cú pháp cho tiếng Việt, nghiên cứu sinh Lê Hồng Phương 5 đang phát triển dự án vnLTAG6 cho tiếng Việt mục đích để xây dựng một văn phạm LTAG cho tiếng Việt.
Trong phần này tôi trình bày về kiến trúc của hệ thống đối sánh lược đồ và các bước thực hiện. Ý tưởng của hệ thống này là sử dụng đối sánh kết hợp (compostion), sử dụng tổng hợp.
Kiểu thiết kế Composition và Deviration: Một vài ngôn ngữ như XSD và ngôn ngữ SQL mở rộng cho hướng đối tượng hỗ trợ việc định nghĩa kiểu rất linh hoạt (user-defined types) cho các phần tử và thuộc tính. Phương pháp khai báo inline và khai báo chia sẻ: Khai báo inline là các phần tử được khai báo kiểu ngay trong phạm vi khai báo của phần tử đó, còn khai báo theo kiểu chia sẻ là định nghĩa ra các kiểu chung rồi các phần tử có chung một kiểu sử dụng các kiểu chung đó.
Thuật toán Levenshtein (hay được gọi là EditDistance) dùng để tính độ tương tự giữa hai chuỗi s và t, khoảng Levenshtein là số lần cần thiết thực hiện các thao tác xóa, thêm, thay đổi để chuyển từ một chuỗi s thành chuỗi t. Ví dụ: Giả sử có hai phần tử cần đối sánh Document_Signer và Dokument_User_Sign, sau khi phân tích thành các token ta có hai tập hợp sau {Document,Signer} và {Dokument,User,Sign}, sau khi áp dụng các thuật toán.
Trường hợp các phần tử không phải là lá (leaf):Khi một trong các phần tử không phải là lá (leaf), ssim được tính dựa trên số lượng của lá trong cây con có gốc tại các phần tử đang được so sánh.Một node lá trong một lược đồ nếu có một liên kết mạnh (strong link) tới một node lá trong một lược đồ khác nếu trọng số tương tự vượt qua ngưỡng chấp nhận được (thaccept). Ví dụ trong hình 8, Org_Send được ánh xạ với Sender có hệ số giống nhau cao nên các node con của hai node đó được tăng thêm độ giống nhau hơn so với cặp name, address khác, tương tự như vậy nếu hệ số ssim nhỏ hơn ngưỡng thlow ta sẽ giảm hệ số ssim của các node lá.
Trong thuật toán đối sánh dựa trên cấu trúc ở trên ta đã xem xét các yếu tố liên quan đến ngữ cảnh của từng phần tử trong lược đồ. Đối với trường hợp không là node lá, ta sẽ duyệt theo thứ tự sau hai lược đồ một lần nữa để tính toán lại hệ số tương tự của các node không phải là lá vì quá trình cập nhật hệ số tương tự của các node lá sẽ ảnh hưởng đến hệ số tương tự của các node không phải là lá.
• MatchLib: Phần core của VNMatch, bao gồm đối sánh ngôn ngữ và đối sánh cấu trúc. Lớp HybridMatcher chứa các hàm thực hiện việc đối sánh mức ngôn ngữ giữa các phần tử của hai lược đồ.
- PurchaseOrder.Header.Contact <-> PurchaseOrder.ContactPerson: 0.64673144 - PurchaseOrder.Header.orderDate <-> PurchaseOrder.orderDate: 0.79244316 - PurchaseOrder.DeliverTo.Address.country <->. Phần này sẽ tóm tắt lại các vấn đề đã được nghiên cứu và giải quyết trong luận án, và tiếp theo sẽ là các xu hướng sẽ được nghiên cứu trong tương lai.
Phần đối sánh mức cấu trúc (Structure-based) được thiết kế dựa trên mô hình của Cupid [3], đối sánh cấu trúc được thực hiện trên ngữ cảnh của node được so sánh, trong VNMatch ngữ cảnh được xét cho một node là các node lá của nó. VNMatch framework rất cần được sự hỗ trợ của các thầy, các cô và các bạn sinh viên để có thể trở thành một công cụ đắc lực phục vụ trước hết cho cộng đồng những người nghiên cứu về lĩnh vực này.