Cây ăn quả Cây lấy gỗ
Cây táo
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ừ Người Thực thể Sinh vật Thực vật Động vật Đối tượng Địa chỉ Loại vật chất Vật do người làm ra Đối tượng tự nhiên
^ 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 .
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
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
Kiểu dữ liệu Độ tương thích
boolean byte 0.14
date datetime 0.86
int short 0.8
…… …… ……
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
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.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.
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
đồ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:
nguồn của chúng không đối sánh, ví dụ như Author/publications có thể đối sánh với staff/ Authors/Author/publications.
^ Nới lỏng cạnh: Các đường dẫn có thể đối sánh ngay cả khi các nút của chúng xuất hiện theo một thứ tự khác Author/Publication và Publication/Author. Các đường dẫn cũng có thể được đối sánh ngay cả khi có các nút thêm vào trong đường dẫn, ví dụ như Author/Contact/Address đối sánh với Author/Address, nghĩa là ràng buộc cạnh con^mẹ được nới lỏng thành ràng buộc tổ tiên^con cháu
Việc nới lỏng này có thể đưa ra nhiều ứng viên đối sánh. Vì lý do này, các tác giả định nghĩa một phép đo độ tương tự đường dẫn giữa một truy vấn đường dẫn đã cho Q và