Tải bản đầy đủ (.pdf) (85 trang)

TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.74 MB, 85 trang )

Header Page 1 of 166.

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
------------------------------------------

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

TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ
XÂY DỰNG ỨNG DỤNG VNMATCH
NGÀNH: CÔNG NGHỆ THÔNG TIN

NGÔ VĂN QUÂN

HÀ NỘI 2006

Footer Page 1 of 166.


i

Header Page 2 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

Lời cảm ơn
Trong lời đầu tiên của báo cáo luận văn tốt nghiệp “Tìm hiểu về đối sánh
lược đồ và xây dựng ứng dụng VNMatch” này, tôi muốn gửi những lời cảm ơn và

biết ơn chân thành của mình tới tất cả những người đã hỗ trợ, giúp đỡ tôi về
chuyên môn, vật chất và tinh thần trong quá trình thực hiện Đồ án.


Trước hết, tôi xin chân thành cảm ơn TS. Nguyễn Kim Anh, bộ môn Hệ
thống thông tin, Khoa Công nghệ thông tin trường Đại học Bách khoa Hà Nội,
người đã trực tiếp hướng dẫn, nhận xét, giúp đỡ tôi trong suốt quá trình thực hiện
luận văn.
Xin chân thành cảm ơn Khoa Công nghệ thông tin, Trung tâm Đào tạo và
Bồi dưỡng sau đại học Trường Đại học Bách Khoa Hà Nội đã giúp đỡ tôi trong suốt
quá trình học tập và nghiên cứu.
Tôi cũng muốn gửi lời cảm ơn tới TS. Đỗ Hồng Hải1, tác giả của hệ thống
COMA++; anh Lê Hồng Phương2 tác giả của vnTokenizer, vnLTag; Enrico May,
sinh viên nghiên cứu về dự án Cupid. Tôi cũng xin bày tỏ lòng biết ơn đến gia
đình và những người bạn thân đã giúp đỡ, động viên tôi rất nhiều trong suốt quá
trình học tập và làm luân văn tốt nghiệp.
Do thời gian thực hiện có hạn, kiến thức chuyên môn còn nhiều hạn chế
nên đồ án tôi thực hiện chắc chắn không tránh khỏi những thiếu sót nhất định.
Tôi rất mong nhận được ý kiến đóng góp của thầy, cô giáo và các bạn.
Xin chân thành cảm ơn !

Hà Nội, ngày 09 tháng 10 năm 2006

1

/>Lê Hồng Phương, công tác tại trường Đại Học Quốc Gia Hà Nội, hiện đang làm nghiên
cứu sinh tại Pháp

2

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 2 of 166.



Header Page 3 of 166.

ii

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

1
2
3

4

5

1

2

3
1
2
3

Mở đầu ............................................................................. 1
Chương 1
Đối sánh lược đồ.......................................................................... 2
Sự hỗn tạp ngữ nghĩa................................................................... 3
Định nghĩa bài toán...................................................................... 6
3.1

Schemas.............................................................................. 6
3.2
Đầu vào bài toán (Input)........................................................ 7
3.3
Đầu ra bài toán (Output)........................................................ 7
3.4
Kiến trúc chung .................................................................... 8
Ứng dụng của bài toán đối sánh lược đồ .......................................... 9
4.1
Các ứng dụng tích hợp dữ liệu và data warehouse...................... 9
4.2
E-Business ......................................................................... 11
4.3
Semantic Web .................................................................... 12
Các vấn đề mở .......................................................................... 13
5.1
Khả năng biểu diễn của ngôn ngữ.......................................... 13
5.2
Làm việc với các lược đồ có kích thước lớn .............................. 13
5.3
Sự kết hợp của các phương pháp đối sánh .............................. 14
Chương 2
Các phương pháp tiếp cận ................................................. 15
Các dự án liên quan ................................................................... 15
1.1
COMA++ ........................................................................... 15
1.2
SEMINT ............................................................................. 16
1.3
LSD .................................................................................. 16

1.4
SKAT................................................................................. 16
1.5
TransScm .......................................................................... 16
1.6
DIKE ................................................................................. 17
1.7
SIMILARITY FLOODING ........................................................ 17
1.8
Cupid ................................................................................ 17
Các phương pháp đối sánh lược đồ ............................................... 20
2.1
Tiêu chuẩn phân loại ........................................................... 20
2.2
Đối sánh dựa trên schema (schema-based) ............................ 21
2.2.1
Phương pháp tiếp cận dựa trên ngôn ngữ (linguistic) .......... 22
2.2.2
Phương pháp tiếp cận dựa trên ràng buộc......................... 23
2.2.3
Phương pháp tiếp cận dựa trên cấu trúc ........................... 23
2.3
Đối sánh dựa trên dữ liệu ..................................................... 23
2.4
Đối sánh kết hợp................................................................. 24
2.5
Match Cardinality ................................................................ 24
2.6
Các hệ số mặc định trong bài toán đối sánh ............................ 25
Các phương pháp đánh giá hệ thống đối sánh ................................ 26

Chương 3
Thiết kế hệ thống đối sánh lược đồ. .................................... 30
Khảo sát................................................................................... 30
Giới thiệu ................................................................................. 33
2.1
Giới thiệu bài toán đối sánh lược đồ. ...................................... 33
2.2
Xử lý schema trong tiếng Việt ............................................... 33
Thiết kế.................................................................................... 35

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 3 of 166.


Header Page 4 of 166.

iii

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

3.1
Kiến trúc hệ thống .............................................................. 35
3.2
Input ................................................................................ 36
3.2.1
Schema ..............................Error! Bookmark not defined.
3.2.2
WordNet ...................................................................... 39
3.2.3

Output ........................................................................ 40
3.3
Mức ngôn ngữ (linguistic matching) ....................................... 41
3.3.1
Các thuật toán đối sánh cơ bản ....................................... 42
3.3.2
Thuật toán đối sánh kết hợp ........................................... 44
3.4
Mức cấu trúc ...................................................................... 51
3.5
Chọn lựa ánh xạ ................................................................. 55
4 Cài đặt và kết quả ..................................................................... 56
4.1
Cài đặt .............................................................................. 56
4.2
Kết quả thử ngiệm .............................................................. 60
5 Kết luận và hướng phát triển ....................................................... 71
5.1
Kết luận ............................................................................ 71
5.2
Hướng phát triển ................................................................ 72
Tài liệu tham khảo ............................................................................. 75
Sách, bài báo, luận văn.................................................................... 75
Website ......................................................................................... 75

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 4 of 166.



iv

Header Page 5 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

Mục lục hình ảnh
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình

Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình

1-1: Đối sánh lược đồ
2
1-2: Xung đột ngôn ngữ
5
2-1: Schemas
7
2-2: Kiến trúc chung của bài toán đối sánh lược đồ
8
2-3: Minh họa hệ thống tích hợp dữ liệu giúp người dùng tìm văn bản
10
2-4: Data warehouse
11
2-5: Kiến trúc COMA++
15
2-6: Kiến trúc SEMINT
Error! Bookmark not defined.
2-7: Các phương pháp đối sánh lược đồ

20
2-8: Xây dựng các hệ số ưu tiên
26
2-9: Đánh giá hệ thống đối sánh
27
2-10: So sánh F-Measure và Overall
28
3-1: Sự hỗn tạp của các nguồn dữ liệu
31
3-2:Lược đồ văn bản
33
3-3: Kiến trúc hệ thống
36
3-4: Hợp nhất các lược đồ phân tán
38
3-5: Hợp nhất các kiểu thiết kế schema
38
3-6: Loại bỏ nút có kiểu đơn giản
38
3-7: Tái sử dụng các định nghĩa
39
3-8:Sơ đồ đối sánh mức ngôn ngữ (linguistic matching)
41
3-9: Sơ đồ thuật toán đối sánh kết hợp
45
3-10: Phân tích phần tử đầu vào
46
3-11: Thực hiện bước Direction và Selection
48
3-12: Tổng hợp kết quả

49
3-13: SimCube theo phương pháp đối sánh kết hợp
50
3-14: Kết quả sau khi thực hiện Aggregation
50
3-15: Kết quả sau khi thực hiện Direction và Selection
50
3-16:Kết quả sau khi tổng hợp
51
3-17: Hệ số tương tự của 2 node lá
52
3-18: Hệ số tương tự của 2 node trong
52
3-19: Sự phụ thuộc của hệ số tương tự vào ngữ cảnh
55
3-20:Cấu trúc VNMatch
57
3-21: MatchLib, phần core của VNMatch
57
3-22: Lớp HybridMatcher
58
3-23: VNMatch Framework (đề xuất)
73

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 5 of 166.


v


Header Page 6 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

Mục lục các công thức
Công
Công
Công
Công
Công
Công
Công
Công
Công
Công
Công
Công

thức
thức
thức
thức
thức
thức
thức
thức
thức
thức
thức

thức

1: Cupid, hệ số tương tự của hai tập hợp................................ 19
3 ...................................................................................... 19
4 ...................................................................................... 19
2: Công thức EditDistance biến đổi ........................................ 42
3: Lấy Max......................................................................... 47
4: Lấy theo trọng số............................................................ 47
5: Lấy theo trung bình ......................................................... 47
6: AverageSim ................................................................... 49
7: DiceSim......................................................................... 49
8: Wsim cho các node lá ...................................................... 54
9: Liên kết mạnh ................................................................ 54
10: ssim trong trường hợp là các node trong........................... 54

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 6 of 166.


vi

Header Page 7 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

Bảng các từ viết tắt và thuật ngữ
Tiếng Anh

Ý nghĩa


Data integration

Tích hợp dữ liệu

Data translation

Chuyển đổi dữ liệu

Data warehouse

Nhà kho dữ liệu

DTD

Document Type Definition

Global schema

Lược đồ tổng thể

Holonym

Bao hàm phần tử

Ghi chú

“Cây” bao hàm phần tử
“Thân cây”


Hypernym

Hyponym

Bao hàm khái niệm thuật

“Thực vật” bao hàm

ngữ

khái niệm “Cây”

Ngược với Hypernym

“Cây” nằm trong khái
niệm “thực vật”

Local schema

Lược đồ địa phương

Meronym

Ngược với Holonym

“Thân cây” là bộ phận
của cây

Ontology


Đặc tả của khái niệm

OWL

Web Ontology Language

Schema

Lược đồ dữ liệu

Schema integration

Tích hợp lược đồ

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 7 of 166.


vii

Header Page 8 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

Semantic integration

Tích hợp ngữ nghĩa

Schema mapping


Ánh xạ lược đồ, tương tự
đối sánh lược đồ

Schema matching

Đối sánh lược đồ

Synonym

Từ đồng nghĩa

Web Semantic

Web ngữ nghĩa

XSD

XML Schema Definition

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 8 of 166.


viii

Header Page 9 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch


Tóm tắt luận văn
Luận văn cao học với đề tài “Tìm hiểu về đối sánh lược đồ và xây dựng ứng
dụng VNMatch” nghiên cứu và tìm hiểu về bài toán đối sánh lược đồ (schema

matching). Bài toán đối sánh lược đồ được áp dụng trong các ứng dụng tích hợp
dữ liệu (data integration), chuyển đổi dữ liệu (data translation), nhà kho dữ liệu
(data warehousing), các ứng dụng web ngữ nghĩa (Web Semantic).
Bài toán đối sánh lược đồ có thể được định nghĩa như sau: “Cho hai lược đồ
S1 và S2 hãy tìm sự tương đồng giữa các phần tử của S1và S2 bằng cách khai thác
tất cả các thông tin tồn tại trong hai lược đồ đó, trong dữ liệu và các nguồn thông
tin hỗ trợ khác”.
Luận văn tập trung nghiên cứu các phương pháp đối sánh lược đồ dựa trên
các dự án đã được phát triển của các viện nghiên cứu, trường đại học và công ty
trên thế giới, tìm hiểu và đề xuất một số phương pháp xử lý cho lược đồ được
thiết kế dùng tiếng Việt. Đồng thời thiết kế và thi công một hệ thống đối sánh
lược đồ, được gọi là VNMatch. VNMatch xử lý đầu vào là hai lược đồ được thiết kế
dùng ngôn ngữ XML Schema, kết quả đầu ra là tập các ánh xạ có sự tương đồng
về mặt ngữ nghĩa giữa các phần tử của hai lược đồ đó.
Từ khóa: Schema matching, semantic integration, schema mapping,
matcher; đối sánh lược đồ, ánh xạ lược đồ, tích hợp ngữ nghĩa, tích hợp dữ liệu.

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 9 of 166.


1

Header Page 10 of 166.


Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

Chương 1

Mở đầu

Mục tiêu chính của luận văn tốt nghiệp này là nghiên cứu về bài toán đối
sánh lược đồ (schema matching). Đối sánh lược đồ là quá trình xác định ngữ
nghĩa tương ứng giữa các cấu trúc siêu dữ liệu (metadata) như lược đồ của cơ sở
dữ liệu, XSD, Ontology. Đối sánh lược đồ đóng vai trò quan trọng trong các việc
tương tác giữa các dịch vụ với nhau và trong ứng dụng tích hợp dữ liệu, Data
warehouse, E-Business.

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 10 of 166.


2

Header Page 11 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

1

Đối sánh lược đồ
Một lược đồ là một cấu trúc siêu dữ liệu để mô tả dữ liệu được lưu giữ, truy


cập, diễn dịch bởi người dùng và các ứng dụng như thế nào. Ngoài các khía cạnh
liên quan đến quản lý dữ liệu như định dạng dữ liệu, kiểu dữ liệu, lược đồ còn có
sự mở rộng liên quan đến ngữ nghĩa của dữ liệu như tập các giá trị cho phép, các
yếu tố tập hợp, toàn vẹn và ràng buộc tham chiếu… Hiện tại có nhiều ngôn ngữ
biểu diễn lược đồ đã được phát triển cho các lĩnh vực ứng dụng khác nhau, ví dụ
như SQL, DTD, XSD, OWL. Mặc dù có nhiều khả năng và ngôn ngữ biểu diễn khác
nhau nhưng lược đồ đã xuất hiện có thể nói là khắp nơi trong hầu hết các ứng
dụng về quản lý dữ liệu và xử lý dữ liệu.

category publishDate
ND
22/10/1990
TT
22/09/1999

id
15
32

org_id
15
32

topic
ND
TT

publishDate
22/10/1990
22/09/1999


org_name
Bộ tài chính
Bộ thương mại

name
Bộ tài chính
Bộ thương mại

Hình 1-1: Đối sánh lược đồ

Hình 1-1 minh họa cho việc tích hợp dữ liệu sử dụng kịch bản đơn giản
trong đó ta muốn tích hợp nguồn dữ liệu S vào nguồn dữ liệu T. Cả S và T đều
chứa thông tin về cơ sở dữ liệu văn bản pháp quy nhưng trong S người ta dùng
hai bảng để biểu diễn, còn trong T người ta sử dụng 1 bảng để biểu diễn, công
việc của chúng ta là xây dựng quá trình tự động ánh xạ các phần tử tương đương
giữa các phần tử của S với các phần tử của T: S-›category ‹-› T-›Topic

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 11 of 166.


Header Page 12 of 166.

3

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

Quá trình tự động này người ta gọi chung là


đối sánh lược đồ (schema

matching). Nó là chìa khóa trong các ứng dụng tích hợp dữ liệu và chuyển đổi dữ
liệu.

2

Sự hỗn tạp ngữ nghĩa
Việc xác định các thành phần tương đương nhau giữa hai lược đồ cần sự

phân tích ngữ nghĩa trong các lược đồ đó hay nói cách khác chính là sự suy diễn
ngược lại các khái niệm về lược đồ của người tạo ra nó. Qúa trình này nếu có thể
thực hiện được thì sẽ gặp rất nhiều khó khăn vì sự xung đột giữa các nguồn thông
tin hỗn tạp cần được xem xét, ví dụ như lược đồ, dữ liệu, tài liệu đặc tả, tình
trạng dữ liệu… Việc trích lọc ngữ nghĩa chính xác từ các thông tin metadata này
một cách tự động thực sự là một việc nặng nhọc và không có một phương
pháp chuẩn nào để thực hiện.
Lược đồ cung cấp nhiều thông tin mà chúng ta có thể khai thác chúng để
thu nhận được ngữ nghĩa của các phần tử chứa trong lược đồ đó. Ví dụ như các
thuộc tính name, description, constraints…Tuy nhiên các thông tin này có thể
khác nhau giữa các lược đồ, chúng phụ thuộc vào ngôn ngữ biểu diễn, cấu trúc
biểu diễn, ... Vì các lược đồ thường được thiết kế bởi những người khác nhau với
những nhận thức khác nhau về thế giới thực cho các mục đích khác nhau. Dưới
đây chúng ta tìm hiểu và phân loại những khó khăn, thách thức gặp phải khi
nghiên cứu về giải pháp cho bài toán đối sánh lược đồ.
Cho 2 cơ sở dữ liệu với hai lược đồ tương ứng S , T. Chúng ta phải xử lý để
tự động để xác định được sự tương ứng giữa phần tử category trong S với topic
trong T, và name trong S với org_name trong T, nghĩa là s trong S và t trong T
cùng mô tả chung một khái niệm trong một lĩnh vực nào đó thì chúng được coi là

tương đương. Điều này là một thách thức cho chúng ta vì một số yếu tố sau:
Lược đồ


Ngữ nghĩa của các phần tử chỉ được suy diễn từ một số ít các thông tin như
người tạo, chú thích, các lược đồ và dữ liệu liên quan. Trích lọc ngữ nghĩa

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 12 of 166.


Header Page 13 of 166.

4

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

từ các thông tin như vây thực sự là bài toán khó vì những thông tin
metadata đó thường không được đầy đủ và chính xác, chú thích không đủ,
không phù hợp, trong nhiều trường hợp xây dựng các hệ thống tích hợp dữ
liệu qua Web những thông tin metadata đó còn không thể truy cập được.


Do các phần tử của lược đồ thường được đối sánh dựa trên các thông tin hỗ
trợ trong lược đồ và dữ liệu. Ví dụ như name, type, value, cấu trúc và các
ràng buộc, nhưng các thông tin này không thực sự có thể tin cậy được. Ví
dụ các một từ có thể mô tả hai khái niệm khác nhau trong thế giới thực
hoặc ngược lại, một khái niệm được phân rã mức chi tiết với cấu trúc khác
nhau




Các ràng buộc toàn vẹn thực tế thường được xử lý trong các chương trình
truy cập dữ liệu chứ nó không được thể hiện trong lược đồ.



Để xác định được phần tử s trong S được match với t trong T thì một là
phải kiểm tra trong tất cả các phần tử trong T để không có phần tử nào
khác trong T tốt hơn s. Điều này ảnh hưởng lớn đến hiệu năng của qúa
trình tích hợp

Dữ liệu
Đối với dữ liệu chúng ta còn gặp các trở ngại sau


Các giá trị khác nhau được sử dụng cho cùng một thông tin, ví dụ như F và
Female để biểu diễn thông tin giới tính chẳng hạn



Các giá trị được lưu giữ không nhất quán về định dạng, ví dụ như sử dụng
Kb và Mb để lưu giữ kích thước dữ liệu chẳng hạn



Dữ liệu không nhất quán về thời gian




Dữ liệu có thể chứa lỗi, sai chính tả, thiếu giá trị, dư thừa ..

Dưới đây là một số hình ảnh thể hiện sự xung đột giữa các lược đồ

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 13 of 166.


5

Header Page 14 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

Hình 1-2: Xung đột ngôn ngữ

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 14 of 166.


Header Page 15 of 166.

6

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

3


Định nghĩa bài toán
Bài toán đối sánh lược đồ có thể được định nghĩa như sau: “Cho hai lược đồ

S1và S2 hãy tìm sự tương đồng nhất giữa các phần tử của S1và S2 bằng cách khai
thác tất cả các thông tin tồn tại như trong lược đồ, trong dữ liệu và các nguồn
thông tin hỗ trợ ”. Bài toán cần phải được giải quyết tới chừng nào có thể theo ý
nghĩa của sự tự động. Mục tiêu chính là giảm các thao tác thủ công nhiều nhất có
thể để tránh việc giải quyết bài toán đối sánh rất hỗn tạp.

3.1

Lược đồ.
Trong các thao tác đối sánh, các lược đồ đầu vào chỉ ra các phần tử cần

được đối sánh. Vì vậy ta cần xem xét một số loại lược đồ điển hình và các phần tử
của nó. 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.


SQL (Structured Query Language): Định nghĩa lược đồ cho cơ sở dữ liệu
quan hệ.



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.




OWL (Web Ontology Language): Định nghĩa Ontology cho Sematic Web.

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 15 of 166.


7

Header Page 16 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

XSD

SQL
CREATE TABLE Document(
docID INT,
signerID INT,
content TEXT,
PRIMARY KEY (docID ),
FOREIN KEY (signerID)
REFERENCES Users(userID )
);

<xsd:elementname=“Document" type=“Doc"/>
<xsd:complexTypename=“Doc">
<xsd:sequence>
<xsd:elementname=“docID" type="xsd:decimal"/>
<xsd:elementname=“contents" type="xsd:string"/>

<xsd:elementname=“signerID" type="Users"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexTypename="Users" >
<xsd:sequence>
<xsd:elementname=“firstname " type="xsd:string"/>
<xsd:elementname=“lastname" type="xsd:string"/>
<xsd:elementname=“birthday" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>

CREATE TABLE Users(
userID INT,
firstname VARCHAR(200),
lastname VARCHAR(200),
birthday DATE,
PRIMARY KEY (userID)
);

Hình 1-3: Lược đồ

3.2

Đầu vào bài toán (Input)
Bài toán đối sánh lược đồ bao gồm các loại thông tin đầu vào để có thể tính

toán mức độ tương đồng như sau.


Thông tin lược đồ: Các thông tin như name, data type, description.

constraint ..



Dữ liệu: Trong các ứng dụng tích hợp dữ liệu, chuyển đổi dữ liệu thì dữ liệu
luôn đi kèm với lược đồ và chúng cũng được khai thác để xác định ngữ
nghĩa cho các phần tử lược đồ.



Thông tin hỗ trợ: Tất cả các loại thông tin khác mà chúng ta có thể khai
thác cho quá trình đối sánh lược đồ. Các thông tin hỗ trợ như từ điển đồng
nghĩa, domain …

3.3

Đầu ra bài toán (Output)
Với đầu vào là 2 lược đồ S1, S2 bài toán cần đưa ra kết quả là một tập các

phần tử ánh xạ giữa 2 lược đồ đó, ta gọi các phần tử này là co-elenment. Mỗi coelenment

được ánh xạ với một hoặc vài phần tử của S1, S2. Mỗi co-elenment

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 16 of 166.


8


Header Page 17 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

trong có thể chứa một biểu thức đối sánh để chỉ ra mối liên hệ giữa các phần tử
của S1, S2. Chúng ta hãy xem xét một số khía cạnh của các biểu thức này


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

3.4

Kiến trúc chung

Kiến trúc chung của bài toán đối sánh lược đồ được mô tả trong hình dưới:

Application/Tools
Data integration/
Translation

Application/Tools

Application/Tool


Data warehouse

Sematic Web

Schema Import/Export
Internal Schema
representation

Mapping Import/Export
Internal Mapping
representation

Matching Implementation

Schemas, Mappings,
Auxiliary sources

Hình 1-4: Kiến trúc chung của bài toán đối sánh lược đồ

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 17 of 166.


Header Page 18 of 166.

9

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch


Kiến trúc này tương thích với nhiều lĩnh vực ứng dụng khác nhauh cho
nhiều loại lược đồ khác nhau. Đầ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ị.
Tiếp theo là các thuật toán đối sánh đối với các lược đồ đã được biểu diễn dưới
cấu trúc bên trong của hệ thống. Cuối cùng là kết quả đối sánh và các thao tác
xử lý kết quả đó như chuyển đổi định dạng biểu diễn, kết xuất cho các ứng dụng.
Các ứng dụng của hệ thống sau khi đã có kết quả đối sánh bao gồm nhiều
lĩnh vực ứng dụng khác nhau như Tích hợp dữ liệu. chuyển đổi dữ liệu, Semantic
Web …

4

Ứng dụng của bài toán đối sánh lược đồ
Để 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.

4.1

Các ứng dụng tích hợp dữ liệu và nhà kho dữ liệu
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 đó (global
schema) từ các lược đồ địa phương (local schema). Trong ngữ cảnh của ứng dụng
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.

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 18 of 166.


10

Header Page 19 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

Source schema

Tìm các văn bản
phát hành năm 1999

Mediated schema

Source schema

Documents DB1

Documents DB2

Source schema
Documents DB3

Hình 1-5: Minh họa hệ thống tích hợp dữ liệu giúp người dùng tìm văn bản


Hình 2-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 nguời dùng.
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.
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.

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 19 of 166.


11

Header Page 20 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

Data warehouse

Data transformation, data integration

Documents DB3

Documents DB2


Documents DB1

Hình 1-6: Data warehouse

4.2

E-Business
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 (message) 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 message khác nhau như EDI (Electronic Data Exchange),

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 20 of 166.


Header Page 21 of 166.

12

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

XML hoặc bất kỳ định dạng nào. Để 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.


4.3

Semantic Web
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 được thiết kế chủ yếu cho con người đọc và sử dụng chứ
không phải máy tính, nghĩa là máy tính không thể hiểu được nội dung. Mục đích
của Semantic Web 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 để có thể tự động hóa tối đa các
thao tác mà con người phải xử lý với dữ liệu. Quá trình làm giàu hay được gọi chú
thích (annotation) ngữ nghĩa cho các tài liệu Web sử dụng các 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ơ sở dữ liệu, 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 (Ví dụ Website, web service ...) 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.

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 21 of 166.



Header Page 22 of 166.

13

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

5

Các vấn đề mở
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ọ. Đ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. 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 đồ. 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. 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.

5.1

Khả năng biểu diễn của ngôn ngữ
Các ngôn ngữ biểu diễn lược đồ hiện đại như XML schema, SQL

(1999,2003) hỗ trợ rất nhiều khả năng mô hình hóa như các kiểu dữ liệu được
định nghĩa bởi người dùng, tổng hợp, suy diễn, tái sử dụng đối tượng, phân tán
và namespace… Các tính năng nâng cao này chính là dấu hiệu cho sự phức tạp
của bài toán đối sánh lược đồ. Hầu hết các kiểu thiết kế lược đồ có thể được sử

dụng như một sự lựa chọn để biểu diễn các khái niệm trong thế giới thực, nên
dẫn tới sự khác nhau về ngữ nghĩa, cấu trúc trong lược đồ. Vì vậy đối sánh lược
đồ với các lược đồ được biểu diễn bằng ngôn ngữ nâng cao đã trở thành một
thách thức vì nó phụ thuộc và khả năng hợp nhất của các kiểu thiết kế khác
nhau.

5.2

Làm việc với các lược đồ có kích thước lớn
Các lược đồ trong thế giới thực ngày càng lớn về kích thước và độ phức tạp

để đương đầu với các yêu cầu về biểu diễn và quản lý dữ liệu. Hơn nữa các lược
đồ thường sử dụng các chung thành phần (shared element) để tránh các đặc tả
khác nhau và giữ cho lược đồ ở mức đơn giản nhất có thể phục vụ cho việc bảo trì
và vận hành được tốt hơn. Cuối cùng, các thao tác đối sánh cần kiểm tra trên một

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 22 of 166.


Header Page 23 of 166.

14

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

không gian tìm kiếm lớn để xác định các phần tử tương đương, vì vậy cần phải
tìm ra các phương pháp hiệu quả tốt nhất có thể.


5.3

Sự kết hợp của các phương pháp đối sánh
Để thu được các kết quả đối sánh với độ chính xác cao thì việc sử dụng một

thuật toán đơn lẻ sẽ không thành công. Như vậy cần sự kết hợp của nhiều thuật
toán, phương pháp với nhau, vì vậy hầu hết các kết quả trước đây đều sử dụng
khái niệm đối sánh kết hợp (hybrid và composition) của nhiều thuật toán. Hybrid
sử dụng các thuật toán để xây dựng thành một thuật toán đơn còn Composition
sử dụng kết quả của một vài thuật toán khác nhau để tổng hợp.

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 23 of 166.


15

Header Page 24 of 166.

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

Chương 2

Các phương pháp tiếp cận

Trong phần này tôi trình bày về các dự án nghiên cứu về lĩnh vực như data
warehouse, data integration,… Trong đó hầu hết các dự án đều sử dụng đối sánh
lược đồ như một module trung tâm để xử lý dữ liệu.


1
1.1

Các dự án liên quan
COMA++
COMA (Combination of Matching algorithms) [7] là công cụ đối sánh lược

đồ kết hợp (Composite). COMA cung cấp thư viện các thuật toán đối sánh, cung
cấp framework để kết hợp các phương pháp đối sánh và một nền tảng cơ sở để
đánh giá hiệu quả của các phương pháp khác nhau. COMA++ được

xây dựng

trên ngôn ngữ Java, MySQL. COMA++ đã được sử dụng trong hệ thống tích hợp
dữ liệu về thông tin trong ngành sinh học.

Hình 2-1: Kiến trúc COMA++

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 24 of 166.


Header Page 25 of 166.

16

Luận văn Th.s: Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch

1.2


SEMINT
SEMINT là hệ thống đối sánh lược đồ dựa trên dữ liệu (instance-based). Nó

bao gồm 15 tiêu chuẩn dựa trên ràng buộc và 5 tiêu chuẩn dựa trên nội dung
(content-based) được hình thành từ các bản ghi dữ liệu và được chuẩn hóa trong
khoảng [0,1], mỗi thuộc tính là một điểm trong một không gian 20 chiều. Đối
sánh lược đồ bằng cách tạo các ánh xạ giữa các phần tử độc lập sử dụng mạng
neuron. SemInt không hỗ trợ đối sánh dựa trên ngôn ngữ.

1.3

LSD
LSD (Learning source description) sử dụng phương pháp composite để kết

hợp các thuật toán đối sánh khác nhau. Nó dựa trên domain cụ thể của lược đồ
tổng thể để so sánh với các lược đồ mới được đối sánh.

Học máy (machine

learning) được sử dụng cho các các thuật toán độc lập và kết hợp các kết quả.
Đối với đối sánh cho thuộc tính name, LSD sử dụng phương pháp đối sánh dựa
trên instance.

1.4

SKAT
SKAT (Semantic knowledge articulation tool) thực hiện đối sánh dựa trên

lược đồ (schema-based) 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.

1.5

TransScm
TransScm sử dụng phương pháp schema-based để thực hiện việc chuyển

đổi dữ liệu. Lược đồ đầu vào (DTD hoặc OODB) đượ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 node 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 node
một với nhau với quy luật là các node cha sẽ cần kết quả đối sánh của các node
con.


Tự động chuyển đổi dữ liệu giữa các lược đồ instance

Ngô Văn Quân, lớp cao học CNTT 2004

Footer Page 25 of 166.


×